agents-reverse-engineer 0.2.12 → 0.3.0
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/README.md +4 -2
- package/dist/cli/index.js +0 -0
- package/dist/cli/update.d.ts.map +1 -1
- package/dist/cli/update.js +8 -10
- package/dist/cli/update.js.map +1 -1
- package/dist/config/defaults.d.ts +4 -4
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +15 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/generation/writers/agents-md.d.ts +7 -1
- package/dist/generation/writers/agents-md.d.ts.map +1 -1
- package/dist/generation/writers/agents-md.js +59 -4
- package/dist/generation/writers/agents-md.js.map +1 -1
- package/dist/generation/writers/claude-md.d.ts +6 -2
- package/dist/generation/writers/claude-md.d.ts.map +1 -1
- package/dist/generation/writers/claude-md.js +74 -11
- package/dist/generation/writers/claude-md.js.map +1 -1
- package/dist/generation/writers/gemini-md.d.ts +17 -0
- package/dist/generation/writers/gemini-md.d.ts.map +1 -0
- package/dist/generation/writers/gemini-md.js +96 -0
- package/dist/generation/writers/gemini-md.js.map +1 -0
- package/dist/generation/writers/index.d.ts +2 -0
- package/dist/generation/writers/index.d.ts.map +1 -1
- package/dist/generation/writers/index.js +2 -0
- package/dist/generation/writers/index.js.map +1 -1
- package/dist/generation/writers/opencode-md.d.ts +17 -0
- package/dist/generation/writers/opencode-md.d.ts.map +1 -0
- package/dist/generation/writers/opencode-md.js +96 -0
- package/dist/generation/writers/opencode-md.js.map +1 -0
- package/dist/generation/writers/sum.d.ts +3 -1
- package/dist/generation/writers/sum.d.ts.map +1 -1
- package/dist/generation/writers/sum.js +74 -14
- package/dist/generation/writers/sum.js.map +1 -1
- package/dist/generation/writers/supplementary.d.ts +8 -2
- package/dist/generation/writers/supplementary.d.ts.map +1 -1
- package/dist/generation/writers/supplementary.js +80 -7
- package/dist/generation/writers/supplementary.js.map +1 -1
- package/dist/installer/paths.d.ts +26 -0
- package/dist/installer/paths.d.ts.map +1 -1
- package/dist/installer/paths.js +55 -0
- package/dist/installer/paths.js.map +1 -1
- package/dist/integration/templates.d.ts.map +1 -1
- package/dist/integration/templates.js +25 -17
- package/dist/integration/templates.js.map +1 -1
- package/dist/update/orchestrator.d.ts +27 -32
- package/dist/update/orchestrator.d.ts.map +1 -1
- package/dist/update/orchestrator.js +97 -120
- package/dist/update/orchestrator.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -41,7 +41,7 @@ AI coding assistants are powerful, but they don't know your codebase. Every sess
|
|
|
41
41
|
|
|
42
42
|
- **`.sum` files** — Per-file summaries with purpose, exports, dependencies
|
|
43
43
|
- **`AGENTS.md`** — Per-directory overviews with file organization (standard format)
|
|
44
|
-
- **`CLAUDE.md`**
|
|
44
|
+
- **`CLAUDE.md`** / **`GEMINI.md`** / **`OPENCODE.md`** — Runtime-specific project entry points
|
|
45
45
|
- **`ARCHITECTURE.md`** — System design overview for complex projects
|
|
46
46
|
- **`STACK.md`** — Technology stack from package.json
|
|
47
47
|
|
|
@@ -172,7 +172,7 @@ Your AI assistant executes the plan:
|
|
|
172
172
|
|
|
173
173
|
1. **File Analysis** — Creates `.sum` file for each source file
|
|
174
174
|
2. **Directory Docs** — Creates `AGENTS.md` for each directory
|
|
175
|
-
3. **Root Docs** — Creates `CLAUDE.md`, `ARCHITECTURE.md`, `STACK.md`
|
|
175
|
+
3. **Root Docs** — Creates `CLAUDE.md`, `GEMINI.md`, `OPENCODE.md`, `ARCHITECTURE.md`, `STACK.md`
|
|
176
176
|
|
|
177
177
|
---
|
|
178
178
|
|
|
@@ -253,6 +253,8 @@ Directory overview with:
|
|
|
253
253
|
### Root Documents
|
|
254
254
|
|
|
255
255
|
- **`CLAUDE.md`** — Project entry point for Claude Code (auto-loaded)
|
|
256
|
+
- **`GEMINI.md`** — Project entry point for Gemini CLI
|
|
257
|
+
- **`OPENCODE.md`** — Project entry point for OpenCode
|
|
256
258
|
- **`AGENTS.md`** — Root directory overview (universal format)
|
|
257
259
|
- **`ARCHITECTURE.md`** — System design overview (generated for complex projects)
|
|
258
260
|
- **`STACK.md`** — Technology stack from package.json
|
package/dist/cli/index.js
CHANGED
|
File without changes
|
package/dist/cli/update.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"AAuBA;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,+DAA+D;IAC/D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oCAAoC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iDAAiD;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"AAuBA;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,+DAA+D;IAC/D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oCAAoC;IACpC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iDAAiD;IACjD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAsND;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAmHf"}
|
package/dist/cli/update.js
CHANGED
|
@@ -51,7 +51,6 @@ function formatPlan(plan, verbose) {
|
|
|
51
51
|
lines.push('');
|
|
52
52
|
}
|
|
53
53
|
else {
|
|
54
|
-
lines.push(`Base commit: ${pc.dim(plan.baseCommit.slice(0, 7))}`);
|
|
55
54
|
lines.push(`Current commit: ${pc.dim(plan.currentCommit.slice(0, 7))}`);
|
|
56
55
|
lines.push('');
|
|
57
56
|
}
|
|
@@ -118,6 +117,8 @@ async function analyzeFile(projectRoot, change, verbose) {
|
|
|
118
117
|
// Read file content
|
|
119
118
|
const content = await readFile(filePath, 'utf-8');
|
|
120
119
|
const tokens = countTokens(content);
|
|
120
|
+
// Compute content hash for change detection
|
|
121
|
+
const contentHash = await computeContentHash(filePath);
|
|
121
122
|
// Detect file type and build prompt
|
|
122
123
|
const fileType = detectFileType(filePath, content);
|
|
123
124
|
const prompt = buildPrompt({
|
|
@@ -139,6 +140,7 @@ async function analyzeFile(projectRoot, change, verbose) {
|
|
|
139
140
|
},
|
|
140
141
|
fileType,
|
|
141
142
|
generatedAt: new Date().toISOString(),
|
|
143
|
+
contentHash,
|
|
142
144
|
};
|
|
143
145
|
// Write .sum file
|
|
144
146
|
await writeSumFile(filePath, sumContent);
|
|
@@ -149,6 +151,7 @@ async function analyzeFile(projectRoot, change, verbose) {
|
|
|
149
151
|
path: change.path,
|
|
150
152
|
success: true,
|
|
151
153
|
tokensUsed: tokens,
|
|
154
|
+
contentHash,
|
|
152
155
|
};
|
|
153
156
|
}
|
|
154
157
|
catch (error) {
|
|
@@ -236,11 +239,7 @@ export async function updateCommand(targetPath, options) {
|
|
|
236
239
|
if (plan.filesToAnalyze.length === 0 &&
|
|
237
240
|
plan.cleanup.deletedSumFiles.length === 0 &&
|
|
238
241
|
plan.cleanup.deletedAgentsMd.length === 0) {
|
|
239
|
-
|
|
240
|
-
if (lastRun) {
|
|
241
|
-
console.log(pc.dim(`Last run: ${lastRun.completed_at}`));
|
|
242
|
-
console.log(pc.dim(`Commit: ${lastRun.commit_hash.slice(0, 7)}`));
|
|
243
|
-
}
|
|
242
|
+
console.log(pc.green('All files are up to date.'));
|
|
244
243
|
return;
|
|
245
244
|
}
|
|
246
245
|
if (options.dryRun) {
|
|
@@ -257,14 +256,13 @@ export async function updateCommand(targetPath, options) {
|
|
|
257
256
|
console.log(pc.bold('=== Analyzing Changed Files ==='));
|
|
258
257
|
for (const change of plan.filesToAnalyze) {
|
|
259
258
|
const result = await analyzeFile(absolutePath, change, verbose);
|
|
260
|
-
if (result.success) {
|
|
259
|
+
if (result.success && result.contentHash) {
|
|
261
260
|
filesAnalyzed++;
|
|
262
261
|
totalTokens += result.tokensUsed;
|
|
263
262
|
// Update state for this file
|
|
264
|
-
|
|
265
|
-
await orchestrator.recordFileAnalyzed(change.path, contentHash, plan.currentCommit);
|
|
263
|
+
await orchestrator.recordFileAnalyzed(change.path, result.contentHash, plan.currentCommit);
|
|
266
264
|
}
|
|
267
|
-
else {
|
|
265
|
+
else if (!result.success) {
|
|
268
266
|
filesFailed++;
|
|
269
267
|
}
|
|
270
268
|
}
|
package/dist/cli/update.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/cli/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
* Default vendor directories to exclude from analysis.
|
|
6
6
|
* These are typically package managers, build outputs, or version control directories.
|
|
7
7
|
*/
|
|
8
|
-
export declare const DEFAULT_VENDOR_DIRS: readonly ["node_modules", "vendor", ".git", "dist", "build", "__pycache__", ".next", "venv", ".venv", "target", ".cargo", ".gradle", ".planning", ".claude", ".opencode"];
|
|
8
|
+
export declare const DEFAULT_VENDOR_DIRS: readonly ["node_modules", "vendor", ".git", "dist", "build", "__pycache__", ".next", "venv", ".venv", "target", ".cargo", ".gradle", ".agents-reverse-engineer", ".planning", ".claude", ".opencode", ".gemini"];
|
|
9
9
|
/**
|
|
10
10
|
* Default binary file extensions to exclude from analysis.
|
|
11
11
|
* These files cannot be meaningfully analyzed as text.
|
|
12
12
|
*/
|
|
13
|
-
export declare const DEFAULT_BINARY_EXTENSIONS: readonly [".png", ".jpg", ".jpeg", ".gif", ".bmp", ".ico", ".webp", ".zip", ".tar", ".gz", ".rar", ".7z", ".exe", ".dll", ".so", ".dylib", ".mp3", ".mp4", ".wav", ".pdf", ".woff", ".woff2", ".ttf", ".eot", ".class", ".pyc"];
|
|
13
|
+
export declare const DEFAULT_BINARY_EXTENSIONS: readonly [".png", ".jpg", ".jpeg", ".gif", ".bmp", ".ico", ".webp", ".zip", ".tar", ".gz", ".rar", ".7z", ".exe", ".dll", ".so", ".dylib", ".mp3", ".mp4", ".wav", ".pdf", ".woff", ".woff2", ".ttf", ".eot", ".class", ".pyc", ".gitignore", ".gitattributes", ".gitkeep", ".env", ".log", "AGENTS.md", "CLAUDE.md", "OPENCODE.md", "GEMINI.md"];
|
|
14
14
|
/**
|
|
15
15
|
* Default maximum file size in bytes (1MB).
|
|
16
16
|
* Files larger than this will be skipped with a warning.
|
|
@@ -23,8 +23,8 @@ export declare const DEFAULT_MAX_FILE_SIZE: number;
|
|
|
23
23
|
export declare const DEFAULT_CONFIG: {
|
|
24
24
|
readonly exclude: {
|
|
25
25
|
readonly patterns: string[];
|
|
26
|
-
readonly vendorDirs: readonly ["node_modules", "vendor", ".git", "dist", "build", "__pycache__", ".next", "venv", ".venv", "target", ".cargo", ".gradle", ".planning", ".claude", ".opencode"];
|
|
27
|
-
readonly binaryExtensions: readonly [".png", ".jpg", ".jpeg", ".gif", ".bmp", ".ico", ".webp", ".zip", ".tar", ".gz", ".rar", ".7z", ".exe", ".dll", ".so", ".dylib", ".mp3", ".mp4", ".wav", ".pdf", ".woff", ".woff2", ".ttf", ".eot", ".class", ".pyc"];
|
|
26
|
+
readonly vendorDirs: readonly ["node_modules", "vendor", ".git", "dist", "build", "__pycache__", ".next", "venv", ".venv", "target", ".cargo", ".gradle", ".agents-reverse-engineer", ".planning", ".claude", ".opencode", ".gemini"];
|
|
27
|
+
readonly binaryExtensions: readonly [".png", ".jpg", ".jpeg", ".gif", ".bmp", ".ico", ".webp", ".zip", ".tar", ".gz", ".rar", ".7z", ".exe", ".dll", ".so", ".dylib", ".mp3", ".mp4", ".wav", ".pdf", ".woff", ".woff2", ".ttf", ".eot", ".class", ".pyc", ".gitignore", ".gitattributes", ".gitkeep", ".env", ".log", "AGENTS.md", "CLAUDE.md", "OPENCODE.md", "GEMINI.md"];
|
|
28
28
|
};
|
|
29
29
|
readonly options: {
|
|
30
30
|
readonly followSymlinks: false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,eAAO,MAAM,mBAAmB,kNAmBtB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,yBAAyB,mVA+C5B,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAc,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,cAAc;;2BAEP,MAAM,EAAE;;;;;;;;;;;;CAYlB,CAAC"}
|
package/dist/config/defaults.js
CHANGED
|
@@ -19,9 +19,11 @@ export const DEFAULT_VENDOR_DIRS = [
|
|
|
19
19
|
'.cargo',
|
|
20
20
|
'.gradle',
|
|
21
21
|
// AI assistant tooling directories
|
|
22
|
+
'.agents-reverse-engineer',
|
|
22
23
|
'.planning',
|
|
23
24
|
'.claude',
|
|
24
25
|
'.opencode',
|
|
26
|
+
'.gemini',
|
|
25
27
|
];
|
|
26
28
|
/**
|
|
27
29
|
* Default binary file extensions to exclude from analysis.
|
|
@@ -61,6 +63,19 @@ export const DEFAULT_BINARY_EXTENSIONS = [
|
|
|
61
63
|
// Compiled
|
|
62
64
|
'.class',
|
|
63
65
|
'.pyc',
|
|
66
|
+
// Project
|
|
67
|
+
'.gitignore',
|
|
68
|
+
'.gitattributes',
|
|
69
|
+
'.gitkeep',
|
|
70
|
+
// Configuration
|
|
71
|
+
'.env',
|
|
72
|
+
// Logs
|
|
73
|
+
'.log',
|
|
74
|
+
// AI assistant
|
|
75
|
+
'AGENTS.md',
|
|
76
|
+
'CLAUDE.md',
|
|
77
|
+
'OPENCODE.md',
|
|
78
|
+
'GEMINI.md',
|
|
64
79
|
];
|
|
65
80
|
/**
|
|
66
81
|
* Default maximum file size in bytes (1MB).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,cAAc;IACd,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,aAAa;IACb,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,mCAAmC;IACnC,WAAW;IACX,SAAS;IACT,WAAW;
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,cAAc;IACd,QAAQ;IACR,MAAM;IACN,MAAM;IACN,OAAO;IACP,aAAa;IACb,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,mCAAmC;IACnC,0BAA0B;IAC1B,WAAW;IACX,SAAS;IACT,WAAW;IACX,SAAS;CACD,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,SAAS;IACT,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,WAAW;IACX,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,cAAc;IACd,MAAM;IACN,MAAM;IACN,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,MAAM;IACN,YAAY;IACZ,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,MAAM;IACN,WAAW;IACX,QAAQ;IACR,MAAM;IACN,UAAU;IACV,YAAY;IACZ,gBAAgB;IAChB,UAAU;IACV,gBAAgB;IAChB,MAAM;IACN,OAAO;IACP,MAAM;IACN,eAAe;IACf,WAAW;IACX,WAAW;IACX,aAAa;IACb,WAAW;CACH,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjD;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE;QACP,QAAQ,EAAE,EAAc;QACxB,UAAU,EAAE,CAAC,GAAG,mBAAmB,CAAC;QACpC,gBAAgB,EAAE,CAAC,GAAG,yBAAyB,CAAC;KACjD;IACD,OAAO,EAAE;QACP,cAAc,EAAE,KAAK;QACrB,WAAW,EAAE,qBAAqB;KACnC;IACD,MAAM,EAAE;QACN,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,IAAI;KACd;CACO,CAAC"}
|
|
@@ -46,8 +46,11 @@ export interface DirectoryDoc {
|
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
48
48
|
* Build AGENTS.md content from directory documentation.
|
|
49
|
+
*
|
|
50
|
+
* @param doc - Directory documentation
|
|
51
|
+
* @param hasLocalFile - Whether AGENTS.local.md exists (user-defined content)
|
|
49
52
|
*/
|
|
50
|
-
export declare function buildAgentsMd(doc: DirectoryDoc): string;
|
|
53
|
+
export declare function buildAgentsMd(doc: DirectoryDoc, hasLocalFile?: boolean): string;
|
|
51
54
|
/**
|
|
52
55
|
* Build directory documentation from .sum files.
|
|
53
56
|
*/
|
|
@@ -55,6 +58,9 @@ export declare function buildDirectoryDoc(dirPath: string, projectRoot: string):
|
|
|
55
58
|
/**
|
|
56
59
|
* Write AGENTS.md for a directory.
|
|
57
60
|
*
|
|
61
|
+
* If a user-defined AGENTS.md exists (not generated by us), it will be
|
|
62
|
+
* preserved as AGENTS.local.md and referenced in the generated file.
|
|
63
|
+
*
|
|
58
64
|
* @param dirPath - Directory to write AGENTS.md for
|
|
59
65
|
* @param projectRoot - Project root for relative paths
|
|
60
66
|
* @returns Path to written AGENTS.md
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents-md.d.ts","sourceRoot":"","sources":["../../../src/generation/writers/agents-md.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agents-md.d.ts","sourceRoot":"","sources":["../../../src/generation/writers/agents-md.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,KAAK,EAAE,OAAO,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,oCAAoC;IACpC,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,iDAAiD;IACjD,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,YAAY,EAAE,YAAY,GAAE,OAAe,GAAG,MAAM,CA+DtF;AA+GD;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,YAAY,CAAC,CAyEvB;AA0BD;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,MAAM,CAAC,CA0BjB"}
|
|
@@ -1,12 +1,25 @@
|
|
|
1
|
-
import { writeFile, readdir, stat, mkdir } from 'node:fs/promises';
|
|
1
|
+
import { writeFile, readFile, readdir, stat, mkdir, rename } from 'node:fs/promises';
|
|
2
2
|
import * as path from 'node:path';
|
|
3
3
|
import { readSumFile, getSumPath } from './sum.js';
|
|
4
|
+
/** Marker comment to identify generated AGENTS.md files */
|
|
5
|
+
const GENERATED_MARKER = '<!-- Generated by agents-reverse-engineer -->';
|
|
4
6
|
/**
|
|
5
7
|
* Build AGENTS.md content from directory documentation.
|
|
8
|
+
*
|
|
9
|
+
* @param doc - Directory documentation
|
|
10
|
+
* @param hasLocalFile - Whether AGENTS.local.md exists (user-defined content)
|
|
6
11
|
*/
|
|
7
|
-
export function buildAgentsMd(doc) {
|
|
12
|
+
export function buildAgentsMd(doc, hasLocalFile = false) {
|
|
8
13
|
const sections = [];
|
|
9
14
|
const dirName = path.basename(doc.path) || 'Project Root';
|
|
15
|
+
// Generated marker (first line)
|
|
16
|
+
sections.push(GENERATED_MARKER);
|
|
17
|
+
sections.push('');
|
|
18
|
+
// Reference to user-defined local file if it exists
|
|
19
|
+
if (hasLocalFile) {
|
|
20
|
+
sections.push('> **Note:** This directory has additional documentation in [AGENTS.local.md](./AGENTS.local.md)');
|
|
21
|
+
sections.push('');
|
|
22
|
+
}
|
|
10
23
|
// Header
|
|
11
24
|
sections.push(`# ${dirName}\n`);
|
|
12
25
|
if (doc.description) {
|
|
@@ -217,17 +230,59 @@ export async function buildDirectoryDoc(dirPath, projectRoot) {
|
|
|
217
230
|
}
|
|
218
231
|
return doc;
|
|
219
232
|
}
|
|
233
|
+
/**
|
|
234
|
+
* Check if an AGENTS.md file was generated by us (contains marker).
|
|
235
|
+
*/
|
|
236
|
+
async function isGeneratedAgentsMd(filePath) {
|
|
237
|
+
try {
|
|
238
|
+
const content = await readFile(filePath, 'utf-8');
|
|
239
|
+
return content.includes(GENERATED_MARKER);
|
|
240
|
+
}
|
|
241
|
+
catch {
|
|
242
|
+
return false;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Check if AGENTS.local.md exists in a directory.
|
|
247
|
+
*/
|
|
248
|
+
async function hasLocalAgentsMd(dirPath) {
|
|
249
|
+
try {
|
|
250
|
+
await stat(path.join(dirPath, 'AGENTS.local.md'));
|
|
251
|
+
return true;
|
|
252
|
+
}
|
|
253
|
+
catch {
|
|
254
|
+
return false;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
220
257
|
/**
|
|
221
258
|
* Write AGENTS.md for a directory.
|
|
222
259
|
*
|
|
260
|
+
* If a user-defined AGENTS.md exists (not generated by us), it will be
|
|
261
|
+
* preserved as AGENTS.local.md and referenced in the generated file.
|
|
262
|
+
*
|
|
223
263
|
* @param dirPath - Directory to write AGENTS.md for
|
|
224
264
|
* @param projectRoot - Project root for relative paths
|
|
225
265
|
* @returns Path to written AGENTS.md
|
|
226
266
|
*/
|
|
227
267
|
export async function writeAgentsMd(dirPath, projectRoot) {
|
|
228
|
-
const doc = await buildDirectoryDoc(dirPath, projectRoot);
|
|
229
|
-
const content = buildAgentsMd(doc);
|
|
230
268
|
const agentsPath = path.join(dirPath, 'AGENTS.md');
|
|
269
|
+
const localPath = path.join(dirPath, 'AGENTS.local.md');
|
|
270
|
+
// Check if existing AGENTS.md is user-defined (not generated by us)
|
|
271
|
+
let hasLocalFile = await hasLocalAgentsMd(dirPath);
|
|
272
|
+
try {
|
|
273
|
+
const existingIsGenerated = await isGeneratedAgentsMd(agentsPath);
|
|
274
|
+
if (!existingIsGenerated) {
|
|
275
|
+
// User-defined AGENTS.md exists - preserve it
|
|
276
|
+
await rename(agentsPath, localPath);
|
|
277
|
+
hasLocalFile = true;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
catch {
|
|
281
|
+
// No existing AGENTS.md - that's fine
|
|
282
|
+
}
|
|
283
|
+
// Build and write the generated AGENTS.md
|
|
284
|
+
const doc = await buildDirectoryDoc(dirPath, projectRoot);
|
|
285
|
+
const content = buildAgentsMd(doc, hasLocalFile);
|
|
231
286
|
await mkdir(path.dirname(agentsPath), { recursive: true });
|
|
232
287
|
await writeFile(agentsPath, content, 'utf-8');
|
|
233
288
|
return agentsPath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents-md.js","sourceRoot":"","sources":["../../../src/generation/writers/agents-md.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"agents-md.js","sourceRoot":"","sources":["../../../src/generation/writers/agents-md.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Write CLAUDE.md at the project root.
|
|
3
3
|
*
|
|
4
|
+
* Only writes if Claude Code is installed locally (`.claude` directory exists).
|
|
5
|
+
* If a user-defined CLAUDE.md exists (not generated by us), it will be
|
|
6
|
+
* preserved as CLAUDE.local.md and referenced in the generated file.
|
|
7
|
+
*
|
|
4
8
|
* @param projectRoot - Project root directory
|
|
5
|
-
* @returns Path to written CLAUDE.md
|
|
9
|
+
* @returns Path to written CLAUDE.md, or null if Claude Code is not installed
|
|
6
10
|
*/
|
|
7
|
-
export declare function writeClaudeMd(projectRoot: string): Promise<string>;
|
|
11
|
+
export declare function writeClaudeMd(projectRoot: string): Promise<string | null>;
|
|
8
12
|
/**
|
|
9
13
|
* Get the content that would be written to CLAUDE.md.
|
|
10
14
|
* Useful for previewing without writing.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-md.d.ts","sourceRoot":"","sources":["../../../src/generation/writers/claude-md.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"claude-md.d.ts","sourceRoot":"","sources":["../../../src/generation/writers/claude-md.ts"],"names":[],"mappings":"AA4DA;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4B/E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C"}
|
|
@@ -1,26 +1,89 @@
|
|
|
1
|
-
import { writeFile } from 'node:fs/promises';
|
|
1
|
+
import { writeFile, readFile, stat, rename } from 'node:fs/promises';
|
|
2
2
|
import * as path from 'node:path';
|
|
3
|
+
import { isRuntimeInstalledLocally } from '../../installer/paths.js';
|
|
4
|
+
/** Marker comment to identify generated CLAUDE.md files */
|
|
5
|
+
const GENERATED_MARKER = '<!-- Generated by agents-reverse-engineer -->';
|
|
3
6
|
/**
|
|
4
7
|
* Standard CLAUDE.md content - simple pointer to AGENTS.md.
|
|
5
8
|
*
|
|
6
9
|
* Per CONTEXT.md: "Simple pointer to AGENTS.md for Anthropic compatibility"
|
|
7
10
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
function buildClaudeMdContent(hasLocalFile) {
|
|
12
|
+
const sections = [];
|
|
13
|
+
// Generated marker (first line)
|
|
14
|
+
sections.push(GENERATED_MARKER);
|
|
15
|
+
sections.push('');
|
|
16
|
+
// Reference to user-defined local file if it exists
|
|
17
|
+
if (hasLocalFile) {
|
|
18
|
+
sections.push('> **Note:** This project has additional documentation in [CLAUDE.local.md](./CLAUDE.local.md)');
|
|
19
|
+
sections.push('');
|
|
20
|
+
}
|
|
21
|
+
sections.push('# CLAUDE.md');
|
|
22
|
+
sections.push('');
|
|
23
|
+
sections.push('See [AGENTS.md](./AGENTS.md) for codebase documentation.');
|
|
24
|
+
sections.push('');
|
|
25
|
+
sections.push('This file exists for Anthropic compatibility. The actual documentation');
|
|
26
|
+
sections.push('is maintained in AGENTS.md files throughout the codebase.');
|
|
27
|
+
sections.push('');
|
|
28
|
+
return sections.join('\n');
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Check if a file was generated by us (contains marker).
|
|
32
|
+
*/
|
|
33
|
+
async function isGeneratedFile(filePath) {
|
|
34
|
+
try {
|
|
35
|
+
const content = await readFile(filePath, 'utf-8');
|
|
36
|
+
return content.includes(GENERATED_MARKER);
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Check if a local file exists.
|
|
44
|
+
*/
|
|
45
|
+
async function hasLocalFile(localPath) {
|
|
46
|
+
try {
|
|
47
|
+
await stat(localPath);
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
15
54
|
/**
|
|
16
55
|
* Write CLAUDE.md at the project root.
|
|
17
56
|
*
|
|
57
|
+
* Only writes if Claude Code is installed locally (`.claude` directory exists).
|
|
58
|
+
* If a user-defined CLAUDE.md exists (not generated by us), it will be
|
|
59
|
+
* preserved as CLAUDE.local.md and referenced in the generated file.
|
|
60
|
+
*
|
|
18
61
|
* @param projectRoot - Project root directory
|
|
19
|
-
* @returns Path to written CLAUDE.md
|
|
62
|
+
* @returns Path to written CLAUDE.md, or null if Claude Code is not installed
|
|
20
63
|
*/
|
|
21
64
|
export async function writeClaudeMd(projectRoot) {
|
|
65
|
+
// Only generate if Claude Code is installed locally
|
|
66
|
+
const isInstalled = await isRuntimeInstalledLocally('claude', projectRoot);
|
|
67
|
+
if (!isInstalled) {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
22
70
|
const claudePath = path.join(projectRoot, 'CLAUDE.md');
|
|
23
|
-
|
|
71
|
+
const localPath = path.join(projectRoot, 'CLAUDE.local.md');
|
|
72
|
+
// Check if existing CLAUDE.md is user-defined (not generated by us)
|
|
73
|
+
let hasLocal = await hasLocalFile(localPath);
|
|
74
|
+
try {
|
|
75
|
+
const existingIsGenerated = await isGeneratedFile(claudePath);
|
|
76
|
+
if (!existingIsGenerated) {
|
|
77
|
+
// User-defined CLAUDE.md exists - preserve it
|
|
78
|
+
await rename(claudePath, localPath);
|
|
79
|
+
hasLocal = true;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
// No existing CLAUDE.md - that's fine
|
|
84
|
+
}
|
|
85
|
+
const content = buildClaudeMdContent(hasLocal);
|
|
86
|
+
await writeFile(claudePath, content, 'utf-8');
|
|
24
87
|
return claudePath;
|
|
25
88
|
}
|
|
26
89
|
/**
|
|
@@ -28,6 +91,6 @@ export async function writeClaudeMd(projectRoot) {
|
|
|
28
91
|
* Useful for previewing without writing.
|
|
29
92
|
*/
|
|
30
93
|
export function getClaudeMdContent() {
|
|
31
|
-
return
|
|
94
|
+
return buildClaudeMdContent(false);
|
|
32
95
|
}
|
|
33
96
|
//# sourceMappingURL=claude-md.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-md.js","sourceRoot":"","sources":["../../../src/generation/writers/claude-md.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-md.js","sourceRoot":"","sources":["../../../src/generation/writers/claude-md.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Write GEMINI.md at the project root.
|
|
3
|
+
*
|
|
4
|
+
* Only writes if Gemini CLI is installed locally (`.gemini` directory exists).
|
|
5
|
+
* If a user-defined GEMINI.md exists (not generated by us), it will be
|
|
6
|
+
* preserved as GEMINI.local.md and referenced in the generated file.
|
|
7
|
+
*
|
|
8
|
+
* @param projectRoot - Project root directory
|
|
9
|
+
* @returns Path to written GEMINI.md, or null if Gemini CLI is not installed
|
|
10
|
+
*/
|
|
11
|
+
export declare function writeGeminiMd(projectRoot: string): Promise<string | null>;
|
|
12
|
+
/**
|
|
13
|
+
* Get the content that would be written to GEMINI.md.
|
|
14
|
+
* Useful for previewing without writing.
|
|
15
|
+
*/
|
|
16
|
+
export declare function getGeminiMdContent(): string;
|
|
17
|
+
//# sourceMappingURL=gemini-md.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gemini-md.d.ts","sourceRoot":"","sources":["../../../src/generation/writers/gemini-md.ts"],"names":[],"mappings":"AA4DA;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4B/E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C"}
|