乐于分享
好东西不私藏

Claude Code 喂饭级教程:从安装到大型项目改造实战

Claude Code 喂饭级教程:从安装到大型项目改造实战

大家好,我是淡知。

Claude Code是Anthropic官方出的命令行AI编程工具,之前写AI工具横评的时候一直没单独拿出来讲。

最近在项目里深度用了一阵,功能比想象中强很多——安装到大型项目改造到skill扩展

今天一步步讲清楚,保证你跟着做能用上。

一、Claude Code是什么?

简单说:Anthropic官方出的命令行AI编程工具,可以帮你读代码、写代码、改代码、跑命令。

它的核心能力:

  • 直接在你的代码目录里工作
  • 理解整个项目的上下文
  • 帮你修改文件、运行命令、搜索代码
  • 支持skill扩展(类似插件)

对比ChatGPT和Claude网页版,Claude Code的优势是直接在本地跑,能操作你的文件、运行你的项目

二、安装

前置要求

  • Node.js 18+
  • npm(Node.js自带)
  • Anthropic API Key(免费额度用完需要付费)

安装步骤

方式一:npx直接跑(推荐先用这个)

npx @anthropic-ai/claude-code

方式二:全局安装

npm install -g @anthropic-ai/claude-code

安装完成后,直接在终端运行:

claude

配置API Key

Claude Code依赖API Key,支持Anthropic官方Key,也可以接入国产大模型。

配置文件位置(Windows)

Claude Code的配置文件在用户目录下:

C:\Users\Administrator\.claude\settings.json

配置文件示例:以MiniMax为例

{"env": {"API_TIMEOUT_MS""3000000","CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC"1,"ANTHROPIC_API_KEY""sk-cp-你的Key","ANTHROPIC_BASE_URL""https://api.minimaxi.com/anthropic","ANTHROPIC_MODEL""MiniMax-M2.7"    }}

几个关键字段:

  • ANTHROPIC_API_KEY:你的API Key
  • ANTHROPIC_BASE_URL:国产模型接入地址,MiniMax示例是 https://api.minimaxi.com/anthropic
  • ANTHROPIC_MODEL:使用的模型名称,如 MiniMax-M2.7
  • API_TIMEOUT_MS:请求超时时间,单位毫秒

方法1:直接写配置文件(推荐,Windows用户用这个)

在 C:\Users\Administrator\.claude\settings.json 里填入上面的配置,重启Claude Code即可。

方法2:设置环境变量(临时生效,PowerShell)

$env:ANTHROPIC_API_KEY="sk-cp-你的Key"$env:ANTHROPIC_BASE_URL="https://api.minimaxi.com/anthropic"$env:ANTHROPIC_MODEL="MiniMax-M2.7"

方法3:Mac/Linux永久生效

echo'export ANTHROPIC_API_KEY=sk-cp-你的Key' >> ~/.zshrcsource ~/.zshrc

MiniMax API Key在 minimaxi.com 申请。

三、基本用法

进入交互模式

claude

进入后,你会看到提示符,直接输入你想让它做的事:

claude > 分析一下这个项目的结构claude > 帮我加一个登录功能claude > 帮我写单元测试

单次执行(不用交互)

claude -p "帮我看看这个文件有什么问题"

-p 参数表示print模式,不进入交互,直接输出结果。

从上次对话继续

claude -c

-c 会读取当前目录的历史对话记录,继续上次的任务。

四、权限系统(重点)

Claude Code修改文件前需要你授权,这个权限系统是它和普通AI最大的区别。

五种权限模式

模式
说明
auto
(默认)
Claude主动请求权限,你确认后执行
acceptEdits
所有编辑操作自动同意
dontAsk
完全不询问,直接拒绝所有修改
plan
只生成计划,不执行修改
bypassPermissions
跳过所有权限检查(危险⚠️)

指定权限模式运行

claude --permission-mode acceptEdits

权限请求长这样

claude wants to:  Write to: src/utils/auth.js  Reason: Adding JWT token validation functionAllow this action? [y/N/a/y+/a+/n+]
  • y = 同意这次
  • a = 同意这个目录所有后续操作
  • y+ = 本次对话所有后续操作都同意
  • n = 拒绝

跳过权限检查(危险场景)

claude --dangerously-skip-permissions

⚠️ 这个参数会跳过所有确认,生产环境慎用。只建议在CI/CD或自动化脚本里用。

五、大型企业项目改造实战

场景设定

假设我们有一个JavaScript老项目,需要:

  1. 给项目加ESLint代码规范
  2. 把一个旧的回调函数改成Promise风格
  3. 批量注释掉旧的console.log

Step 1:分析项目结构

claude -p "分析这个项目的目录结构,告诉我用了什么框架,主要模块有哪些"

Claude会扫描整个项目,给你一个结构化的分析。

Step 2:给项目加ESLint

claude --permission-mode acceptEdits

进入交互模式后输入:

帮我的项目安装ESLint并配置好,要求:1. 安装 eslint + @eslint/config-array2. 配置规则:禁止console.log,禁止var声明,强制使用const/let3. 在根目录生成 .eslintrc.js 配置文件4. 在 package.json scripts 里加一条 lint 命令

Claude会:

  1. 运行npm install安装依赖
  2. 生成.eslintrc.js配置文件
  3. 修改package.json添加脚本
  4. 自动格式化符合规范的新文件

