sumulige-claude 1.5.1 → 1.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/hooks/hook-registry.json +0 -15
- package/.claude/rules/coding-style.md +18 -7
- package/.claude/rules/hooks.md +15 -4
- package/.claude/rules/performance.md +15 -5
- package/.claude/rules/security.md +140 -4
- package/.claude/rules/testing.md +138 -9
- package/.claude/rules/web-design-standard.md +16 -5
- package/.claude/skills/algorithmic-art/metadata.yaml +28 -0
- package/.claude/skills/api-tester/SKILL.md +61 -0
- package/.claude/skills/api-tester/examples/basic.md +3 -0
- package/.claude/skills/api-tester/metadata.yaml +30 -0
- package/.claude/skills/api-tester/templates/default.md +3 -0
- package/.claude/skills/brand-guidelines/metadata.yaml +26 -0
- package/.claude/skills/canvas-design/metadata.yaml +27 -0
- package/.claude/skills/code-reviewer-123/SKILL.md +61 -0
- package/.claude/skills/code-reviewer-123/examples/basic.md +3 -0
- package/.claude/skills/code-reviewer-123/metadata.yaml +30 -0
- package/.claude/skills/code-reviewer-123/templates/default.md +3 -0
- package/.claude/skills/doc-coauthoring/metadata.yaml +27 -0
- package/.claude/skills/docx/metadata.yaml +30 -0
- package/.claude/skills/frontend-design/metadata.yaml +28 -0
- package/.claude/skills/internal-comms/metadata.yaml +28 -0
- package/.claude/skills/mcp-builder/metadata.yaml +26 -0
- package/.claude/skills/my-skill/SKILL.md +61 -0
- package/.claude/skills/my-skill/examples/basic.md +3 -0
- package/.claude/skills/my-skill/metadata.yaml +30 -0
- package/.claude/skills/my-skill/templates/default.md +3 -0
- package/.claude/skills/pdf/metadata.yaml +29 -0
- package/.claude/skills/pptx/metadata.yaml +29 -0
- package/.claude/skills/react-best-practices/metadata.yaml +26 -0
- package/.claude/skills/react-node-practices/SKILL.md +409 -0
- package/.claude/skills/react-node-practices/metadata.yaml +56 -0
- package/.claude/skills/skill-creator/metadata.yaml +25 -0
- package/.claude/skills/slack-gif-creator/metadata.yaml +28 -0
- package/.claude/skills/test-skill-name/SKILL.md +61 -0
- package/.claude/skills/test-skill-name/examples/basic.md +3 -0
- package/.claude/skills/test-skill-name/metadata.yaml +30 -0
- package/.claude/skills/test-skill-name/templates/default.md +3 -0
- package/.claude/skills/test-workflow/metadata.yaml +32 -0
- package/.claude/skills/theme-factory/metadata.yaml +26 -0
- package/.claude/skills/threejs-fundamentals/metadata.yaml +27 -0
- package/.claude/skills/web-artifacts-builder/metadata.yaml +30 -0
- package/.claude/skills/web-design-guidelines/metadata.yaml +26 -0
- package/.claude/skills/webapp-testing/metadata.yaml +26 -0
- package/.claude/skills/xlsx/metadata.yaml +29 -0
- package/LICENSE +21 -0
- package/cli.js +1 -1
- package/package.json +25 -3
- package/.claude/.kickoff-hint.txt +0 -52
- package/.claude/.sumulige-claude-version +0 -1
- package/.claude/.version +0 -1
- package/.claude/AGENTS.md +0 -42
- package/.claude/ANCHORS.md +0 -40
- package/.claude/CLAUDE.md +0 -138
- package/.claude/MEMORY.md +0 -69
- package/.claude/PROJECT_LOG.md +0 -101
- package/.claude/THINKING_CHAIN_GUIDE.md +0 -287
- package/.claude/USAGE.md +0 -175
- package/.claude/boris-optimizations.md +0 -167
- package/.claude/handoffs/INDEX.md +0 -21
- package/.claude/handoffs/LATEST.md +0 -76
- package/.claude/handoffs/handoff_2026-01-22T13-07-04-757Z.md +0 -76
- package/.claude/quality-gate.json +0 -82
- package/.claude/rag/skill-index.json +0 -135
- package/.claude/settings.json +0 -99
- package/.claude/settings.local.json +0 -175
- package/.claude/templates/PROJECT_KICKOFF.md +0 -89
- package/.claude/templates/PROJECT_PROPOSAL.md +0 -227
- package/.claude/templates/TASK_PLAN.md +0 -121
- package/.claude/templates/hooks/README.md +0 -302
- package/.claude/templates/hooks/hook.sh.template +0 -94
- package/.claude/templates/hooks/user-prompt-submit.cjs.template +0 -116
- package/.claude/templates/hooks/user-response-submit.cjs.template +0 -94
- package/.claude/templates/hooks/validate.js +0 -173
- package/.claude/templates/tasks/develop.md +0 -69
- package/.claude/templates/tasks/research.md +0 -64
- package/.claude/templates/tasks/test.md +0 -96
- package/.claude/thinking-routes/.last-sync +0 -1
- package/.claude/thinking-routes/QUICKREF.md +0 -98
- package/.claude/workflow/document-scanner.js +0 -426
- package/.claude/workflow/knowledge-engine.js +0 -941
- package/.claude/workflow/notebooklm/browser.js +0 -1028
- package/.claude/workflow/phases/phase1-research.js +0 -578
- package/.claude/workflow/phases/phase1-research.ts +0 -465
- package/.claude/workflow/phases/phase2-approve.js +0 -722
- package/.claude/workflow/phases/phase3-plan.js +0 -1200
- package/.claude/workflow/phases/phase4-develop.js +0 -894
- package/.claude/workflow/search-cache.js +0 -230
- package/.claude/workflow/templates/approval.md +0 -315
- package/.claude/workflow/templates/development.md +0 -377
- package/.claude/workflow/templates/planning.md +0 -328
- package/.claude/workflow/templates/research.md +0 -250
- package/.claude/workflow/types.js +0 -37
- package/.claude/workflow/web-search.js +0 -278
- package/.claude-plugin/marketplace.json +0 -71
- package/.github/workflows/sync-skills.yml +0 -74
- package/.versionrc +0 -25
- package/AGENTS.md +0 -580
- package/CHANGELOG.md +0 -481
- package/CLAUDE-template.md +0 -114
- package/DEV_TOOLS_GUIDE.md +0 -190
- package/PROJECT_STRUCTURE.md +0 -266
- package/Q&A.md +0 -325
- package/config/defaults.json +0 -34
- package/config/official-skills.json +0 -183
- package/config/quality-gate.json +0 -67
- package/config/skill-categories.json +0 -40
- package/config/version-manifest.json +0 -85
- package/demos/power-3d-scatter.html +0 -683
- package/development/cache/web-search/search_1193d605f8eb364651fc2f2041b58a31.json +0 -36
- package/development/cache/web-search/search_3798bf06960edc125f744a1abb5b72c5.json +0 -36
- package/development/cache/web-search/search_37c7d4843a53f0d83f1122a6f908a2a3.json +0 -36
- package/development/cache/web-search/search_44166fa0153709ee168485a22aa0ab40.json +0 -36
- package/development/cache/web-search/search_4deaebb1f77e86a8ca066dc5a49c59fd.json +0 -36
- package/development/cache/web-search/search_94da91789466070a7f545612e73c7372.json +0 -36
- package/development/cache/web-search/search_dd5de8491b8b803a3cb01339cd210fb0.json +0 -36
- package/development/knowledge-base/.index.clean.json +0 -1
- package/development/knowledge-base/.index.json +0 -486
- package/development/knowledge-base/test-best-practices.md +0 -29
- package/development/projects/proj_mkh1pazz_ixmt1/phase1/feasibility-report.md +0 -160
- package/development/projects/proj_mkh4jvnb_z7rwf/phase1/feasibility-report.md +0 -160
- package/development/projects/proj_mkh4jxkd_ewz5a/phase1/feasibility-report.md +0 -160
- package/development/projects/proj_mkh4k84n_ni73k/phase1/feasibility-report.md +0 -160
- package/development/projects/proj_mkh4wfyd_u9w88/phase1/feasibility-report.md +0 -160
- package/development/projects/proj_mkh4wsbo_iahvf/development/projects/proj_mkh4xbpg_4na5w/phase1/feasibility-report.md +0 -160
- package/development/projects/proj_mkh4wsbo_iahvf/phase1/feasibility-report.md +0 -160
- package/development/projects/proj_mkh4xulg_1ka8x/phase1/feasibility-report.md +0 -160
- package/development/projects/proj_mkh4xwhj_gch8j/phase1/feasibility-report.md +0 -160
- package/development/projects/proj_mkh4y2qk_9lm8z/phase1/feasibility-report.md +0 -160
- package/development/projects/proj_mkh4y2qk_9lm8z/phase2/requirements.md +0 -226
- package/development/projects/proj_mkh4y2qk_9lm8z/phase3/PRD.md +0 -345
- package/development/projects/proj_mkh4y2qk_9lm8z/phase3/TASK_PLAN.md +0 -284
- package/development/projects/proj_mkh4y2qk_9lm8z/phase3/prototype/README.md +0 -14
- package/development/projects/proj_mkh4y2qk_9lm8z/phase4/DEVELOPMENT_LOG.md +0 -35
- package/development/projects/proj_mkh4y2qk_9lm8z/phase4/TASKS.md +0 -34
- package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/.env.example +0 -5
- package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/README.md +0 -60
- package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/package.json +0 -25
- package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/src/index.js +0 -70
- package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/src/routes/index.js +0 -48
- package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/tests/health.test.js +0 -20
- package/development/projects/proj_mkh4y2qk_9lm8z/phase4/source/tests/jest.config.js +0 -21
- package/development/projects/proj_mkh7veqg_3lypc/phase1/feasibility-report.md +0 -160
- package/development/projects/proj_mkh7veqg_3lypc/phase2/requirements.md +0 -226
- package/development/projects/proj_mkh7veqg_3lypc/phase3/PRD.md +0 -345
- package/development/projects/proj_mkh7veqg_3lypc/phase3/TASK_PLAN.md +0 -284
- package/development/projects/proj_mkh7veqg_3lypc/phase3/prototype/README.md +0 -14
- package/development/projects/proj_mkh8k8fo_rmqn5/phase1/feasibility-report.md +0 -160
- package/development/projects/proj_mkh8xyhy_1vshq/phase1/feasibility-report.md +0 -178
- package/development/projects/proj_mkh8zddd_dhamf/phase1/feasibility-report.md +0 -377
- package/development/projects/proj_mkh8zddd_dhamf/phase2/requirements.md +0 -442
- package/development/projects/proj_mkh8zddd_dhamf/phase3/api-design.md +0 -800
- package/development/projects/proj_mkh8zddd_dhamf/phase3/architecture.md +0 -625
- package/development/projects/proj_mkh8zddd_dhamf/phase3/data-model.md +0 -830
- package/development/projects/proj_mkh8zddd_dhamf/phase3/risks.md +0 -957
- package/development/projects/proj_mkh8zddd_dhamf/phase3/wbs.md +0 -381
- package/development/todos/.state.json +0 -19
- package/development/todos/INDEX.md +0 -63
- package/development/todos/active/_README.md +0 -49
- package/development/todos/archived/_README.md +0 -11
- package/development/todos/backlog/_README.md +0 -11
- package/development/todos/backlog/mcp-integration.md +0 -35
- package/development/todos/completed/_README.md +0 -11
- package/development/todos/completed/boris-optimizations.md +0 -39
- package/development/todos/completed/develop/local-knowledge-index.md +0 -85
- package/development/todos/completed/develop/todo-system.md +0 -47
- package/development/todos/completed/develop/web-search-integration.md +0 -83
- package/development/todos/completed/test/phase1-e2e-test.md +0 -103
- package/docs/DEVELOPMENT.md +0 -461
- package/docs/MARKETPLACE.md +0 -352
- package/docs/RELEASE.md +0 -93
- package/jest.config.js +0 -63
- package/lib/commands.js +0 -3588
- package/lib/config-manager.js +0 -441
- package/lib/config-schema.js +0 -408
- package/lib/config-validator.js +0 -330
- package/lib/config.js +0 -122
- package/lib/errors.js +0 -305
- package/lib/incremental-sync.js +0 -274
- package/lib/marketplace.js +0 -487
- package/lib/migrations.js +0 -154
- package/lib/permission-audit.js +0 -255
- package/lib/quality-gate.js +0 -431
- package/lib/quality-rules.js +0 -373
- package/lib/utils.js +0 -150
- package/lib/version-check.js +0 -169
- package/lib/version-manifest.js +0 -171
- package/project-paradigm.md +0 -313
- package/prompts/how-to-find.md +0 -163
- package/prompts/linus-architect.md +0 -71
- package/prompts/software-architect.md +0 -173
- package/prompts/web-designer.md +0 -249
- package/scripts/fix-hooks.mjs +0 -97
- package/scripts/sync-external.mjs +0 -298
- package/scripts/sync-to-home.sh +0 -108
- package/scripts/update-registry.mjs +0 -325
- package/sources.yaml +0 -83
- package/tests/README.md +0 -263
- package/tests/commands.test.js +0 -1086
- package/tests/config-manager.test.js +0 -677
- package/tests/config-schema.test.js +0 -425
- package/tests/config-validator.test.js +0 -436
- package/tests/config.test.js +0 -100
- package/tests/errors.test.js +0 -477
- package/tests/manual/phase1-e2e.sh +0 -389
- package/tests/manual/phase2-test-cases.md +0 -311
- package/tests/manual/phase3-test-cases.md +0 -309
- package/tests/manual/phase4-test-cases.md +0 -414
- package/tests/manual/test-cases.md +0 -417
- package/tests/marketplace.test.js +0 -420
- package/tests/migrations.test.js +0 -187
- package/tests/quality-gate.test.js +0 -679
- package/tests/quality-rules.test.js +0 -619
- package/tests/sync-external.test.js +0 -214
- package/tests/update-registry.test.js +0 -251
- package/tests/utils.test.js +0 -171
- package/tests/version-check.test.js +0 -75
- package/tests/web-search.test.js +0 -392
- package/thinkinglens-silent.md +0 -138
package/lib/version-manifest.js
DELETED
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Version Manifest Manager
|
|
3
|
-
*
|
|
4
|
-
* 管理版本清单,支持增量同步
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
const fs = require('fs');
|
|
8
|
-
const path = require('path');
|
|
9
|
-
|
|
10
|
-
const MANIFEST_FILE = path.join(__dirname, '../config/version-manifest.json');
|
|
11
|
-
const VERSION_FILE_NAME = '.sumulige-claude-version';
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* 加载版本清单
|
|
15
|
-
*/
|
|
16
|
-
function loadManifest() {
|
|
17
|
-
if (!fs.existsSync(MANIFEST_FILE)) {
|
|
18
|
-
return null;
|
|
19
|
-
}
|
|
20
|
-
try {
|
|
21
|
-
return JSON.parse(fs.readFileSync(MANIFEST_FILE, 'utf-8'));
|
|
22
|
-
} catch (e) {
|
|
23
|
-
return null;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* 获取项目当前版本
|
|
29
|
-
*/
|
|
30
|
-
function getProjectVersion(projectDir) {
|
|
31
|
-
const versionFile = path.join(projectDir, '.claude', VERSION_FILE_NAME);
|
|
32
|
-
if (!fs.existsSync(versionFile)) {
|
|
33
|
-
return null;
|
|
34
|
-
}
|
|
35
|
-
try {
|
|
36
|
-
return fs.readFileSync(versionFile, 'utf-8').trim();
|
|
37
|
-
} catch (e) {
|
|
38
|
-
return null;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* 设置项目版本
|
|
44
|
-
*/
|
|
45
|
-
function setProjectVersion(projectDir, version) {
|
|
46
|
-
const versionFile = path.join(projectDir, '.claude', VERSION_FILE_NAME);
|
|
47
|
-
const dir = path.dirname(versionFile);
|
|
48
|
-
if (!fs.existsSync(dir)) {
|
|
49
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
50
|
-
}
|
|
51
|
-
fs.writeFileSync(versionFile, version);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* 比较版本号
|
|
56
|
-
* @returns -1 if a < b, 0 if a == b, 1 if a > b
|
|
57
|
-
*/
|
|
58
|
-
function compareVersions(a, b) {
|
|
59
|
-
const partsA = a.split('.').map(Number);
|
|
60
|
-
const partsB = b.split('.').map(Number);
|
|
61
|
-
|
|
62
|
-
for (let i = 0; i < Math.max(partsA.length, partsB.length); i++) {
|
|
63
|
-
const numA = partsA[i] || 0;
|
|
64
|
-
const numB = partsB[i] || 0;
|
|
65
|
-
if (numA < numB) return -1;
|
|
66
|
-
if (numA > numB) return 1;
|
|
67
|
-
}
|
|
68
|
-
return 0;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* 获取版本之间的变更
|
|
73
|
-
*/
|
|
74
|
-
function getChangesSince(fromVersion, toVersion = null) {
|
|
75
|
-
const manifest = loadManifest();
|
|
76
|
-
if (!manifest) return [];
|
|
77
|
-
|
|
78
|
-
const targetVersion = toVersion || manifest.current;
|
|
79
|
-
const changes = [];
|
|
80
|
-
|
|
81
|
-
for (const entry of manifest.history) {
|
|
82
|
-
if (compareVersions(entry.version, fromVersion) > 0 &&
|
|
83
|
-
compareVersions(entry.version, targetVersion) <= 0) {
|
|
84
|
-
changes.push({
|
|
85
|
-
version: entry.version,
|
|
86
|
-
date: entry.date,
|
|
87
|
-
breaking: entry.breaking,
|
|
88
|
-
changes: entry.changes
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
return changes.sort((a, b) => compareVersions(a.version, b.version));
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
/**
|
|
97
|
-
* 检测是否有 breaking changes
|
|
98
|
-
*/
|
|
99
|
-
function hasBreakingChanges(fromVersion, toVersion = null) {
|
|
100
|
-
const changes = getChangesSince(fromVersion, toVersion);
|
|
101
|
-
return changes.some(c => c.breaking);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* 获取当前版本
|
|
106
|
-
*/
|
|
107
|
-
function getCurrentVersion() {
|
|
108
|
-
const manifest = loadManifest();
|
|
109
|
-
return manifest ? manifest.current : null;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* 获取同步规则
|
|
114
|
-
*/
|
|
115
|
-
function getSyncRules() {
|
|
116
|
-
const manifest = loadManifest();
|
|
117
|
-
return manifest ? manifest.syncRules : null;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* 检查是否需要更新
|
|
122
|
-
*/
|
|
123
|
-
function needsUpdate(projectDir) {
|
|
124
|
-
const projectVersion = getProjectVersion(projectDir);
|
|
125
|
-
if (!projectVersion) return true;
|
|
126
|
-
|
|
127
|
-
const currentVersion = getCurrentVersion();
|
|
128
|
-
if (!currentVersion) return false;
|
|
129
|
-
|
|
130
|
-
return compareVersions(projectVersion, currentVersion) < 0;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* 获取更新摘要
|
|
135
|
-
*/
|
|
136
|
-
function getUpdateSummary(projectDir) {
|
|
137
|
-
const projectVersion = getProjectVersion(projectDir);
|
|
138
|
-
if (!projectVersion) {
|
|
139
|
-
return {
|
|
140
|
-
needsUpdate: true,
|
|
141
|
-
isNewInstall: true,
|
|
142
|
-
changes: []
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
const currentVersion = getCurrentVersion();
|
|
147
|
-
const changes = getChangesSince(projectVersion);
|
|
148
|
-
const hasBreaking = changes.some(c => c.breaking);
|
|
149
|
-
|
|
150
|
-
return {
|
|
151
|
-
needsUpdate: changes.length > 0,
|
|
152
|
-
isNewInstall: false,
|
|
153
|
-
fromVersion: projectVersion,
|
|
154
|
-
toVersion: currentVersion,
|
|
155
|
-
hasBreakingChanges: hasBreaking,
|
|
156
|
-
changes: changes
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
module.exports = {
|
|
161
|
-
loadManifest,
|
|
162
|
-
getProjectVersion,
|
|
163
|
-
setProjectVersion,
|
|
164
|
-
compareVersions,
|
|
165
|
-
getChangesSince,
|
|
166
|
-
hasBreakingChanges,
|
|
167
|
-
getCurrentVersion,
|
|
168
|
-
getSyncRules,
|
|
169
|
-
needsUpdate,
|
|
170
|
-
getUpdateSummary
|
|
171
|
-
};
|
package/project-paradigm.md
DELETED
|
@@ -1,313 +0,0 @@
|
|
|
1
|
-
# Prompt: Claude Code 项目开发范式
|
|
2
|
-
|
|
3
|
-
> 通用项目开发范式 - 适用于任何需要 Claude Code 深度集成的项目
|
|
4
|
-
> 最后更新:2026-01-11
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## 核心理念
|
|
9
|
-
|
|
10
|
-
**Personal Panopticon(个人全景塔)** - 数据主权反转
|
|
11
|
-
|
|
12
|
-
传统的 legibility 是单向的:平台看见你。Claude Code 让你反转这个方向:你看见自己。
|
|
13
|
-
|
|
14
|
-
```
|
|
15
|
-
┌─────────────────────────────────────────────────────────┐
|
|
16
|
-
│ Personal Panopticon 架构 │
|
|
17
|
-
├─────────────────────────────────────────────────────────┤
|
|
18
|
-
│ │
|
|
19
|
-
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐│
|
|
20
|
-
│ │ 数据源 │───→│ AI 观察者 │───→│ 行动 ││
|
|
21
|
-
│ │ │ │ │ │ ││
|
|
22
|
-
│ │ GitHub │ │ Claude │ │ 代码 ││
|
|
23
|
-
│ │ Notion │ │ Code │ │ 文档 ││
|
|
24
|
-
│ │ Email │ │ │ │ 生活 ││
|
|
25
|
-
│ └─────────────┘ └─────────────┘ └─────────────┘│
|
|
26
|
-
│ │ │ │ │
|
|
27
|
-
│ └───────────────────┼───────────────────┘ │
|
|
28
|
-
│ ↓ │
|
|
29
|
-
│ ┌─────────────┐ │
|
|
30
|
-
│ │ 思维轨迹 │ │
|
|
31
|
-
│ │ ThinkingLens│ │
|
|
32
|
-
│ └─────────────┘ │
|
|
33
|
-
└─────────────────────────────────────────────────────────┘
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
## 第一阶段:AI 自治记忆系统
|
|
39
|
-
|
|
40
|
-
### 目录结构
|
|
41
|
-
|
|
42
|
-
```
|
|
43
|
-
.claude/
|
|
44
|
-
├── CLAUDE.md # AI 启动检查清单 + 核心知识
|
|
45
|
-
├── ANCHORS.md # 技能锚点索引(快速定位)
|
|
46
|
-
├── MEMORY.md # 增量记忆日志(变更记录)
|
|
47
|
-
├── PROJECT_LOG.md # 完整项目构建历史
|
|
48
|
-
├── settings.json # Claude Code 配置
|
|
49
|
-
├── hooks/ # 自动化钩子
|
|
50
|
-
├── skills/ # 领域知识库
|
|
51
|
-
├── thinking-routes/ # 思维轨迹系统
|
|
52
|
-
└── agents/ # AI Agent 角色定义(可选)
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
### AI 启动流程
|
|
56
|
-
|
|
57
|
-
```
|
|
58
|
-
1. ANCHORS.md → 快速定位模块
|
|
59
|
-
2. PROJECT_LOG.md → 理解完整历史和决策
|
|
60
|
-
3. MEMORY.md → 查看最新变更
|
|
61
|
-
4. CLAUDE.md → 加载核心知识
|
|
62
|
-
5. 具体文件 → 深入实现
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### 锚点系统
|
|
66
|
-
|
|
67
|
-
**格式**:`[类型:名称]`
|
|
68
|
-
|
|
69
|
-
| 类型 | 前缀 | 示例 |
|
|
70
|
-
|------|------|------|
|
|
71
|
-
| 技能文档 | `skill:` | `[skill:periodization]` |
|
|
72
|
-
| Agent 模块 | `agent:` | `[agent:analyzer]` |
|
|
73
|
-
| API 客户端 | `client:` | `[client:api]` |
|
|
74
|
-
| 数据层 | `db:` | `[db:schema]` |
|
|
75
|
-
| API 路由 | `api:` | `[api:router]` |
|
|
76
|
-
| 测试文件 | `test:` | `[test:auth]` |
|
|
77
|
-
| 系统组件 | `system:` | `[system:memory]` |
|
|
78
|
-
| 教学文档 | `doc:` | `[doc:readme]` |
|
|
79
|
-
|
|
80
|
-
---
|
|
81
|
-
|
|
82
|
-
## 第二阶段:技能系统(Skills)
|
|
83
|
-
|
|
84
|
-
### 何时创建 Skill
|
|
85
|
-
|
|
86
|
-
- 需要反复引用的领域知识
|
|
87
|
-
- 包含特定模式、反模式、最佳实践
|
|
88
|
-
- 需要文献/资料引用的内容
|
|
89
|
-
|
|
90
|
-
### Skill 模板
|
|
91
|
-
|
|
92
|
-
```markdown
|
|
93
|
-
---
|
|
94
|
-
name: [技能名称]
|
|
95
|
-
description: [一句话描述]
|
|
96
|
-
see_also: [相关技能]
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
## 概述
|
|
100
|
-
|
|
101
|
-
[技能的核心概念和原理]
|
|
102
|
-
|
|
103
|
-
## 关键模式
|
|
104
|
-
|
|
105
|
-
### 模式1
|
|
106
|
-
- **何时使用**: ...
|
|
107
|
-
- **如何使用**: ...
|
|
108
|
-
- **示例代码**: ...
|
|
109
|
-
|
|
110
|
-
### 模式2
|
|
111
|
-
...
|
|
112
|
-
|
|
113
|
-
## 反模式
|
|
114
|
-
|
|
115
|
-
- ❌ 不要这样做,因为...
|
|
116
|
-
- ❌ 避免使用...
|
|
117
|
-
|
|
118
|
-
## 参考资料
|
|
119
|
-
|
|
120
|
-
- [文献/教程链接]
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
---
|
|
124
|
-
|
|
125
|
-
## 第三阶段:自动化钩子(Hooks)
|
|
126
|
-
|
|
127
|
-
### settings.json 配置
|
|
128
|
-
|
|
129
|
-
```json
|
|
130
|
-
{
|
|
131
|
-
"matcher": "Edit|MultiEdit|Write",
|
|
132
|
-
"hooks": [{
|
|
133
|
-
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/memory-sync.sh",
|
|
134
|
-
"timeout": 5
|
|
135
|
-
}]
|
|
136
|
-
}
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
### Hook 示例:记忆同步
|
|
140
|
-
|
|
141
|
-
```bash
|
|
142
|
-
#!/bin/bash
|
|
143
|
-
# .claude/hooks/memory-sync.sh
|
|
144
|
-
|
|
145
|
-
REL_PATH="$1"
|
|
146
|
-
EVENT_TYPE="$2"
|
|
147
|
-
|
|
148
|
-
# 检测新模块
|
|
149
|
-
if [[ "$REL_PATH" =~ server/.*\.ts$ ]]; then
|
|
150
|
-
MODULE=$(basename "$REL_PATH" .ts)
|
|
151
|
-
echo "🧠 新模块: [$MODULE] → $REL_PATH"
|
|
152
|
-
echo " 请更新 ANCHORS.md 和 MEMORY.md"
|
|
153
|
-
fi
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
---
|
|
157
|
-
|
|
158
|
-
## 第四阶段:思维轨迹系统(ThinkingLens)
|
|
159
|
-
|
|
160
|
-
### 设计理念
|
|
161
|
-
|
|
162
|
-
```
|
|
163
|
-
GitLens ThinkingLens
|
|
164
|
-
────────────────────────────────────────
|
|
165
|
-
代码变更 → 思维轨迹
|
|
166
|
-
Commit 历史 → 决策节点
|
|
167
|
-
Branch → 探索路径
|
|
168
|
-
Merge → 综合判断
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
### 数据模型
|
|
172
|
-
|
|
173
|
-
```typescript
|
|
174
|
-
interface ThinkingNode {
|
|
175
|
-
id: string;
|
|
176
|
-
sessionId: string;
|
|
177
|
-
timestamp: string;
|
|
178
|
-
parentIds: string[];
|
|
179
|
-
type: "inquiry" | "analysis" | "decision" | "action" | "observation";
|
|
180
|
-
summary: string;
|
|
181
|
-
content?: string;
|
|
182
|
-
tags: string[];
|
|
183
|
-
decision?: {
|
|
184
|
-
question: string;
|
|
185
|
-
alternatives: Array<{ name, pros, cons }>;
|
|
186
|
-
chosen: string;
|
|
187
|
-
rationale: string;
|
|
188
|
-
};
|
|
189
|
-
}
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
---
|
|
193
|
-
|
|
194
|
-
## 第五阶段:代码风格规范
|
|
195
|
-
|
|
196
|
-
### Linus Torvalds 哲学
|
|
197
|
-
|
|
198
|
-
1. **消除特殊情况**
|
|
199
|
-
- 通过优雅的数据结构让边界情况自然消失
|
|
200
|
-
- 避免用 if/else 打补丁
|
|
201
|
-
|
|
202
|
-
2. **极简主义**
|
|
203
|
-
- 函数只做一件事
|
|
204
|
-
- 命名直白、精准
|
|
205
|
-
|
|
206
|
-
3. **实用主义**
|
|
207
|
-
- 解决真实问题,拒绝过度设计
|
|
208
|
-
|
|
209
|
-
### 质量指标
|
|
210
|
-
|
|
211
|
-
- 单文件不超过 800 行
|
|
212
|
-
- 单目录不超过 8 个文件
|
|
213
|
-
- 零循环依赖
|
|
214
|
-
- 零代码重复
|
|
215
|
-
|
|
216
|
-
---
|
|
217
|
-
|
|
218
|
-
## 第六阶段:AI 自治开发流程
|
|
219
|
-
|
|
220
|
-
### 当 AI 接收任务时
|
|
221
|
-
|
|
222
|
-
1. **加载上下文**: 读取 CLAUDE.md、ANCHORS.md、MEMORY.md
|
|
223
|
-
2. **任务分解**: 将任务分解为具体的子任务
|
|
224
|
-
3. **实现与测试**: 实现功能并编写测试
|
|
225
|
-
4. **文档更新**: 更新 MEMORY.md、ANCHORS.md
|
|
226
|
-
5. **记录决策**: 在 thinking-routes/ 中记录关键决策
|
|
227
|
-
|
|
228
|
-
### 人类确认点
|
|
229
|
-
|
|
230
|
-
AI 在以下情况必须请求人类确认:
|
|
231
|
-
- 架构设计变更
|
|
232
|
-
- 数据模型变更
|
|
233
|
-
- 新增外部依赖
|
|
234
|
-
- 质量标准定义
|
|
235
|
-
- 安全与隐私相关变更
|
|
236
|
-
|
|
237
|
-
---
|
|
238
|
-
|
|
239
|
-
## 受保护目录
|
|
240
|
-
|
|
241
|
-
以下目录包含核心基础设施,**严禁删除**:
|
|
242
|
-
|
|
243
|
-
```
|
|
244
|
-
.claude/ # AI 自治记忆系统核心
|
|
245
|
-
.claude/thinking-routes/ # 思维轨迹系统
|
|
246
|
-
.claude/skills/ # 知识库
|
|
247
|
-
prompts/ # Prompt 教学库
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
---
|
|
251
|
-
|
|
252
|
-
## 成功标准
|
|
253
|
-
|
|
254
|
-
完成后,项目应该具备:
|
|
255
|
-
|
|
256
|
-
- ✅ AI 能够理解项目规范并生成符合标准的代码
|
|
257
|
-
- ✅ AI 启动时自动加载完整上下文
|
|
258
|
-
- ✅ 关键决策可追溯(ThinkingLens)
|
|
259
|
-
- ✅ 知识可累积(Skills 系统)
|
|
260
|
-
- ✅ 记忆可同步(Hooks)
|
|
261
|
-
|
|
262
|
-
---
|
|
263
|
-
|
|
264
|
-
## 快速开始
|
|
265
|
-
|
|
266
|
-
### 新项目初始化
|
|
267
|
-
|
|
268
|
-
```bash
|
|
269
|
-
# 1. 创建基础结构
|
|
270
|
-
mkdir -p .claude/{skills,hooks,thinking-routes}
|
|
271
|
-
mkdir -p prompts
|
|
272
|
-
|
|
273
|
-
# 2. 复制本文件到 prompts/
|
|
274
|
-
cp project-paradigm.md prompts/
|
|
275
|
-
|
|
276
|
-
# 3. 创建基础配置文件
|
|
277
|
-
# - CLAUDE.md(项目核心知识)
|
|
278
|
-
# - ANCHORS.md(模块索引)
|
|
279
|
-
# - MEMORY.md(增量日志)
|
|
280
|
-
|
|
281
|
-
# 4. 配置 settings.json
|
|
282
|
-
```
|
|
283
|
-
|
|
284
|
-
### 最小化 CLAUDE.md 模板
|
|
285
|
-
|
|
286
|
-
```markdown
|
|
287
|
-
# [项目名称]
|
|
288
|
-
|
|
289
|
-
## AI 启动检查清单
|
|
290
|
-
|
|
291
|
-
1. 加载 ANCHORS.md(快速索引)
|
|
292
|
-
2. 加载 MEMORY.md(最新变更)
|
|
293
|
-
3. 加载 CLAUDE.md(核心知识)
|
|
294
|
-
|
|
295
|
-
## 受保护目录
|
|
296
|
-
|
|
297
|
-
- `prompts/` - Prompt 教学库
|
|
298
|
-
- `.claude/` - AI 自治记忆系统
|
|
299
|
-
|
|
300
|
-
## 核心架构
|
|
301
|
-
|
|
302
|
-
[简要描述项目架构]
|
|
303
|
-
|
|
304
|
-
## 开发规范
|
|
305
|
-
|
|
306
|
-
[代码风格、质量标准等]
|
|
307
|
-
```
|
|
308
|
-
|
|
309
|
-
---
|
|
310
|
-
|
|
311
|
-
**记住**:目标不是让 AI 帮你写代码,而是让 AI 成为你思维的延伸——在你睡觉时它仍在工作,在你忘记时它还记得,当你困惑时它已理清。
|
|
312
|
-
|
|
313
|
-
"Take the tower early. Do not let it take you."
|
package/prompts/how-to-find.md
DELETED
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
# 对话历史快速查看指南
|
|
2
|
-
|
|
3
|
-
> 如何找到你的对话记录
|
|
4
|
-
> 最后更新:2026-01-11
|
|
5
|
-
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
## 方式一:Claude Code 内置历史(完整对话)
|
|
9
|
-
|
|
10
|
-
### 方法 A:CLI 查看
|
|
11
|
-
|
|
12
|
-
```bash
|
|
13
|
-
# 查看最近的对话列表
|
|
14
|
-
claude-code history
|
|
15
|
-
|
|
16
|
-
# 查看特定项目的对话
|
|
17
|
-
claude-code history --project evolvemind
|
|
18
|
-
|
|
19
|
-
# 查看某个对话的详情
|
|
20
|
-
claude-code show <conversation-id>
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
### 方法 B:重启时恢复
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
# 在项目目录下启动 Claude Code
|
|
27
|
-
cd /Users/sumulige/Documents/Antigravity/evolvemind
|
|
28
|
-
claude-code
|
|
29
|
-
|
|
30
|
-
# 会自动恢复上次的对话上下文
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## 方式二:对话摘要(快速回顾)
|
|
36
|
-
|
|
37
|
-
### 查看今日对话
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
.claude/hooks/tl-summary.sh
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
输出示例:
|
|
44
|
-
```
|
|
45
|
-
📅 今日对话摘要
|
|
46
|
-
────────────────────────────────────────
|
|
47
|
-
会话 ID: s-20260111-evolvemind
|
|
48
|
-
开始时间: 2026-01-11 10:30:00
|
|
49
|
-
对话轮次: 15
|
|
50
|
-
|
|
51
|
-
📊 操作统计:
|
|
52
|
-
💬 normal: 10
|
|
53
|
-
📝 code-edit: 4
|
|
54
|
-
⚡ potential-action: 1
|
|
55
|
-
|
|
56
|
-
🕐 最近活动:
|
|
57
|
-
15:20 📝 Edit
|
|
58
|
-
15:15 💬 UserPromptSubmit
|
|
59
|
-
15:10 ⚡ 完成数据分析功能
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
---
|
|
63
|
-
|
|
64
|
-
## 方式三:原始数据(开发者)
|
|
65
|
-
|
|
66
|
-
### 查看对话流原始数据
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
# 查看原始 JSON
|
|
70
|
-
cat .claude/thinking-routes/.conversation-flow.json
|
|
71
|
-
|
|
72
|
-
# 或用 jq 格式化查看
|
|
73
|
-
cat .claude/thinking-routes/.conversation-flow.json | jq '.'
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
### 查看思维节点
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
# 查看最近 10 个思维节点
|
|
80
|
-
npx -p tsx tsx .claude/thinking-routes/index.ts recent 10
|
|
81
|
-
|
|
82
|
-
# 查看思维图谱(图形化)
|
|
83
|
-
npx -p tsx tsx .claude/thinking-routes/index.ts log --graph
|
|
84
|
-
|
|
85
|
-
# 搜索思维节点
|
|
86
|
-
npx -p tsx tsx .claude/thinking-routes/index.ts search "数据分析"
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
---
|
|
90
|
-
|
|
91
|
-
## 方式四:项目日志(完整记录)
|
|
92
|
-
|
|
93
|
-
### 查看 PROJECT_LOG.md
|
|
94
|
-
|
|
95
|
-
```bash
|
|
96
|
-
# 查看完整项目构建历史
|
|
97
|
-
cat .claude/PROJECT_LOG.md
|
|
98
|
-
|
|
99
|
-
# 或用 less 分页查看
|
|
100
|
-
less .claude/PROJECT_LOG.md
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
### 查看 MEMORY.md(增量)
|
|
104
|
-
|
|
105
|
-
```bash
|
|
106
|
-
# 查看最近的变更
|
|
107
|
-
cat .claude/MEMORY.md
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## 快捷命令
|
|
113
|
-
|
|
114
|
-
把以下命令加到你的 shell 配置(`.zshrc` 或 `.bashrc`):
|
|
115
|
-
|
|
116
|
-
```bash
|
|
117
|
-
# 对话摘要
|
|
118
|
-
alias tl='.claude/hooks/tl-summary.sh'
|
|
119
|
-
|
|
120
|
-
# 思维节点
|
|
121
|
-
alias tl-recent='npx -p tsx tsx .claude/thinking-routes/index.ts recent'
|
|
122
|
-
alias tl-graph='npx -p tsx tsx .claude/thinking-routes/index.ts log --graph'
|
|
123
|
-
alias tl-search='npx -p tsx tsx .claude/thinking-routes/index.ts search'
|
|
124
|
-
|
|
125
|
-
# 项目日志
|
|
126
|
-
alias log='cat .claude/PROJECT_LOG.md | less'
|
|
127
|
-
alias memory='cat .claude/MEMORY.md'
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
使用:
|
|
131
|
-
```bash
|
|
132
|
-
tl # 查看对话摘要
|
|
133
|
-
tl-recent # 查看最近思维节点
|
|
134
|
-
tl-graph # 查看思维图谱
|
|
135
|
-
tl-search # 搜索思维节点
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
---
|
|
139
|
-
|
|
140
|
-
## 数据位置
|
|
141
|
-
|
|
142
|
-
```
|
|
143
|
-
.claude/thinking-routes/
|
|
144
|
-
├── .conversation-flow.json # 对话流数据
|
|
145
|
-
├── .current-session # 当前会话 ID
|
|
146
|
-
├── sessions/ # 会话记录
|
|
147
|
-
├── decisions/ # 思维节点
|
|
148
|
-
└── index/ # 全局索引
|
|
149
|
-
|
|
150
|
-
.claude/
|
|
151
|
-
├── MEMORY.md # 增量记忆
|
|
152
|
-
├── PROJECT_LOG.md # 完整日志
|
|
153
|
-
└── ANCHORS.md # 快速索引
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
---
|
|
157
|
-
|
|
158
|
-
## 推荐工作流
|
|
159
|
-
|
|
160
|
-
1. **日常回顾**:每天结束前执行 `tl` 查看摘要
|
|
161
|
-
2. **查找决策**:用 `tl-search "关键词"` 搜索
|
|
162
|
-
3. **了解历史**:查看 `MEMORY.md` 或 `PROJECT_LOG.md`
|
|
163
|
-
4. **完整对话**:用 `claude-code history` 查看内置历史
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# Linus 架构师
|
|
2
|
-
|
|
3
|
-
你是 Linus Torvalds,用你 30 年内核维护经验审视代码。
|
|
4
|
-
|
|
5
|
-
## 四条铁律
|
|
6
|
-
|
|
7
|
-
1. **好品味** = 消除特殊情况(10行带 if → 4行无分支)
|
|
8
|
-
2. **不破坏** = 向后兼容神圣不可侵犯
|
|
9
|
-
3. **实用** = 解决真问题,拒绝论文式设计
|
|
10
|
-
4. **极简** = ≤3层缩进,函数只做一件事
|
|
11
|
-
|
|
12
|
-
## 分析框架
|
|
13
|
-
|
|
14
|
-
```
|
|
15
|
-
┌─ 数据结构 ─┐
|
|
16
|
-
│ 核心数据是什么?谁拥有?谁改?
|
|
17
|
-
└────────────┘
|
|
18
|
-
↓
|
|
19
|
-
┌─ 特殊情况 ─┐
|
|
20
|
-
│ if/else 是业务逻辑还是设计补丁?能用数据结构消除?
|
|
21
|
-
└────────────┘
|
|
22
|
-
↓
|
|
23
|
-
┌─ 复杂度 ──┐
|
|
24
|
-
│ 一句话说清本质。概念能砍一半?再一半?
|
|
25
|
-
└────────────┘
|
|
26
|
-
↓
|
|
27
|
-
┌─ 破坏性 ──┐
|
|
28
|
-
│ 受影响的现有功能?如何零破坏改进?
|
|
29
|
-
└────────────┘
|
|
30
|
-
↓
|
|
31
|
-
┌─ 实用性 ──┐
|
|
32
|
-
│ 生产环境真有这问题?解决方案复杂度匹配问题严重性?
|
|
33
|
-
└────────────┘
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## 输出模板
|
|
37
|
-
|
|
38
|
-
### 需求分析
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
【判断】✅值得做 / ❌不值得做
|
|
42
|
-
【原因】一句话
|
|
43
|
-
|
|
44
|
-
【洞察】
|
|
45
|
-
- 数据:[关键数据关系]
|
|
46
|
-
- 复杂度:[可消除的复杂性]
|
|
47
|
-
- 风险:[最大破坏性风险]
|
|
48
|
-
|
|
49
|
-
【方案】
|
|
50
|
-
1. 简化数据结构
|
|
51
|
-
2. 消除特殊情况
|
|
52
|
-
3. 最笨最清晰实现
|
|
53
|
-
4. 确保零破坏
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### 代码审查
|
|
57
|
-
|
|
58
|
-
```
|
|
59
|
-
【品味】🟢 / 🟡 / 🔴
|
|
60
|
-
【致命问题】[最糟糕的部分]
|
|
61
|
-
【改法】
|
|
62
|
-
- "消除这个特殊情况"
|
|
63
|
-
- "10行→3行"
|
|
64
|
-
- "数据结构应该是..."
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## 沟通风格
|
|
68
|
-
|
|
69
|
-
- 中文输出,直接犀利
|
|
70
|
-
- 批评针对技术,不针对人
|
|
71
|
-
- 不为"友善"模糊判断
|