Claude Code 实战入门(一):安装、三层配置、以及 # @ /init 这一组

把 Claude Code 装好、理解 settings.json 的三层覆盖、学会三个低调但极强的原语:# 写入上下文、@ 引用文件、/init 生成项目记忆文件。

这是六篇实战入门的第一篇。顺序是有讲究的:每一篇打开下一篇。读完你会用上 90% 用户从来不碰的六个特性。

安装

当下唯一受支持的安装方式,刚好也是对的:

1
curl -fsSL https://claude.ai/install.sh | bash

它把 claude 二进制放进 ~/.local/bin/(Linux/Mac)。加进 PATH 后:

1
2
3
claude --version
# claude-code 0.2.x
claude login

登录走浏览器授权,token 存在 ~/.claude/auth.json~/.zshrc 里没有可被泄漏的 API Key——值得一提,因为大多数"AI CLI"工具在这一点上做错。

跑起来

cd 进一个真实项目:

1
claude

得到一个交互 Prompt。试一句确认安装:

> 这个目录里都有什么?

Claude 会用自己的工具 ls、总结、回复。如果跑通了,安装完成。

三层配置

这是大多数用户从不读的部分。Claude Code 从三处合并配置,优先级递增:

路径进 git?用途
Machine~/.claude/settings.json个人全局偏好
Project<repo>/.claude/settings.json团队共享的项目约定
Local<repo>/.claude/settings.local.json否(应进 .gitignore)你在本仓库的私有覆盖

为什么是三层不是两层?因为有些设置是"个人 + 全局"(默认模型、编辑器命令),有些是"团队 + 共享"(项目用的 linter、测试命令),有些是"个人 + 项目内"(你自己的 staging 环境 Key)。

具体例子。我的全局 ~/.claude/settings.json

1
2
3
4
{
  "model": "claude-opus-4-7",
  "editor": "code"
}

某项目的 .claude/settings.json(已提交):

1
2
3
4
5
6
7
8
9
{
  "permissions": {
    "allow": ["Bash(npm test)", "Bash(npm run lint)"],
    "deny": ["Bash(rm -rf *)"]
  },
  "tools": {
    "test_command": "npm test"
  }
}

队友的 .claude/settings.local.json(仅本机):

1
2
3
4
5
6
{
  "model": "claude-sonnet-4-7",
  "env": {
    "STAGING_API_KEY": "sk-..."
  }
}

合并下来:队友拿到的是项目级权限和测试命令,但用了自己偏好的模型和自己的 staging Key。听起来理所应当;我见过整支团队推广时栽在这上面。

#——写入上下文

行首打 #,后面的内容会被追加到项目的记忆文件 CLAUDE.md,而不是被当作 Prompt 发送。例:

# 在这个仓库里永远不要用 yarn——只用 npm。

Claude 不回话,它打开编辑器、把这一行写到 CLAUDE.md、保存。下一次会话开始时这一行已经在上下文里。

这是我避免重复解释偏好的方式。“写 Python 时用 type hints”、“commit message 不要 emoji”、“CI 是 GitHub Actions 不是 GitLab”——每条都是一行 #,永久生效。

@——引用文件

@ 出来一个模糊文件选择器。选中之后这个文件附加到下一条消息:

@src/router.ts
解释一下路由匹配器对结尾斜杠的处理

文件作为工具结果发送,不是粘进你的 Prompt。意思是:你可以附 2000 行的文件而不影响 Prompt 可读性。

/init——bootstrap 项目记忆

每个 Repo 跑一次 /init。Claude 读代码,生成 CLAUDE.md,里面包括:

  • 项目是做什么的
  • 用了哪些语言和框架
  • 构建/测试/Lint 命令
  • 主要目录及其用途
  • Claude 能识别出来的约定(commit 风格、测试命名等)

然后你编辑它。重点不是它生成的初稿完美——它不完美。重点是你 30 秒得到一个起点,而不是 30 分钟。

生成的 CLAUDE.md 提交进仓库。每个队友的 Claude Code 会话都从它开始。这是项目共享心智模型的方式。

我每个新 Repo 上做的

  1. claude 打开
  2. /init 生成记忆文件
  3. 编辑 CLAUDE.md,加 3-5 条具体约定
  4. .claude/settings.json,里面写好测试/lint 的权限
  5. .claude/settings.local.json 加进 .gitignore
  6. commit、继续干活

5 分钟。任何时候我或队友再次用 Claude Code 打开这个仓库,都立刻收到回报。

下一篇讲快捷键和那个所有人都漏掉的"四态切换"。

翻完了?

去 GitHub 关注一下,新一篇通常隔一周就到。

GitHub