Compare commits

...

8 Commits
v1.0.1 ... v2

Author SHA1 Message Date
claude-code-best
b32dd4549d fix: 修复构建问题 2026-04-01 09:58:26 +08:00
claude-code-best
0135ad99ad chore: 更新 lock 文件 2026-04-01 09:54:12 +08:00
claude-code-best
9018c7afdb Merge branch 'feature/prod' 2026-04-01 09:53:21 +08:00
claude-code-best
ce2f19cc48 Merge pull request #5 from claude-code-best/feature/prod
docs: mintlify 文档撰写
2026-04-01 09:29:58 +08:00
claude-code-best
c57f5a29e8 Merge pull request #4 from claude-code-best/feature/prod
Feature/prod
2026-04-01 09:05:04 +08:00
claude-code-best
8f6800f508 Create SECURITY.md 2026-04-01 08:54:08 +08:00
claude-code-best
04c8ef2ecc docs: 调整样式 2026-03-31 23:21:54 +00:00
claude-code-best
b759df5b0e docs: 继续更新 2026-03-31 23:20:33 +00:00
4 changed files with 41 additions and 15 deletions

View File

@@ -1,16 +1,22 @@
# Claude Code V1
# Claude Code Best V1 (CCB)
Anthropic 官方 [Claude Code](https://docs.anthropic.com/en/docs/claude-code) CLI 工具的源码反编译/逆向还原项目。目标是将 Claude Code 大部分功能及工程化能力复现。
Anthropic 官方 [Claude Code](https://docs.anthropic.com/en/docs/claude-code) CLI 工具的源码反编译/逆向还原项目。目标是将 Claude Code 大部分功能及工程化能力复现。虽然很难绷, 但是它叫做 CCB(踩踩背)...
> V1 会完成跑通及基本的类型检查通过;
>
> V2 会完整实现工程化配套设施;
>
> V3 会实现多层级解耦, 很多比如 UI 包, Agent 包都可以独立优化;
>
> V4 会完成大量的测试文件, 以提高稳定性
>
> 我不知道这个项目还会存在多久, fork 不好使, git clone 或者下载 .zip 包才稳健;
>
> 这个项目更新很快, 后台有 Opus 持续优化, 所以你可以提 issues, 但是 PR 暂时不会接受;
>
> 存活记录:
> 开源后 12 小时: 愚人节, star 破 1k, 并且牢 A 没有发邮件搞这个项目
>
> 如果你想要私人咨询服务, 那么可以发送邮件到 claude-code-best@proton.me, 备注咨询与联系方式即可; 由于后续工作非常多, 可能会忽略邮件, 半天没回复, 可以多发;
## 快速开始

21
SECURITY.md Normal file
View File

@@ -0,0 +1,21 @@
# Security Policy
## Supported Versions
Use this section to tell people about which versions of your project are
currently being supported with security updates.
| Version | Supported |
| ------- | ------------------ |
| 5.1.x | :white_check_mark: |
| 5.0.x | :x: |
| 4.0.x | :white_check_mark: |
| < 4.0 | :x: |
## Reporting a Vulnerability
Use this section to tell people how to report a vulnerability.
Tell them where to go, how often they can expect to get an update on a
reported vulnerability, what to expect if the vulnerability is accepted or
declined, etc.

View File

@@ -4,7 +4,7 @@
"workspaces": {
"": {
"name": "claude-code",
"dependencies": {
"devDependencies": {
"@alcalzone/ansi-tokenize": "^0.3.0",
"@ant/claude-for-chrome-mcp": "workspace:*",
"@ant/computer-use-input": "workspace:*",
@@ -23,6 +23,7 @@
"@aws-sdk/credential-provider-node": "^3.972.28",
"@aws-sdk/credential-providers": "^3.1020.0",
"@azure/identity": "^4.13.1",
"@biomejs/biome": "^2.4.10",
"@commander-js/extra-typings": "^14.0.0",
"@growthbook/growthbook": "^1.6.5",
"@modelcontextprotocol/sdk": "^1.29.0",
@@ -46,6 +47,13 @@
"@opentelemetry/semantic-conventions": "^1.40.0",
"@smithy/core": "^3.23.13",
"@smithy/node-http-handler": "^4.5.1",
"@types/bun": "^1.3.11",
"@types/cacache": "^20.0.1",
"@types/plist": "^3.0.5",
"@types/react": "^19.2.14",
"@types/react-reconciler": "^0.33.0",
"@types/sharp": "^0.32.0",
"@types/turndown": "^5.0.6",
"ajv": "^8.18.0",
"asciichart": "^1.5.25",
"audio-capture-napi": "workspace:*",
@@ -74,6 +82,7 @@
"image-processor-napi": "workspace:*",
"indent-string": "^5.0.0",
"jsonc-parser": "^3.3.1",
"knip": "^6.1.1",
"lodash-es": "^4.17.23",
"lru-cache": "^11.2.7",
"marked": "^17.0.5",
@@ -96,6 +105,7 @@
"tree-kill": "^1.2.2",
"turndown": "^7.2.2",
"type-fest": "^5.5.0",
"typescript": "^6.0.2",
"undici": "^7.24.6",
"url-handler-napi": "workspace:*",
"usehooks-ts": "^3.1.1",
@@ -108,18 +118,6 @@
"yaml": "^2.8.3",
"zod": "^4.3.6",
},
"devDependencies": {
"@biomejs/biome": "^2.4.10",
"@types/bun": "^1.3.11",
"@types/cacache": "^20.0.1",
"@types/plist": "^3.0.5",
"@types/react": "^19.2.14",
"@types/react-reconciler": "^0.33.0",
"@types/sharp": "^0.32.0",
"@types/turndown": "^5.0.6",
"knip": "^6.1.1",
"typescript": "^6.0.2",
},
},
"packages/@ant/claude-for-chrome-mcp": {
"name": "@ant/claude-for-chrome-mcp",

View File

@@ -1,3 +1,4 @@
#!/usr/bin/env bun
// Runtime polyfill for bun:bundle (build-time macros)
const feature = (_name: string) => false;
if (typeof globalThis.MACRO === "undefined") {