上一期30分钟快速入门claude code,极简项目实操流程(喂饭级别)咱们了解了claude code的基本操作,这次我们稍微深入一点,试着手动设置CLAUDE.md内的规则,看看CLAUDE.md的具体影响。然后做一次简单的实操,让AI写一个五子棋小游戏,让它自动发布到gitHub。
claude code的上下文
claude code其实自带一部分系统提示词,这些提示词作为基础部分,会被自动注入到上下文当中,之后就是CLAUDE.md文件中,我们自定义的规则。当然,claude code还会在上下文中注入其它的内容,但今天我们不讨论这部分。
CLAUDE.md内容设置
根据claude code官方的资料,CLAUDE.md内如果规则太多,系统提示词内的设定会让AI自动忽略我们写的规则。所以我们在CLAUDE.md内写的规则不宜过多。
所以,CLAUDE.md其实是一个很特殊的文件,它介于系统提示词和用户提示词之间。那么我们在CLAUDE.md中写点什么规则比较好呢?
一般来说,CLAUDE.md中可以设置这些东西:
- 常用的bash命令,也就是需要让AI来调用的命令行工具(软件)
- 项目、模块的核心文件和函数
- 代码风格指南
- 测试说明
- 代码库规范(例如:分支规范,合并与变量等等)
- 开发环境设置(例如:pyenv使用、哪些编译器有效)
- 项目特有的任何意外行为或警告
- 其它任何希望claude记住的信息 CLAUDE.md中没有特定格式要求,只要保证人类可读性即可,比如今天我们等下实操要用到的规则,可以给大家做一个参考:
# bash命令- npm run build: 构建项目- npm run typecheck: 运行类型检查器# 代码风格- 使用ES模块(import/export)语法,而不是CommonJS(require)- 尽可能使用结构导入(例如 import from 'bar')# 工作流程- 在完成一些了代码更改后务必进行类型检查- 为了性能考虑,有限运行单个测试,而不是整个测试套件
这只是个极简的范例,在实际的开发项目中,规则数量不会这么少,但是大体结构类似。
撰写、调整CLAUDE.md文件内容
如果我们没有什么思路,或者对当前项目没什么概念,可以先让AI来生成规则,多次迭代后形成自己的一套规则库。
导入这些规则也很简单,如果项目中暂时还没有创建CLAUDE.md文件,可以在claude code中输入符号:#,进入记忆编辑模式,然后复制粘贴即可。
回车确认后会有两个选项
- 在当前项目根目录中创建CLAUDE.md并写入上面的内容
- 保存到全局规则文件中,文件位置在:~/.claude/CLAUDE.md
注意:
- 用这种方式写入规则,只能在CLAUDE.md文件末尾追加内容。这个过程就是极为简单的对文件写入过程,中间不通过AI大模型,所以没有智能化的功能,一般在第一次建立规则的时候使用。
- 如果想要对插入的规则有智能化操作,或者其它高级要求,可以直接输入提示词,要求AI对CLAUDE.md进行操作。一般在后续对规则进行增补、修改的时候使用。
- 在调整这些规则时,可以添加“重要”或“必须”等词语,对某些规则进行强调,以提高AI对规则的遵循度。
管理claude的允许工具列表
默认情况下,claude code在文件写入、执行bash命令,MCP工具调用等等操作时,会我们申请操作权限。
我们可以自定义允许操作的列表,事先给claude code安排好操作权限。为了安全考虑,建议只给容易撤销的、安全的操作或者工具调用授权,比如:文件编辑、git commit相关命令等。
管理权限的方法有四种:
- 当claude code在会话期间出现提示时,选择“始终允许”,一般是第二个选项"yes, don't ask again ......"。选择这个选项后,claude code会自动把当前操作的工具或者命令写到允许列表里面。
- 使用 /permissions 命令,启动列表的管理工具。claude code会询问我们:把这条规则放在影响全局的配置文件中还是只影响本项目的配置文件中。
- 手动编辑 .claude/setting.json 或 ~/.claude.json。
- 使用 --allowedTools CLI命令行工具进行权限设置。
30分钟代码编写和发布实操
建立CLAUDE.md文件
启动claude code后,输入# 后直接粘贴以下规则:
# bash命令- npm run build: 构建项目- npm run typecheck: 运行类型检查器# 代码风格- 使用ES模块(import/export)语法,而不是CommonJS(require)- 尽可能使用结构导入(例如 import from 'bar')# 工作流程- 在完成一些了代码更改后务必进行类型检查- 为了性能考虑,有限运行单个测试,而不是整个测试套件
回车确认后,claude code会弹出询问,问我们需要把规则保存到哪里:
由于这些规则只适用于本项目的,所以这里我们选第二项。claude code直接在项目目录中创建了一个CLAUDE.md文件,并把这些规则写入到了文件里面。
追加规则
接下来我们尝试在CLAUDE.md中追加一条规则:
代码加上中文注释
刚才说过,我们有几种方法追加规则。
方法一:
输入#后,直接输入要追加规则,让我们看看效果如何。
可以看到,这个方法只会直接在CLAUDE.md文件的末尾追加我们输入的规则,非常机械死板。
方法二:
输入提示词,让AI帮我们处理。
效果不错,不是吗?看起来,我们以后想要追加一些规则的时候,首选的方法是让AI来做,这样效果更好。
有的小伙伴肯定会说,这样子还不如直接用文本编辑器编辑CLAUDE.md文件呢。
确实,如果只需要修改非常少的内容,直接编辑CLAUDE.md肯定是最好的做法。
然而当我们有很多规则需要修改,或者添加规则的时候,需要检查规则之间是否有冲突的时候,让AI来帮**作和检查就十分有必要了。
按照规则创建五子棋游戏
现在我们让AI来写一个简单的小游戏,测试一下刚才设置的规则是否起效:
按照CLAUDE.md中的规则,帮我生成一个网页版的五子棋游戏
这个小程序比较简单,AI很快就完成了代码的编写
让我们查看一下,代码是否符合我们设置的规则。
可以看到,代码风格完全遵守了我们之前在CLAUDE.md中设置的规则,说明我们在CLAUDE.md中写入的规则确实被AI识别并遵循了。
实际测试了一下,游戏运行起来也很正常,代码编写的部分就完成了。
自动推送代码到gitHub
有些小伙伴可能不知道gitHub是什么,简单介绍一下,GitHub是全球最大的代码托管平台和仓库,用于开发者协作、项目共享和版本控制,同时也是开源社区的核心。
接下来我们让AI来替我们把刚刚写好的代码推送到gitHub上,这样子我们以后就不用手动操作代码托管了。而且让AI来做这件事情,也会提高项目的安全性,毕竟现在的AI有时候会抽风乱改代码,如果我们能够让AI自己定时推送代码到gitHub的仓库里,也能多一种备份纠错的手段不是吗?
gitHub官方有一款很方便的命令行工具:gh CLI,claude code可以调用它来实现自动推送的功能,接下来让我们来试试。
初始化git仓库
第一步当然是初始化git仓库了,当然,所有一切的前提是先安装好git,对此不太了解的小伙伴可以参考这篇文章:啊?就要第一版?实测新款AI编程神器claude code 2,人人都能当无良产品经理
先让AI来帮我们把本项目初始化为git仓库,只要输入提示词就行了(用户名和邮件地址请改成自己的):
帮我初始化git仓库,不使用在线仓库。用户名:dexterlu,email:
中间还有个小插曲,我发现AI很长时间未完成初始化任务,于是催促了它一下。然后它就突然醒过来,马上完成了任务。看来我们以后如果发现AI在一个任务中卡住了,可以尝试对它进行催促。
这里AI会提出操作申请审核,这里选第二项的效果,就和前面提到的使用/permissions命令一样,把当前的命令添加到自动允许的列表中去。
查看一下相关的配置文件~.claude/setting.json,claude code果然在里面新增加了相关的条目。
当然,直接修改这个文件也能起到同样的效果,我们并非只能通过刚才的菜单选项或者使用/permissions命令才能控制claude code的操作命令权限。
言归正传,让我们试试gitHub的命令行工具。
安装gitHub命令行工具
安装方法有好几种,大家可以自己尝试一下。
比较偷懒的办法,可以让AI来帮我们安装:
帮我安装gh CLI
也可以自己在命令终端,用这个命令手动安装:
winget install --id GitHub.cli
gitHub网站也提供下载安装包,可以自行下载后安装:
安装包地址:https://github.com/cli/cli/releases/tag/v2.83.1
找到windows amd64版本下载链接,千万不要手滑下载下面那个arm64版本的。
你如果用的是suface平板电脑,那就当我没说过这话ʅ(´◔౪◔)ʃ
特别注意:不论是让AI来安装,还是手动安装,安装完毕后,务必关闭claude code正在运行的终端,然后再重新打开终端和claude code。
不重启终端的话,会显示找不到刚刚安装的工具。
因为gh CLI工具会自动设置windows环境变量,需要重启终端后才能起效。
AI虽然可以帮我们成功安装gh CLI,但是它也会受制于windows的这个特性。
重启终端后,输入命令:
gh --version
如果能够看到版本号,说明安装成功,否则请检查环境变量是否被正确设置。
授权登录gitHub
接下来我们需要给gh CLI配置权限,让它用自己的github账号登录。
如果没有gitHub账号的话,马上去注册一个,免费的。
在终端输入这个命令:
gh auth login
之后,gh CLI会询问我们几个问题,这里根据我们自己的实际情况选择就行。
最后让我们按回车键,gh CLI会自动打开浏览器,让我们登录gitHub,并让我们输入验证码。
授权之后,如果终端的显示类似这样,就说明成功了。
让claude code使用gh CLI提交项目
在我们把代码上传到gitHub之前,先让AI来帮我识别不需要提交上传的文件:
帮我生成git仓库中的忽略提交文件
AI会帮我们扫描整个项目,生成.gitignore文件
之后我们就可以让AI来调用刚刚安装的gh CLI工具,把这个五子棋游戏项目推送到我们在gitHub的仓库中了。
使用gh工具,把本项目推送到gitHub上
很快,AI就成功帮我们把项目推送到gitHub仓库中了
有的小伙伴也许已经发现了,我忘记在项目中写readme文件了。关于readme文件的编写和推送到仓库的办法,大家应该想到怎么做了,对吧(*´∀ *ˋ)
写在最后
用AI来开发项目,最重要的就是时刻保证有防御机制。
毕竟现在的AI写代码问题倒是不大,最惊险的是在它修bug的时候。
随着修改轮次的增多,AI有可能会越改越糟糕,也有可能一开始就选择了错误的修改方案。
所以每次修改bug之前,让AI自动推送当前的代码到gitHub仓库的行为,就好比我们打游戏的时候有自动存档一样让人安心。
这次的开发实操,其实我就经历了这样的情况。由于操作过程太长,这部分操作也超出了初级概念,所以我没有写出来。
当然大家也不要担心,一般来说这种简单的项目出错概率比较小,我只不过是运气不太好,碰到了小概率事件。
但是这种防灾概念还是挺有用的,也确实能让大家用AI开发项目的过程顺利一点。
希望这次的内容能够帮助到大家。
当然,我也希望各大供应商能够把这种功能内化在AI模型当中,毕竟每次都需要人为设定规则或者流程来实现自动存档,总是不太方便,还有翻车的可能。
新手小白很有可能会在这个小细节上掉进坑里,比如我以前刚刚接触AI编程的时候就掉坑里过,说多了都是泪啊( ´•̥̥̥ω•̥̥̥` )
毕竟,AI是用来为人服务的,而这个功能真的是大家需要的。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/244036.html