Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude/skills/interview/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: interview
description: "Interview me about my requirements"
description: "通过深入提问来了解我的需求"
---

Analyze these requirements "$ARGUMENTS" and interview me in detail using the AskUserQuestionTool about literally anything: technical implementation, UI & UX, concerns, tradeoffs, etc. but make sure the questions are not obvious.
Expand Down
2 changes: 1 addition & 1 deletion .claude/skills/teach-me/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: teach-me
description: "Personalized 1-on-1 AI tutor. Diagnoses level, builds learning path, teaches via guided questions, tracks misconceptions. Use when user wants to learn/study/understand a topic, says 'teach me', 'help me understand', or invokes /teach-me."
description: "个性化一对一 AI 导师。诊断水平、制定学习路径、通过引导式提问教学、追踪误解。当用户想要学习/研究/理解某个主题时说 'teach me''help me understand' 或调用 /teach-me 时使用。"
---

# Teach Me
Expand Down
456 changes: 456 additions & 0 deletions COMMANDS.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src/commands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ import stats from './commands/stats/index.js'
const usageReport: Command = {
type: 'prompt',
name: 'insights',
description: 'Generate a report analyzing your Claude Code sessions',
description: '生成分析 Claude Code 会话的报告',
contentLength: 0,
progressMessage: 'analyzing your sessions',
source: 'builtin',
Expand Down
2 changes: 1 addition & 1 deletion src/commands/add-dir/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type { Command } from '../../commands.js'
const addDir = {
type: 'local-jsx',
name: 'add-dir',
description: 'Add a new working directory',
description: '添加一个新的工作目录',
argumentHint: '<path>',
load: () => import('./add-dir.js'),
} satisfies Command
Expand Down
2 changes: 1 addition & 1 deletion src/commands/advisor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ const call: LocalCommandCall = async (args, context) => {
const advisor = {
type: 'local',
name: 'advisor',
description: 'Configure the advisor model',
description: '配置顾问模型',
argumentHint: '[<model>|off]',
isEnabled: () => canUserConfigureAdvisor(),
get isHidden() {
Expand Down
2 changes: 1 addition & 1 deletion src/commands/agents/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type { Command } from '../../commands.js'
const agents = {
type: 'local-jsx',
name: 'agents',
description: 'Manage agent configurations',
description: '管理智能体配置',
load: () => import('./agents.js'),
} satisfies Command

Expand Down
2 changes: 1 addition & 1 deletion src/commands/branch/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ const branch = {
name: 'branch',
// 'fork' alias only when /fork doesn't exist as its own command
aliases: feature('FORK_SUBAGENT') ? [] : ['fork'],
description: 'Create a branch of the current conversation at this point',
description: '在当前位置创建当前对话的分支',
argumentHint: '[name]',
load: () => import('./branch.js'),
} satisfies Command
Expand Down
2 changes: 1 addition & 1 deletion src/commands/bridge-kick.ts
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ const call: LocalCommandCall = async args => {
const bridgeKick = {
type: 'local',
name: 'bridge-kick',
description: 'Inject bridge failure states for manual recovery testing',
description: '注入桥接故障状态以进行手动恢复测试',
isEnabled: () => process.env.USER_TYPE === 'ant',
supportsNonInteractive: false,
load: () => Promise.resolve({ call }),
Expand Down
2 changes: 1 addition & 1 deletion src/commands/bridge/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ const bridge = {
type: 'local-jsx',
name: 'remote-control',
aliases: ['rc'],
description: 'Connect this terminal for remote-control sessions',
description: '连接此终端以进行远程控制会话',
argumentHint: '[name]',
isEnabled,
get isHidden() {
Expand Down
2 changes: 1 addition & 1 deletion src/commands/brief.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ function getBriefConfig(): BriefConfig {
const brief = {
type: 'local-jsx',
name: 'brief',
description: 'Toggle brief-only mode',
description: '切换简短模式',
isEnabled: () => {
if (feature('KAIROS') || feature('KAIROS_BRIEF')) {
return getBriefConfig().enable_slash_command
Expand Down
2 changes: 1 addition & 1 deletion src/commands/btw/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ const btw = {
type: 'local-jsx',
name: 'btw',
description:
'Ask a quick side question without interrupting the main conversation',
'快速提问而不中断主对话',
immediate: true,
argumentHint: '<question>',
load: () => import('./btw.js'),
Expand Down
2 changes: 1 addition & 1 deletion src/commands/buddy/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { isBuddyLive } from '../../buddy/useBuddyNotification.js'
const buddy = {
type: 'local-jsx',
name: 'buddy',
description: 'Hatch a coding companion · pet, off',
description: '孵化一个编程伴侣 · 宠物,关闭',
argumentHint: '[pet|off]',
immediate: true,
get isHidden() {
Expand Down
2 changes: 1 addition & 1 deletion src/commands/chrome/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type { Command } from '../../commands.js'

const command: Command = {
name: 'chrome',
description: 'Claude in Chrome (Beta) settings',
description: 'Chrome 中的 Claude 设置(Beta',
availability: [],
isEnabled: () => !getIsNonInteractiveSession(),
type: 'local-jsx',
Expand Down
2 changes: 1 addition & 1 deletion src/commands/clear/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import type { Command } from '../../commands.js'
const clear = {
type: 'local',
name: 'clear',
description: 'Clear conversation history and free up context',
description: '清除对话历史并释放上下文',
aliases: ['reset', 'new'],
supportsNonInteractive: false, // Should just create a new session
load: () => import('./clear.js'),
Expand Down
2 changes: 1 addition & 1 deletion src/commands/color/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import type { Command } from '../../commands.js'
const color = {
type: 'local-jsx',
name: 'color',
description: 'Set the prompt bar color for this session',
description: '设置此会话的提示栏颜色',
immediate: true,
argumentHint: '<color|default>',
load: () => import('./color.js'),
Expand Down
2 changes: 1 addition & 1 deletion src/commands/commit-push-pr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ Return the PR URL when you're done, so the user can see it.`
const command = {
type: 'prompt',
name: 'commit-push-pr',
description: 'Commit, push, and open a PR',
description: '提交、推送并打开 PR',
allowedTools: ALLOWED_TOOLS,
get contentLength() {
// Use 'main' as estimate for content length calculation
Expand Down
2 changes: 1 addition & 1 deletion src/commands/commit.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ You have the capability to call multiple tools in a single response. Stage and c
const command = {
type: 'prompt',
name: 'commit',
description: 'Create a git commit',
description: '创建 Git 提交',
allowedTools: ALLOWED_TOOLS,
contentLength: 0, // Dynamic content
progressMessage: 'creating commit',
Expand Down
2 changes: 1 addition & 1 deletion src/commands/compact/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ const compact = {
type: 'local',
name: 'compact',
description:
'Clear conversation history but keep a summary in context. Optional: /compact [instructions for summarization]',
'清除对话历史但在上下文中保留摘要。可选:/compact [摘要说明]',
isEnabled: () => !isEnvTruthy(process.env.DISABLE_COMPACT),
supportsNonInteractive: true,
argumentHint: '<optional custom summarization instructions>',
Expand Down
2 changes: 1 addition & 1 deletion src/commands/config/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ const config = {
aliases: ['settings'],
type: 'local-jsx',
name: 'config',
description: 'Open config panel',
description: '打开配置面板',
load: () => import('./config.js'),
} satisfies Command

Expand Down
4 changes: 2 additions & 2 deletions src/commands/context/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type { Command } from '../../commands.js'

export const context: Command = {
name: 'context',
description: 'Visualize current context usage as a colored grid',
description: '将当前上下文使用情况可视化为彩色网格',
isEnabled: () => !getIsNonInteractiveSession(),
type: 'local-jsx',
load: () => import('./context.js'),
Expand All @@ -13,7 +13,7 @@ export const contextNonInteractive: Command = {
type: 'local',
name: 'context',
supportsNonInteractive: true,
description: 'Show current context usage',
description: '显示当前上下文使用情况',
get isHidden() {
return !getIsNonInteractiveSession()
},
Expand Down
2 changes: 1 addition & 1 deletion src/commands/copy/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ const copy = {
type: 'local-jsx',
name: 'copy',
description:
"Copy Claude's last response to clipboard (or /copy N for the Nth-latest)",
'复制 Claude 的上一条响应到剪贴板(或 /copy N 获取倒数第 N 条)',
load: () => import('./copy.js'),
} satisfies Command

Expand Down
2 changes: 1 addition & 1 deletion src/commands/cost/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { isClaudeAISubscriber } from '../../utils/auth.js'
const cost = {
type: 'local',
name: 'cost',
description: 'Show the total cost and duration of the current session',
description: '显示当前会话的总成本和持续时间',
get isHidden() {
// Keep visible for Ants even if they're subscribers (they see cost breakdowns)
if (process.env.USER_TYPE === 'ant') {
Expand Down
2 changes: 1 addition & 1 deletion src/commands/desktop/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ const desktop = {
type: 'local-jsx',
name: 'desktop',
aliases: ['app'],
description: 'Continue the current session in Claude Desktop',
description: 'Claude Desktop 中继续当前会话',
availability: ['claude-ai'],
isEnabled: isSupportedPlatform,
get isHidden() {
Expand Down
2 changes: 1 addition & 1 deletion src/commands/diff/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ import type { Command } from '../../commands.js'
export default {
type: 'local-jsx',
name: 'diff',
description: 'View uncommitted changes and per-turn diffs',
description: '查看未提交的更改和每轮对话的差异',
load: () => import('./diff.js'),
} satisfies Command
2 changes: 1 addition & 1 deletion src/commands/doctor/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { isEnvTruthy } from '../../utils/envUtils.js'

const doctor: Command = {
name: 'doctor',
description: 'Diagnose and verify your Claude Code installation and settings',
description: '诊断并验证 Claude Code 安装和设置',
isEnabled: () => !isEnvTruthy(process.env.DISABLE_DOCTOR_COMMAND),
type: 'local-jsx',
load: () => import('./doctor.js'),
Expand Down
2 changes: 1 addition & 1 deletion src/commands/effort/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { shouldInferenceConfigCommandBeImmediate } from '../../utils/immediateCo
export default {
type: 'local-jsx',
name: 'effort',
description: 'Set effort level for model usage',
description: '设置模型使用的 effort 级别',
argumentHint: '[low|medium|high|max|auto]',
get immediate() {
return shouldInferenceConfigCommandBeImmediate()
Expand Down
2 changes: 1 addition & 1 deletion src/commands/exit/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ const exit = {
type: 'local-jsx',
name: 'exit',
aliases: ['quit'],
description: 'Exit the REPL',
description: '退出 REPL',
immediate: true,
load: () => import('./exit.js'),
} satisfies Command
Expand Down
2 changes: 1 addition & 1 deletion src/commands/export/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type { Command } from '../../commands.js'
const exportCommand = {
type: 'local-jsx',
name: 'export',
description: 'Export the current conversation to a file or clipboard',
description: '将当前对话导出到文件或剪贴板',
argumentHint: '[filename]',
load: () => import('./export.js'),
} satisfies Command
Expand Down
4 changes: 2 additions & 2 deletions src/commands/extra-usage/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ function isExtraUsageAllowed(): boolean {
export const extraUsage = {
type: 'local-jsx',
name: 'extra-usage',
description: 'Configure extra usage to keep working when limits are hit',
description: '配置额外使用量,当达到限制时继续工作',
isEnabled: () => isExtraUsageAllowed() && !getIsNonInteractiveSession(),
load: () => import('./extra-usage.js'),
} satisfies Command
Expand All @@ -22,7 +22,7 @@ export const extraUsageNonInteractive = {
type: 'local',
name: 'extra-usage',
supportsNonInteractive: true,
description: 'Configure extra usage to keep working when limits are hit',
description: '配置额外使用量,当达到限制时继续工作',
isEnabled: () => isExtraUsageAllowed() && getIsNonInteractiveSession(),
get isHidden() {
return !getIsNonInteractiveSession()
Expand Down
2 changes: 1 addition & 1 deletion src/commands/feedback/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ const feedback = {
aliases: ['bug'],
type: 'local-jsx',
name: 'feedback',
description: `Submit feedback about Claude Code`,
description: `提交关于 Claude Code 的反馈`,
argumentHint: '[report]',
isEnabled: () =>
!(
Expand Down
2 changes: 1 addition & 1 deletion src/commands/files/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type { Command } from '../../commands.js'
const files = {
type: 'local',
name: 'files',
description: 'List all files currently in context',
description: '列出当前上下文中的所有文件',
isEnabled: () => process.env.USER_TYPE === 'ant',
supportsNonInteractive: true,
load: () => import('./files.js'),
Expand Down
2 changes: 1 addition & 1 deletion src/commands/heapdump/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type { Command } from '../../commands.js'
const heapDump = {
type: 'local',
name: 'heapdump',
description: 'Dump the JS heap to ~/Desktop',
description: 'JS 堆转储到 ~/Desktop',
isHidden: true,
supportsNonInteractive: true,
load: () => import('./heapdump.js'),
Expand Down
2 changes: 1 addition & 1 deletion src/commands/help/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type { Command } from '../../commands.js'
const help = {
type: 'local-jsx',
name: 'help',
description: 'Show help and available commands',
description: '显示帮助和可用命令',
load: () => import('./help.js'),
} satisfies Command

Expand Down
2 changes: 1 addition & 1 deletion src/commands/hooks/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type { Command } from '../../commands.js'
const hooks = {
type: 'local-jsx',
name: 'hooks',
description: 'View hook configurations for tool events',
description: '查看工具事件的钩子配置',
immediate: true,
load: () => import('./hooks.js'),
} satisfies Command
Expand Down
2 changes: 1 addition & 1 deletion src/commands/ide/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type { Command } from '../../commands.js'
const ide = {
type: 'local-jsx',
name: 'ide',
description: 'Manage IDE integrations and show status',
description: '管理 IDE 集成并显示状态',
argumentHint: '[open]',
load: () => import('./ide.js'),
} satisfies Command
Expand Down
2 changes: 1 addition & 1 deletion src/commands/init-verifiers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ const command = {
type: 'prompt',
name: 'init-verifiers',
description:
'Create verifier skill(s) for automated verification of code changes',
'创建验证器技能以自动验证代码更改',
contentLength: 0, // Dynamic content
progressMessage: 'analyzing your project and creating verifier skills',
source: 'builtin',
Expand Down
4 changes: 2 additions & 2 deletions src/commands/init.ts
Original file line number Diff line number Diff line change
Expand Up @@ -230,8 +230,8 @@ const command = {
return feature('NEW_INIT') &&
(process.env.USER_TYPE === 'ant' ||
isEnvTruthy(process.env.CLAUDE_CODE_NEW_INIT))
? 'Initialize new CLAUDE.md file(s) and optional skills/hooks with codebase documentation'
: 'Initialize a new CLAUDE.md file with codebase documentation'
? '使用代码库文档初始化新的 CLAUDE.md 文件和可选的技能/钩子'
: '使用代码库文档初始化新的 CLAUDE.md 文件'
},
contentLength: 0, // Dynamic content
progressMessage: 'analyzing your codebase',
Expand Down
2 changes: 1 addition & 1 deletion src/commands/insights.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3039,7 +3039,7 @@ function safeKeys(obj: Record<string, unknown> | undefined | null): string[] {
const usageReport: Command = {
type: 'prompt',
name: 'insights',
description: 'Generate a report analyzing your Claude Code sessions',
description: '生成分析 Claude Code 会话的报告',
contentLength: 0, // Dynamic content
progressMessage: 'analyzing your sessions',
source: 'builtin',
Expand Down
2 changes: 1 addition & 1 deletion src/commands/install-github-app/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { isEnvTruthy } from '../../utils/envUtils.js'
const installGitHubApp = {
type: 'local-jsx',
name: 'install-github-app',
description: 'Set up Claude GitHub Actions for a repository',
description: '为仓库设置 Claude GitHub Actions',
availability: ['claude-ai', 'console'],
isEnabled: () => !isEnvTruthy(process.env.DISABLE_INSTALL_GITHUB_APP_COMMAND),
load: () => import('./install-github-app.js'),
Expand Down
2 changes: 1 addition & 1 deletion src/commands/install-slack-app/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type { Command } from '../../commands.js'
const installSlackApp = {
type: 'local',
name: 'install-slack-app',
description: 'Install the Claude Slack app',
description: '安装 Claude Slack 应用',
availability: ['claude-ai'],
supportsNonInteractive: false,
load: () => import('./install-slack-app.js'),
Expand Down
2 changes: 1 addition & 1 deletion src/commands/install.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,7 @@ function Install({ onDone, force, target }: InstallProps): React.ReactNode {
export const install = {
type: 'local-jsx' as const,
name: 'install',
description: 'Install Claude Code native build',
description: '安装 Claude Code 原生构建',
argumentHint: '[options]',
async call(
onDone: (
Expand Down
2 changes: 1 addition & 1 deletion src/commands/keybindings/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { isKeybindingCustomizationEnabled } from '../../keybindings/loadUserBind

const keybindings = {
name: 'keybindings',
description: 'Open or create your keybindings configuration file',
description: '打开或创建快捷键配置文件',
isEnabled: () => isKeybindingCustomizationEnabled(),
supportsNonInteractive: false,
type: 'local',
Expand Down
Loading