Step 3:改造回调函数成Promise风格

项目里有一段这样的老代码:

// old-code.jsfunctiongetUserData(userId, callback{    db.query('SELECT * FROM users WHERE id = ?', [userId], function(err, result{if (err) {            callback(err, null);        } else {            callback(null, result);        }    });}

在Claude Code里输入:

找到这个文件中的 getUserData 函数,把回调风格改成 Promise + async/await 风格,并更新所有调用它的地方。

Claude会自动:

  1. 改写函数为Promise风格
  2. 找出所有调用方
  3. 统一改成async/await调用

改完后大概长这样:

// new-code.jsfunctiongetUserData(userId{returnnewPromise((resolve, reject) => {        db.query('SELECT * FROM users WHERE id = ?', [userId], (err, result) => {if (err) reject(err);else resolve(result);        });    });}// 调用方asyncfunctionloadUser() {try {const user = await getUserData(123);console.log(user);    } catch (err) {console.error('加载失败', err);    }}

Step 4:批量处理console.log

输入:

在整个 src 目录下,把所有 console.log 批量注释掉,保留 error 级别的。

Claude会:

  1. 扫描所有文件中的console.log
  2. 逐个确认你要保留哪个
  3. 批量注释掉其他的

六、Skill扩展安装

什么是Skill?

Skill是Claude Code的扩展机制,类似插件,可以自定义AI的行为和工具集。

安装官方Skill

claude --install-skill gitclaude --install-skill bashclaude --install-skill read

安装自定义Skill

Skill本质上是一个JSON配置文件,定义了描述、提示词和可用工具。

创建步骤:

  1. 在项目根目录创建.claude/skills/文件夹
mkdir -p .claude/skills
  1. 创建一个skill配置文件,例如code-review.json
{"name""code-review","description""专门做代码审查的agent","prompt""你是一个资深代码审查员,负责审查代码质量和安全性。你的职责是:1. 检查代码逻辑问题;2. 检查潜在bug;3. 检查安全隐患;4. 提供优化建议。","tools": ["Bash(git *)""Grep""Read""Glob"]}
  1. 在项目根目录创建CLAUDE.md来声明skill:
<!-- claude-code: skills -->## Skillscode-review: 代码审查
  1. 运行时指定skill:
claude --agent code-review

Skill常用工具

工具
说明
Bash
执行命令
Read
读取文件
Edit
编辑文件
Grep
搜索代码
Glob
查找文件
Write
写入文件
NotebookEdit
编辑notebook

七、实战案例:改造一个完整项目

任务描述

把一个普通前端项目,改造成支持TypeScript + ESLint + Prettier的规范化项目。

完整操作步骤

Step 1:进入项目目录

cd your-projectclaude

Step 2:安装TypeScript

帮我在项目里添加TypeScript,要求:1. 安装 typescript @typescript eslint/parser2. 生成 tsconfig.json,target是ES2020,strict模式开启3. 把 package.json 里 scripts 的启动命令改成用 ts-node 运行

Step 3:加ESLint

加上ESLint配置,要求:1. 禁止 console.log2. 强制分号结尾3. 缩进2个空格4. 配置 @typescript-eslint/parser

Step 4:加Prettier

加上Prettier格式化配置,要求:1. 安装 prettier eslint-config-prettier2. 配置文件 .prettierrc:单引号、不加分号、宽度1003. 在package.json加 format 命令

Step 5:批量修复类型错误

扫描整个src目录,找出所有TypeScript类型错误并修复,不要改变代码逻辑。

Step 6:提交代码

用 git 提交这些改动,要求:1. 先 git status 看看改了哪些文件2. commit message 格式:feat: 升级项目到TypeScript + ESLint + Prettier

八、常见问题

Q1:第一次运行卡住了

可能是API Key配置问题,检查一下:

echo$ANTHROPIC_API_KEY

确认Key有效,没有过期。

Q2:修改文件被拒绝

确认你以正确的权限模式运行:

claude --permission-mode acceptEdits

或者手动确认每次权限请求。

Q3:项目目录访问不了

Claude Code默认只能访问当前目录和子目录,如果需要访问其他目录:

claude --add-dir /path/to/another/project

Q4:中文输出乱码

设置环境变量:

export LANG=en_US.UTF-8

Q5:Skill不生效

检查CLAUDE.md文件格式是否正确,skill配置JSON的name字段要唯一。

九、配置推荐

在项目根目录创建CLAUDE.md,可以给Claude Code默认指令:

# Claude Code 项目配置## 项目类型React + TypeScript 前端项目## 代码规范使用 TypeScript strict 模式ESLint 规则:no-console, semi, 2-space indent优先使用 const,禁用 var## 常用命令开发:npm run dev构建:npm run build格式化:npm run format## 注意事项修改前先确认文件路径大改动用plan模式先看计划

最后说两句

Claude Code本质是一个本地化的AI编程助手,它不仅能帮你那些机械、重复、耗时的活干快点,更能帮你写代码。

对于Java开发来说,它能帮你写脚本、调接口、看代码库;对于前端项目,它能帮你批量改配置、加规范、做迁移。

上手的关键就一件事:敢让它去干,看它怎么做,改它的输出就行。

好了,今天的分享先到这里,我是淡知,下期见。