structx 2.1.0 → 2.2.1

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/dist/cli.js CHANGED
@@ -56,7 +56,7 @@ const program = new commander_1.Command();
56
56
  program
57
57
  .name('structx')
58
58
  .description('Graph-powered code intelligence CLI for TypeScript')
59
- .version('2.1.0')
59
+ .version('2.2.1')
60
60
  .option('--verbose', 'Enable verbose logging')
61
61
  .hook('preAction', (thisCommand) => {
62
62
  if (thisCommand.opts().verbose) {
@@ -171,95 +171,45 @@ program
171
171
  .command('install')
172
172
  .description('Install AI agent instruction files into a project')
173
173
  .argument('[repo-path]', 'Path to target project', '.')
174
- .action((repoPath) => {
174
+ .option('--force', 'Overwrite existing instruction files')
175
+ .action((repoPath, opts) => {
175
176
  const resolved = path.resolve(repoPath);
176
177
  const instructionsDir = path.join(__dirname, 'instructions');
177
- if (!fs.existsSync(instructionsDir)) {
178
- console.log('Instruction templates not found. Package may be incorrectly installed.');
178
+ const agentMdPath = path.join(instructionsDir, 'agent.md');
179
+ if (!fs.existsSync(agentMdPath)) {
180
+ console.log('Instruction template not found. Package may be incorrectly installed.');
179
181
  return;
180
182
  }
181
- const genericContent = fs.readFileSync(path.join(instructionsDir, 'generic.md'), 'utf-8');
183
+ const content = fs.readFileSync(agentMdPath, 'utf-8');
182
184
  let installed = 0;
183
- // CLAUDE.md append if exists, create if not
184
- const claudeMdPath = path.join(resolved, 'CLAUDE.md');
185
- const claudeContent = fs.readFileSync(path.join(instructionsDir, 'claude.md'), 'utf-8');
186
- if (fs.existsSync(claudeMdPath)) {
187
- const existing = fs.readFileSync(claudeMdPath, 'utf-8');
188
- if (existing.includes('StructX')) {
189
- console.log(' CLAUDE.md — already contains StructX section, skipping.');
190
- }
191
- else {
192
- fs.appendFileSync(claudeMdPath, '\n\n' + claudeContent, 'utf-8');
193
- console.log(' CLAUDE.md — appended StructX section.');
194
- installed++;
195
- }
196
- }
197
- else {
198
- fs.writeFileSync(claudeMdPath, claudeContent, 'utf-8');
199
- console.log(' CLAUDE.md — created.');
200
- installed++;
201
- }
202
- // .cursorrules
203
- const cursorPath = path.join(resolved, '.cursorrules');
204
- const cursorContent = fs.readFileSync(path.join(instructionsDir, 'cursor.md'), 'utf-8');
205
- if (fs.existsSync(cursorPath)) {
206
- const existing = fs.readFileSync(cursorPath, 'utf-8');
207
- if (existing.includes('StructX')) {
208
- console.log(' .cursorrules — already contains StructX section, skipping.');
209
- }
210
- else {
211
- fs.appendFileSync(cursorPath, '\n\n' + cursorContent, 'utf-8');
212
- console.log(' .cursorrules — appended StructX section.');
213
- installed++;
214
- }
215
- }
216
- else {
217
- fs.writeFileSync(cursorPath, cursorContent, 'utf-8');
218
- console.log(' .cursorrules — created.');
219
- installed++;
220
- }
221
- // .github/copilot-instructions.md
222
- const githubDir = path.join(resolved, '.github');
223
- const copilotPath = path.join(githubDir, 'copilot-instructions.md');
224
- const copilotContent = fs.readFileSync(path.join(instructionsDir, 'copilot.md'), 'utf-8');
225
- if (!fs.existsSync(githubDir)) {
226
- fs.mkdirSync(githubDir, { recursive: true });
227
- }
228
- if (fs.existsSync(copilotPath)) {
229
- const existing = fs.readFileSync(copilotPath, 'utf-8');
230
- if (existing.includes('StructX')) {
231
- console.log(' .github/copilot-instructions.md — already contains StructX section, skipping.');
232
- }
233
- else {
234
- fs.appendFileSync(copilotPath, '\n\n' + copilotContent, 'utf-8');
235
- console.log(' .github/copilot-instructions.md — appended StructX section.');
236
- installed++;
185
+ // All target files use the same agent.md content
186
+ const targets = [
187
+ { name: 'CLAUDE.md', path: path.join(resolved, 'CLAUDE.md') },
188
+ { name: 'AGENTS.md', path: path.join(resolved, 'AGENTS.md') },
189
+ { name: '.cursorrules', path: path.join(resolved, '.cursorrules') },
190
+ { name: '.github/copilot-instructions.md', path: path.join(resolved, '.github', 'copilot-instructions.md'), dir: path.join(resolved, '.github') },
191
+ ];
192
+ for (const target of targets) {
193
+ if (target.dir && !fs.existsSync(target.dir)) {
194
+ fs.mkdirSync(target.dir, { recursive: true });
237
195
  }
238
- }
239
- else {
240
- fs.writeFileSync(copilotPath, copilotContent, 'utf-8');
241
- console.log(' .github/copilot-instructions.mdcreated.');
242
- installed++;
243
- }
244
- // AGENTS.md (OpenAI Codex)
245
- const agentsMdPath = path.join(resolved, 'AGENTS.md');
246
- const codexContent = fs.readFileSync(path.join(instructionsDir, 'codex.md'), 'utf-8');
247
- if (fs.existsSync(agentsMdPath)) {
248
- const existing = fs.readFileSync(agentsMdPath, 'utf-8');
249
- if (existing.includes('StructX')) {
250
- console.log(' AGENTS.md — already contains StructX section, skipping.');
196
+ if (fs.existsSync(target.path) && !opts.force) {
197
+ const existing = fs.readFileSync(target.path, 'utf-8');
198
+ if (existing.includes('StructX')) {
199
+ console.log(` ${target.name}already contains StructX section, skipping. Use --force to overwrite.`);
200
+ }
201
+ else {
202
+ fs.appendFileSync(target.path, '\n\n' + content, 'utf-8');
203
+ console.log(` ${target.name} appended StructX section.`);
204
+ installed++;
205
+ }
251
206
  }
252
207
  else {
253
- fs.appendFileSync(agentsMdPath, '\n\n' + codexContent, 'utf-8');
254
- console.log(' AGENTS.mdappended StructX section.');
208
+ fs.writeFileSync(target.path, content, 'utf-8');
209
+ console.log(` ${target.name}${opts.force ? 'replaced' : 'created'}.`);
255
210
  installed++;
256
211
  }
257
212
  }
258
- else {
259
- fs.writeFileSync(agentsMdPath, codexContent, 'utf-8');
260
- console.log(' AGENTS.md — created.');
261
- installed++;
262
- }
263
213
  console.log(`\nInstalled ${installed} instruction file(s) into ${resolved}`);
264
214
  });
265
215
  // ── init ──
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ # StructX — Code Intelligence Graph
2
+
3
+ This project uses **StructX**, a graph-powered code intelligence tool for TypeScript.
4
+ StructX maintains a knowledge graph of the codebase including functions, types, routes,
5
+ constants, file summaries, and call relationships.
6
+
7
+ **Use StructX first for discovery and architecture, then read specific files for implementation precision.**
8
+
9
+ ## Workflow
10
+
11
+ ### Step 1: Initialize
12
+ Run `npx structx status` to check the graph state.
13
+ - If it says "not initialized" or counts are 0, run `npx structx setup .`
14
+ - This parses the entire codebase into the knowledge graph.
15
+
16
+ ### Step 2: Discover via StructX
17
+ Before writing code, use StructX to understand the codebase:
18
+ ```
19
+ npx structx overview --repo .
20
+ npx structx ask "what routes/endpoints exist?" --repo .
21
+ npx structx ask "how does <feature> work?" --repo .
22
+ npx structx ask "what types and interfaces exist?" --repo .
23
+ ```
24
+
25
+ StructX is best for:
26
+ - Finding all routes, functions, types, and constants
27
+ - Understanding call relationships and dependencies
28
+ - Impact analysis ("what breaks if I change X?")
29
+ - Getting a full architectural overview quickly
30
+
31
+ ### Step 3: Read files for precision
32
+ After using StructX to identify what exists and where, read the specific files you need for:
33
+ - Exact implementation details before editing
34
+ - Understanding logic flow within a function
35
+ - Debugging and verifying runtime behavior
36
+
37
+ The workflow is: **StructX tells you what and where → you read the file to see how → you edit.**
38
+
39
+ ### Step 4: After making changes
40
+ After editing any TypeScript files, update the graph:
41
+ ```
42
+ npx structx ingest .
43
+ npx structx analyze . --yes
44
+ ```
45
+
46
+ ### Step 5: Impact analysis before modifying existing code
47
+ Before changing any existing function, type, or route:
48
+ ```
49
+ npx structx ask "what breaks if I change <name>?" --repo .
50
+ ```
51
+
52
+ ## Available Commands
53
+
54
+ | Command | Description |
55
+ |---------|-------------|
56
+ | `npx structx status` | Check graph state |
57
+ | `npx structx setup .` | Full bootstrap (init + ingest + analyze) |
58
+ | `npx structx overview --repo .` | Full codebase summary in one shot |
59
+ | `npx structx ask "<question>" --repo .` | Query the knowledge graph |
60
+ | `npx structx ingest .` | Re-parse codebase after changes |
61
+ | `npx structx analyze . --yes` | Run semantic analysis on new/changed entities |
62
+
63
+ ## Guidelines
64
+
65
+ 1. Run `structx status` at session start
66
+ 2. Run `structx setup .` if not initialized or counts are 0
67
+ 3. Use `structx overview` or `structx ask` to discover architecture, routes, types, and relationships
68
+ 4. Read source files when you need exact implementation details for editing or debugging
69
+ 5. Run `structx ingest .` and `structx analyze . --yes` after making code changes
70
+ 6. Run impact analysis before modifying existing functions or types
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "structx",
3
- "version": "2.1.0",
3
+ "version": "2.2.1",
4
4
  "main": "dist/cli.js",
5
5
  "bin": {
6
6
  "structx": "dist/cli.js"
@@ -1,70 +0,0 @@
1
- # StructX — Code Intelligence Graph (MANDATORY)
2
-
3
- This project uses **StructX**, a graph-powered code intelligence tool for TypeScript.
4
- StructX maintains a knowledge graph of the codebase including functions, types, routes,
5
- constants, and file summaries. **You MUST use StructX as your primary source of codebase
6
- understanding. Do NOT read raw source files to learn about the codebase.**
7
-
8
- ## Mandatory Workflow
9
-
10
- ### Step 1: Initialize (ALWAYS do this first)
11
- Run `npx structx status` to check the graph state.
12
- - If it says "not initialized", run `npx structx setup .`
13
- - If Functions/Types/Routes counts are 0, run `npx structx setup .`
14
- - **Do NOT proceed to any code task until StructX is initialized and populated.**
15
-
16
- ### Step 2: Understand the codebase via StructX (NEVER skip this)
17
- Before writing ANY code, you MUST query StructX to understand the codebase:
18
- ```
19
- npx structx overview --repo .
20
- npx structx ask "what types and interfaces exist?" --repo .
21
- npx structx ask "what routes/endpoints exist?" --repo .
22
- npx structx ask "how does <relevant feature> work?" --repo .
23
- ```
24
- **You are FORBIDDEN from reading .ts source files to understand the codebase architecture,
25
- discover what functions exist, learn about types, or understand how features work.
26
- StructX provides all of this. Use it.**
27
-
28
- ### Step 3: Read source files ONLY for editing
29
- You may ONLY use raw file reads (Read/cat) when you have ALREADY queried StructX and
30
- now need to see the exact code at a specific location to make an edit. The workflow is:
31
- 1. Ask StructX what exists and where it is
32
- 2. StructX tells you the file path and line numbers
33
- 3. THEN read that specific file to make your edit
34
-
35
- **Reading source files to "explore" or "understand" the codebase is PROHIBITED.
36
- That is what StructX is for.**
37
-
38
- ### Step 4: After making changes
39
- After editing any TypeScript files:
40
- ```
41
- npx structx ingest .
42
- npx structx analyze . --yes
43
- ```
44
-
45
- ### Step 5: Impact analysis before modifying existing code
46
- Before changing any existing function, type, or route:
47
- ```
48
- npx structx ask "what breaks if I change <name>?" --repo .
49
- ```
50
-
51
- ## Available Commands
52
-
53
- | Command | Description |
54
- |---------|-------------|
55
- | `npx structx status` | Check graph state — ALWAYS run first |
56
- | `npx structx setup .` | Full bootstrap (init + ingest + analyze) |
57
- | `npx structx overview --repo .` | Full codebase summary in one shot |
58
- | `npx structx ask "<question>" --repo .` | Query the knowledge graph |
59
- | `npx structx ingest .` | Re-parse codebase after changes |
60
- | `npx structx analyze . --yes` | Run semantic analysis on new/changed entities |
61
-
62
- ## Rules Summary
63
-
64
- 1. **ALWAYS** run `structx status` at session start
65
- 2. **ALWAYS** run `structx setup .` if not initialized
66
- 3. **ALWAYS** use `structx ask` or `structx overview` to understand the codebase
67
- 4. **NEVER** read .ts files to explore/understand architecture — use StructX
68
- 5. **ONLY** read .ts files when you know exactly what file+line to edit (from StructX output)
69
- 6. **ALWAYS** run `structx ingest .` after making code changes
70
- 7. **ALWAYS** run impact analysis before modifying existing functions
@@ -1,70 +0,0 @@
1
- # StructX — Code Intelligence Graph (MANDATORY)
2
-
3
- This project uses **StructX**, a graph-powered code intelligence tool for TypeScript.
4
- StructX maintains a knowledge graph of the codebase including functions, types, routes,
5
- constants, and file summaries. **You MUST use StructX as your primary source of codebase
6
- understanding. Do NOT read raw source files to learn about the codebase.**
7
-
8
- ## Mandatory Workflow
9
-
10
- ### Step 1: Initialize (ALWAYS do this first)
11
- Run `npx structx status` to check the graph state.
12
- - If it says "not initialized", run `npx structx setup .`
13
- - If Functions/Types/Routes counts are 0, run `npx structx setup .`
14
- - **Do NOT proceed to any code task until StructX is initialized and populated.**
15
-
16
- ### Step 2: Understand the codebase via StructX (NEVER skip this)
17
- Before writing ANY code, you MUST query StructX to understand the codebase:
18
- ```
19
- npx structx overview --repo .
20
- npx structx ask "what types and interfaces exist?" --repo .
21
- npx structx ask "what routes/endpoints exist?" --repo .
22
- npx structx ask "how does <relevant feature> work?" --repo .
23
- ```
24
- **You are FORBIDDEN from reading .ts source files to understand the codebase architecture,
25
- discover what functions exist, learn about types, or understand how features work.
26
- StructX provides all of this. Use it.**
27
-
28
- ### Step 3: Read source files ONLY for editing
29
- You may ONLY use raw file reads when you have ALREADY queried StructX and now need to
30
- see the exact code at a specific location to make an edit. The workflow is:
31
- 1. Ask StructX what exists and where it is
32
- 2. StructX tells you the file path and line numbers
33
- 3. THEN read that specific file to make your edit
34
-
35
- **Reading source files to "explore" or "understand" the codebase is PROHIBITED.
36
- That is what StructX is for.**
37
-
38
- ### Step 4: After making changes
39
- After editing any TypeScript files:
40
- ```
41
- npx structx ingest .
42
- npx structx analyze . --yes
43
- ```
44
-
45
- ### Step 5: Impact analysis before modifying existing code
46
- Before changing any existing function, type, or route:
47
- ```
48
- npx structx ask "what breaks if I change <name>?" --repo .
49
- ```
50
-
51
- ## Available Commands
52
-
53
- | Command | Description |
54
- |---------|-------------|
55
- | `npx structx status` | Check graph state — ALWAYS run first |
56
- | `npx structx setup .` | Full bootstrap (init + ingest + analyze) |
57
- | `npx structx overview --repo .` | Full codebase summary in one shot |
58
- | `npx structx ask "<question>" --repo .` | Query the knowledge graph |
59
- | `npx structx ingest .` | Re-parse codebase after changes |
60
- | `npx structx analyze . --yes` | Run semantic analysis on new/changed entities |
61
-
62
- ## Rules Summary
63
-
64
- 1. **ALWAYS** run `structx status` at session start
65
- 2. **ALWAYS** run `structx setup .` if not initialized
66
- 3. **ALWAYS** use `structx ask` or `structx overview` to understand the codebase
67
- 4. **NEVER** read .ts files to explore/understand architecture — use StructX
68
- 5. **ONLY** read .ts files when you know exactly what file+line to edit (from StructX output)
69
- 6. **ALWAYS** run `structx ingest .` after making code changes
70
- 7. **ALWAYS** run impact analysis before modifying existing functions
@@ -1,70 +0,0 @@
1
- # StructX — Code Intelligence Graph (MANDATORY)
2
-
3
- This project uses **StructX**, a graph-powered code intelligence tool for TypeScript.
4
- StructX maintains a knowledge graph of the codebase including functions, types, routes,
5
- constants, and file summaries. **You MUST use StructX as your primary source of codebase
6
- understanding. Do NOT read raw source files to learn about the codebase.**
7
-
8
- ## Mandatory Workflow
9
-
10
- ### Step 1: Initialize (ALWAYS do this first)
11
- Run `npx structx status` to check the graph state.
12
- - If it says "not initialized", run `npx structx setup .`
13
- - If Functions/Types/Routes counts are 0, run `npx structx setup .`
14
- - **Do NOT proceed to any code task until StructX is initialized and populated.**
15
-
16
- ### Step 2: Understand the codebase via StructX (NEVER skip this)
17
- Before writing ANY code, you MUST query StructX to understand the codebase:
18
- ```
19
- npx structx overview --repo .
20
- npx structx ask "what types and interfaces exist?" --repo .
21
- npx structx ask "what routes/endpoints exist?" --repo .
22
- npx structx ask "how does <relevant feature> work?" --repo .
23
- ```
24
- **You are FORBIDDEN from reading .ts source files to understand the codebase architecture,
25
- discover what functions exist, learn about types, or understand how features work.
26
- StructX provides all of this. Use it.**
27
-
28
- ### Step 3: Read source files ONLY for editing
29
- You may ONLY use raw file reads when you have ALREADY queried StructX and now need to
30
- see the exact code at a specific location to make an edit. The workflow is:
31
- 1. Ask StructX what exists and where it is
32
- 2. StructX tells you the file path and line numbers
33
- 3. THEN read that specific file to make your edit
34
-
35
- **Reading source files to "explore" or "understand" the codebase is PROHIBITED.
36
- That is what StructX is for.**
37
-
38
- ### Step 4: After making changes
39
- After editing any TypeScript files:
40
- ```
41
- npx structx ingest .
42
- npx structx analyze . --yes
43
- ```
44
-
45
- ### Step 5: Impact analysis before modifying existing code
46
- Before changing any existing function, type, or route:
47
- ```
48
- npx structx ask "what breaks if I change <name>?" --repo .
49
- ```
50
-
51
- ## Available Commands
52
-
53
- | Command | Description |
54
- |---------|-------------|
55
- | `npx structx status` | Check graph state — ALWAYS run first |
56
- | `npx structx setup .` | Full bootstrap (init + ingest + analyze) |
57
- | `npx structx overview --repo .` | Full codebase summary in one shot |
58
- | `npx structx ask "<question>" --repo .` | Query the knowledge graph |
59
- | `npx structx ingest .` | Re-parse codebase after changes |
60
- | `npx structx analyze . --yes` | Run semantic analysis on new/changed entities |
61
-
62
- ## Rules Summary
63
-
64
- 1. **ALWAYS** run `structx status` at session start
65
- 2. **ALWAYS** run `structx setup .` if not initialized
66
- 3. **ALWAYS** use `structx ask` or `structx overview` to understand the codebase
67
- 4. **NEVER** read .ts files to explore/understand architecture — use StructX
68
- 5. **ONLY** read .ts files when you know exactly what file+line to edit (from StructX output)
69
- 6. **ALWAYS** run `structx ingest .` after making code changes
70
- 7. **ALWAYS** run impact analysis before modifying existing functions
@@ -1,68 +0,0 @@
1
- # StructX — Code Intelligence Graph (MANDATORY)
2
-
3
- This project uses **StructX**, a graph-powered code intelligence tool for TypeScript.
4
- StructX maintains a knowledge graph of the codebase including functions, types, routes,
5
- constants, and file summaries. **You MUST use StructX as your primary source of codebase
6
- understanding. Do NOT read raw source files to learn about the codebase.**
7
-
8
- ## Mandatory Workflow
9
-
10
- ### Step 1: Initialize (ALWAYS do this first)
11
- Run `npx structx status` to check the graph state.
12
- - If it says "not initialized", run `npx structx setup .`
13
- - If Functions/Types/Routes counts are 0, run `npx structx setup .`
14
- - **Do NOT proceed to any code task until StructX is initialized and populated.**
15
-
16
- ### Step 2: Understand the codebase via StructX (NEVER skip this)
17
- Before writing ANY code, you MUST query StructX to understand the codebase:
18
- ```
19
- npx structx overview --repo .
20
- npx structx ask "what types and interfaces exist?" --repo .
21
- npx structx ask "what routes/endpoints exist?" --repo .
22
- npx structx ask "how does <relevant feature> work?" --repo .
23
- ```
24
- **You are FORBIDDEN from reading .ts source files to understand the codebase architecture,
25
- discover what functions exist, learn about types, or understand how features work.
26
- StructX provides all of this. Use it.**
27
-
28
- ### Step 3: Read source files ONLY for editing
29
- You may ONLY use raw file reads when you have ALREADY queried StructX and now need to
30
- see the exact code at a specific location to make an edit. The workflow is:
31
- 1. Ask StructX what exists and where it is
32
- 2. StructX tells you the file path and line numbers
33
- 3. THEN read that specific file to make your edit
34
-
35
- **Reading source files to "explore" or "understand" the codebase is PROHIBITED.
36
- That is what StructX is for.**
37
-
38
- ### Step 4: After making changes
39
- After editing any TypeScript files:
40
- ```
41
- npx structx ingest .
42
- npx structx analyze . --yes
43
- ```
44
-
45
- ### Step 5: Impact analysis before modifying existing code
46
- Before changing any existing function, type, or route:
47
- ```
48
- npx structx ask "what breaks if I change <name>?" --repo .
49
- ```
50
-
51
- ## Available Commands
52
-
53
- - `npx structx status` — Check graph state — ALWAYS run first
54
- - `npx structx setup .` — Full bootstrap (init + ingest + analyze)
55
- - `npx structx overview --repo .` — Full codebase summary in one shot
56
- - `npx structx ask "<question>" --repo .` — Query the knowledge graph
57
- - `npx structx ingest .` — Re-parse codebase after changes
58
- - `npx structx analyze . --yes` — Run semantic analysis on new/changed entities
59
-
60
- ## Rules Summary
61
-
62
- 1. **ALWAYS** run `structx status` at session start
63
- 2. **ALWAYS** run `structx setup .` if not initialized
64
- 3. **ALWAYS** use `structx ask` or `structx overview` to understand the codebase
65
- 4. **NEVER** read .ts files to explore/understand architecture — use StructX
66
- 5. **ONLY** read .ts files when you know exactly what file+line to edit (from StructX output)
67
- 6. **ALWAYS** run `structx ingest .` after making code changes
68
- 7. **ALWAYS** run impact analysis before modifying existing functions
@@ -1,70 +0,0 @@
1
- # StructX — Code Intelligence Graph (MANDATORY)
2
-
3
- This project uses **StructX**, a graph-powered code intelligence tool for TypeScript.
4
- StructX maintains a knowledge graph of the codebase including functions, types, routes,
5
- constants, and file summaries. **You MUST use StructX as your primary source of codebase
6
- understanding. Do NOT read raw source files to learn about the codebase.**
7
-
8
- ## Mandatory Workflow
9
-
10
- ### Step 1: Initialize (ALWAYS do this first)
11
- Run `npx structx status` to check the graph state.
12
- - If it says "not initialized", run `npx structx setup .`
13
- - If Functions/Types/Routes counts are 0, run `npx structx setup .`
14
- - **Do NOT proceed to any code task until StructX is initialized and populated.**
15
-
16
- ### Step 2: Understand the codebase via StructX (NEVER skip this)
17
- Before writing ANY code, you MUST query StructX to understand the codebase:
18
- ```
19
- npx structx overview --repo .
20
- npx structx ask "what types and interfaces exist?" --repo .
21
- npx structx ask "what routes/endpoints exist?" --repo .
22
- npx structx ask "how does <relevant feature> work?" --repo .
23
- ```
24
- **You are FORBIDDEN from reading .ts source files to understand the codebase architecture,
25
- discover what functions exist, learn about types, or understand how features work.
26
- StructX provides all of this. Use it.**
27
-
28
- ### Step 3: Read source files ONLY for editing
29
- You may ONLY use raw file reads when you have ALREADY queried StructX and now need to
30
- see the exact code at a specific location to make an edit. The workflow is:
31
- 1. Ask StructX what exists and where it is
32
- 2. StructX tells you the file path and line numbers
33
- 3. THEN read that specific file to make your edit
34
-
35
- **Reading source files to "explore" or "understand" the codebase is PROHIBITED.
36
- That is what StructX is for.**
37
-
38
- ### Step 4: After making changes
39
- After editing any TypeScript files:
40
- ```
41
- npx structx ingest .
42
- npx structx analyze . --yes
43
- ```
44
-
45
- ### Step 5: Impact analysis before modifying existing code
46
- Before changing any existing function, type, or route:
47
- ```
48
- npx structx ask "what breaks if I change <name>?" --repo .
49
- ```
50
-
51
- ## Available Commands
52
-
53
- | Command | Description |
54
- |---------|-------------|
55
- | `npx structx status` | Check graph state — ALWAYS run first |
56
- | `npx structx setup .` | Full bootstrap (init + ingest + analyze) |
57
- | `npx structx overview --repo .` | Full codebase summary in one shot |
58
- | `npx structx ask "<question>" --repo .` | Query the knowledge graph |
59
- | `npx structx ingest .` | Re-parse codebase after changes |
60
- | `npx structx analyze . --yes` | Run semantic analysis on new/changed entities |
61
-
62
- ## Rules Summary
63
-
64
- 1. **ALWAYS** run `structx status` at session start
65
- 2. **ALWAYS** run `structx setup .` if not initialized
66
- 3. **ALWAYS** use `structx ask` or `structx overview` to understand the codebase
67
- 4. **NEVER** read .ts files to explore/understand architecture — use StructX
68
- 5. **ONLY** read .ts files when you know exactly what file+line to edit (from StructX output)
69
- 6. **ALWAYS** run `structx ingest .` after making code changes
70
- 7. **ALWAYS** run impact analysis before modifying existing functions