@dailephd/my-dev-kit 1.0.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/CHANGELOG.md +16 -0
- package/LICENSE +21 -0
- package/README.md +221 -0
- package/dist/cli.js +2611 -0
- package/docs/ARCHITECTURE.md +649 -0
- package/docs/CI_CD.md +248 -0
- package/docs/COMMANDS.md +684 -0
- package/docs/DEVELOPMENT.md +360 -0
- package/docs/GRAPH_SCHEMA.md +675 -0
- package/docs/QUICKSTART.md +243 -0
- package/docs/RELEASE.md +249 -0
- package/docs/ROADMAP.md +733 -0
- package/docs/SECURITY.md +92 -0
- package/docs/WORKFLOWS.md +316 -0
- package/examples/README.md +23 -0
- package/examples/basic-python/README.md +14 -0
- package/examples/basic-python/src/main.py +38 -0
- package/examples/basic-python/src/utils.py +24 -0
- package/examples/basic-ts/README.md +14 -0
- package/examples/basic-ts/src/index.ts +6 -0
- package/examples/basic-ts/src/userService.ts +9 -0
- package/examples/basic-ts/src/userTypes.ts +6 -0
- package/package.json +51 -0
package/docs/ROADMAP.md
ADDED
|
@@ -0,0 +1,733 @@
|
|
|
1
|
+
# Roadmap
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
`my-dev-kit` is a CLI-first development context kit for indexing codebases, building graph artifacts, searching project structure, slicing relevant neighborhoods, and retrieving bounded source context for LLM-assisted development.
|
|
6
|
+
|
|
7
|
+
The product goal is simple: help developers and coding agents understand large projects without dumping whole files, broad folders, or unfiltered documentation into a prompt.
|
|
8
|
+
|
|
9
|
+
The current release focuses on deterministic local artifacts:
|
|
10
|
+
|
|
11
|
+
- `symbol-index.json`
|
|
12
|
+
- `code-graph.json`
|
|
13
|
+
- optional call graph artifacts
|
|
14
|
+
- bounded source retrieval
|
|
15
|
+
- graph slices
|
|
16
|
+
- DOT, SVG, and PNG graph views
|
|
17
|
+
- deterministic keyword search over index artifacts
|
|
18
|
+
|
|
19
|
+
Future releases improve precision, scale, language coverage, frontend workflows, data-model understanding, and retrieval quality.
|
|
20
|
+
|
|
21
|
+
## Version 1.0.0
|
|
22
|
+
|
|
23
|
+
Version 1.0.0 is the first stable CLI release of `my-dev-kit`.
|
|
24
|
+
|
|
25
|
+
### Command surface
|
|
26
|
+
|
|
27
|
+
Version 1.0.0 includes six primary commands:
|
|
28
|
+
|
|
29
|
+
- `index`
|
|
30
|
+
- `lookup`
|
|
31
|
+
- `source`
|
|
32
|
+
- `slice`
|
|
33
|
+
- `view`
|
|
34
|
+
- `search`
|
|
35
|
+
|
|
36
|
+
### Implemented capabilities
|
|
37
|
+
|
|
38
|
+
#### Indexing
|
|
39
|
+
|
|
40
|
+
- TypeScript indexing
|
|
41
|
+
- JavaScript indexing
|
|
42
|
+
- Python indexing
|
|
43
|
+
- symbol extraction for functions, classes, constants, imports, exports, and source locations
|
|
44
|
+
- file-level graph nodes
|
|
45
|
+
- symbol-level graph nodes
|
|
46
|
+
- typed graph edges
|
|
47
|
+
- static call graph generation through `--call-graph`
|
|
48
|
+
- conservative TypeScript, JavaScript, and Python call extraction
|
|
49
|
+
- `symbol-index.json` output
|
|
50
|
+
- `code-graph.json` output
|
|
51
|
+
|
|
52
|
+
#### Lookup
|
|
53
|
+
|
|
54
|
+
- exact node lookup
|
|
55
|
+
- configurable graph depth
|
|
56
|
+
- file and symbol lookup support
|
|
57
|
+
- structured output for downstream tooling
|
|
58
|
+
|
|
59
|
+
#### Source retrieval
|
|
60
|
+
|
|
61
|
+
- line-range retrieval
|
|
62
|
+
- symbol-name retrieval
|
|
63
|
+
- node-ID retrieval
|
|
64
|
+
- bounded source extraction
|
|
65
|
+
- `json`, `plain`, and `numbered` output formats
|
|
66
|
+
- file output through `--out <path>`
|
|
67
|
+
|
|
68
|
+
#### Graph slicing
|
|
69
|
+
|
|
70
|
+
- bounded graph-neighborhood extraction
|
|
71
|
+
- focus-node slicing
|
|
72
|
+
- graph context suitable for prompt preparation
|
|
73
|
+
- typed node and edge output
|
|
74
|
+
|
|
75
|
+
#### Graph viewing
|
|
76
|
+
|
|
77
|
+
- Graphviz DOT output
|
|
78
|
+
- SVG output through Graphviz
|
|
79
|
+
- PNG output through Graphviz
|
|
80
|
+
- semantic edge styling
|
|
81
|
+
- labeled edge styling
|
|
82
|
+
- minimal edge styling
|
|
83
|
+
- graph legend support for semantic views
|
|
84
|
+
|
|
85
|
+
#### Search
|
|
86
|
+
|
|
87
|
+
- deterministic keyword search over index artifacts
|
|
88
|
+
- field-weighted ranking
|
|
89
|
+
- search over files, symbols, paths, and graph metadata
|
|
90
|
+
- retrieval-oriented candidate discovery
|
|
91
|
+
|
|
92
|
+
## Version 1.0.x
|
|
93
|
+
|
|
94
|
+
Version 1.0.x releases focus on release hardening, documentation quality, and safer retrieval workflows without changing the core artifact model.
|
|
95
|
+
|
|
96
|
+
### Large-repository safety
|
|
97
|
+
|
|
98
|
+
Planned improvements:
|
|
99
|
+
|
|
100
|
+
- default ignore rules for common generated folders
|
|
101
|
+
- `--exclude` support where missing
|
|
102
|
+
- `--dry-run` support for expensive commands
|
|
103
|
+
- progress reporting during indexing
|
|
104
|
+
- clearer output when a repository is large
|
|
105
|
+
- safer behavior when a command would scan too many files
|
|
106
|
+
- documentation for indexing large monorepos
|
|
107
|
+
|
|
108
|
+
### Retrieval workflow reporting
|
|
109
|
+
|
|
110
|
+
Planned improvements:
|
|
111
|
+
|
|
112
|
+
- report search queries used
|
|
113
|
+
- report selected candidate nodes
|
|
114
|
+
- report lookup targets
|
|
115
|
+
- report slice focus nodes
|
|
116
|
+
- report source nodes retrieved
|
|
117
|
+
- report source line ranges retrieved
|
|
118
|
+
- report fallback reason when line-range retrieval is used
|
|
119
|
+
- report fallback reason when a full-file read is recommended by an external coding agent
|
|
120
|
+
|
|
121
|
+
The graph-guided workflow should be easy to audit:
|
|
122
|
+
|
|
123
|
+
1. search candidate nodes
|
|
124
|
+
2. lookup the strongest nodes
|
|
125
|
+
3. slice around the strongest node or nodes
|
|
126
|
+
4. retrieve source by exact node or symbol
|
|
127
|
+
5. use line ranges only when symbol retrieval is not enough
|
|
128
|
+
|
|
129
|
+
### Documentation and examples
|
|
130
|
+
|
|
131
|
+
Planned improvements:
|
|
132
|
+
|
|
133
|
+
- clearer `README.md`
|
|
134
|
+
- clearer `QUICKSTART.md`
|
|
135
|
+
- clearer `COMMANDS.md`
|
|
136
|
+
- clearer graph-guided retrieval examples
|
|
137
|
+
- better examples for existing projects
|
|
138
|
+
- better examples for multi-root projects
|
|
139
|
+
- clearer explanation of generated artifacts
|
|
140
|
+
- clearer explanation of when to use each command
|
|
141
|
+
- removal of confusing or unused example scripts
|
|
142
|
+
|
|
143
|
+
## Version 1.1.0
|
|
144
|
+
|
|
145
|
+
Version 1.1.0 focuses on source retrieval expansion.
|
|
146
|
+
|
|
147
|
+
The goal is to reduce full-file reads when the correct file, symbol, or component is already known.
|
|
148
|
+
|
|
149
|
+
### Source continuation
|
|
150
|
+
|
|
151
|
+
Planned features:
|
|
152
|
+
|
|
153
|
+
- continue retrieving a large symbol after the first bounded result
|
|
154
|
+
- retrieve the next source window from a known line
|
|
155
|
+
- make truncation recoverable without reading the whole file
|
|
156
|
+
|
|
157
|
+
Candidate command shapes:
|
|
158
|
+
|
|
159
|
+
- `source --node <symbol-id> --continue`
|
|
160
|
+
- `source --file <path> --symbol <name> --continue-from <line>`
|
|
161
|
+
|
|
162
|
+
### Local context expansion
|
|
163
|
+
|
|
164
|
+
Planned features:
|
|
165
|
+
|
|
166
|
+
- include imports for a retrieved symbol
|
|
167
|
+
- include local type definitions used by a retrieved symbol
|
|
168
|
+
- include local prop types used by a React component
|
|
169
|
+
- include local constants used by a symbol
|
|
170
|
+
- include local helper functions called by a symbol
|
|
171
|
+
- include local helper components used by a component
|
|
172
|
+
- include sibling source blocks when they are direct local dependencies
|
|
173
|
+
|
|
174
|
+
Candidate command shapes:
|
|
175
|
+
|
|
176
|
+
- `source --node <symbol-id> --include-imports`
|
|
177
|
+
- `source --node <symbol-id> --include-local-types`
|
|
178
|
+
- `source --node <symbol-id> --include-local-components`
|
|
179
|
+
- `source --node <symbol-id> --include-props`
|
|
180
|
+
- `source --node <symbol-id> --include-local-deps`
|
|
181
|
+
- `source --node <symbol-id> --expand-to-local-dependencies`
|
|
182
|
+
|
|
183
|
+
### Source bundle output
|
|
184
|
+
|
|
185
|
+
Planned features:
|
|
186
|
+
|
|
187
|
+
- bounded source bundles around one symbol
|
|
188
|
+
- local dependency closure with a max-line cap
|
|
189
|
+
- explanation for each included source block
|
|
190
|
+
- deterministic ordering of included blocks
|
|
191
|
+
- compact output suitable for coding-agent prompts
|
|
192
|
+
|
|
193
|
+
Candidate command shape:
|
|
194
|
+
|
|
195
|
+
- `source --node <symbol-id> --include-local-deps --max-lines <n>`
|
|
196
|
+
|
|
197
|
+
## Version 1.2.0
|
|
198
|
+
|
|
199
|
+
Version 1.2.0 focuses on React, TSX, and frontend test indexing.
|
|
200
|
+
|
|
201
|
+
The goal is to make frontend work retrievable by the structures developers actually use: components, props, hooks, JSX branches, visible text, routes, test names, and locators.
|
|
202
|
+
|
|
203
|
+
### TSX and React indexing
|
|
204
|
+
|
|
205
|
+
Planned features:
|
|
206
|
+
|
|
207
|
+
- exported component indexing
|
|
208
|
+
- local component indexing
|
|
209
|
+
- prop type indexing
|
|
210
|
+
- local type indexing
|
|
211
|
+
- hook block indexing
|
|
212
|
+
- `useState` declaration indexing
|
|
213
|
+
- `useEffect` block indexing
|
|
214
|
+
- callback and event-handler indexing
|
|
215
|
+
- JSX branch indexing
|
|
216
|
+
- JSX section indexing
|
|
217
|
+
- important UI string indexing
|
|
218
|
+
- `data-testid` indexing
|
|
219
|
+
- ARIA label indexing
|
|
220
|
+
|
|
221
|
+
Possible node examples:
|
|
222
|
+
|
|
223
|
+
- `component:apps/web/app/evidence-seed/page.tsx#EvidenceSeedPage`
|
|
224
|
+
- `handler:apps/web/app/evidence-seed/page.tsx#EvidenceSeedPage.handleRunIngestion`
|
|
225
|
+
- `state:apps/web/app/evidence-seed/page.tsx#evidenceRecordsVisible`
|
|
226
|
+
- `jsx:apps/web/app/evidence-seed/page.tsx#stage-3-evidence`
|
|
227
|
+
- `ui-string:apps/web/app/evidence-seed/page.tsx#Continue-to-evidence-review`
|
|
228
|
+
|
|
229
|
+
### React relationship extraction
|
|
230
|
+
|
|
231
|
+
Planned relationship types:
|
|
232
|
+
|
|
233
|
+
- component renders component
|
|
234
|
+
- component passes prop
|
|
235
|
+
- prop references handler
|
|
236
|
+
- handler sets state
|
|
237
|
+
- handler reads state
|
|
238
|
+
- state controls JSX branch
|
|
239
|
+
- effect restores state
|
|
240
|
+
- button invokes handler
|
|
241
|
+
- link points to target ID
|
|
242
|
+
- JSX anchor points to route or section
|
|
243
|
+
|
|
244
|
+
### Test-file indexing
|
|
245
|
+
|
|
246
|
+
Planned features:
|
|
247
|
+
|
|
248
|
+
- `describe` block indexing
|
|
249
|
+
- `test` block indexing
|
|
250
|
+
- `it` block indexing
|
|
251
|
+
- `beforeEach` and `afterEach` indexing
|
|
252
|
+
- local test helper indexing
|
|
253
|
+
- Playwright route string indexing
|
|
254
|
+
- locator chain indexing
|
|
255
|
+
- visible text indexing
|
|
256
|
+
- test ID indexing
|
|
257
|
+
|
|
258
|
+
Candidate command shapes:
|
|
259
|
+
|
|
260
|
+
- `source --test-title <title>`
|
|
261
|
+
- `source --contains <exact-string>`
|
|
262
|
+
- `source --route <route>`
|
|
263
|
+
- `search --test-title <title>`
|
|
264
|
+
- `search --test-id <id>`
|
|
265
|
+
|
|
266
|
+
### Exact string and locator retrieval
|
|
267
|
+
|
|
268
|
+
Planned searchable targets:
|
|
269
|
+
|
|
270
|
+
- visible text
|
|
271
|
+
- route paths
|
|
272
|
+
- `data-testid` values
|
|
273
|
+
- ARIA labels
|
|
274
|
+
- placeholders
|
|
275
|
+
- button names
|
|
276
|
+
- link names
|
|
277
|
+
- locator expressions
|
|
278
|
+
- test titles
|
|
279
|
+
- page titles
|
|
280
|
+
- status labels
|
|
281
|
+
|
|
282
|
+
## Version 1.3.0
|
|
283
|
+
|
|
284
|
+
Version 1.3.0 focuses on route-aware and browser-state-aware retrieval.
|
|
285
|
+
|
|
286
|
+
The goal is to help developers answer a practical frontend question: what code, state, test, and route are involved in making this UI visible?
|
|
287
|
+
|
|
288
|
+
### Route-aware indexing
|
|
289
|
+
|
|
290
|
+
Planned features:
|
|
291
|
+
|
|
292
|
+
- route path to page component relationships
|
|
293
|
+
- route path to API handler relationships
|
|
294
|
+
- page component to navigation call relationships
|
|
295
|
+
- route path to tests mentioning the route
|
|
296
|
+
- route path to UI links
|
|
297
|
+
- route path to access-policy entries when detectable
|
|
298
|
+
- route-centered graph slicing
|
|
299
|
+
|
|
300
|
+
Candidate command shapes:
|
|
301
|
+
|
|
302
|
+
- `search --route <route>`
|
|
303
|
+
- `slice --route <route>`
|
|
304
|
+
- `slice --route <route> --include-tests`
|
|
305
|
+
- `slice --route <route> --include-policy`
|
|
306
|
+
|
|
307
|
+
### Browser storage tracing
|
|
308
|
+
|
|
309
|
+
Planned features:
|
|
310
|
+
|
|
311
|
+
- session storage key indexing
|
|
312
|
+
- local storage key indexing
|
|
313
|
+
- read-site detection
|
|
314
|
+
- write-site detection
|
|
315
|
+
- clear-site detection
|
|
316
|
+
- storage key to component relationship
|
|
317
|
+
- storage key to route relationship
|
|
318
|
+
- storage key to artifact type relationship when detectable
|
|
319
|
+
|
|
320
|
+
Useful examples:
|
|
321
|
+
|
|
322
|
+
- `evidence-seed-artifact`
|
|
323
|
+
- `structured-content-bundle`
|
|
324
|
+
- `evidence-record-set`
|
|
325
|
+
- `evidence-review-snapshot`
|
|
326
|
+
- `evidence-graph-visualization-snapshot`
|
|
327
|
+
- `workspace-editor-draft.v1`
|
|
328
|
+
|
|
329
|
+
### UI reachability analysis
|
|
330
|
+
|
|
331
|
+
Planned features:
|
|
332
|
+
|
|
333
|
+
- report whether a component is imported
|
|
334
|
+
- report whether a component is rendered
|
|
335
|
+
- report whether rendering is conditional
|
|
336
|
+
- report which state gates a UI branch
|
|
337
|
+
- report which route reaches a component
|
|
338
|
+
- report which user action reaches a component
|
|
339
|
+
- report which test proves visibility
|
|
340
|
+
- flag components that are defined but not reachable
|
|
341
|
+
|
|
342
|
+
Candidate command shapes:
|
|
343
|
+
|
|
344
|
+
- `lookup --ui <component-or-string>`
|
|
345
|
+
- `slice --ui <component-or-string>`
|
|
346
|
+
- `view --route <route>`
|
|
347
|
+
- `search --storage-key <key>`
|
|
348
|
+
|
|
349
|
+
## Version 1.4.0
|
|
350
|
+
|
|
351
|
+
Version 1.4.0 focuses on data-model graph extraction.
|
|
352
|
+
|
|
353
|
+
The goal is to add a separate graph layer for data entities and relationships without mixing data-model relationships into the general code graph.
|
|
354
|
+
|
|
355
|
+
### Data-model extraction
|
|
356
|
+
|
|
357
|
+
Planned features:
|
|
358
|
+
|
|
359
|
+
- entity extraction
|
|
360
|
+
- field extraction
|
|
361
|
+
- primary key extraction
|
|
362
|
+
- foreign key extraction
|
|
363
|
+
- one-to-one relationship extraction
|
|
364
|
+
- one-to-many relationship extraction
|
|
365
|
+
- many-to-one relationship extraction
|
|
366
|
+
- many-to-many relationship extraction
|
|
367
|
+
- calculated field or measure dependency extraction where practical
|
|
368
|
+
- schema-to-code relationship mapping where practical
|
|
369
|
+
|
|
370
|
+
### Supported sources
|
|
371
|
+
|
|
372
|
+
Candidate extraction sources:
|
|
373
|
+
|
|
374
|
+
- Prisma schemas
|
|
375
|
+
- SQL migration files
|
|
376
|
+
- Django models
|
|
377
|
+
- SQLAlchemy models
|
|
378
|
+
- TypeORM entities
|
|
379
|
+
- Sequelize models
|
|
380
|
+
- decorator-based TypeScript model classes
|
|
381
|
+
- plain TypeScript, JavaScript, and Python model code when patterns are detectable
|
|
382
|
+
|
|
383
|
+
### Artifacts
|
|
384
|
+
|
|
385
|
+
Planned artifacts:
|
|
386
|
+
|
|
387
|
+
- `data-model.json`
|
|
388
|
+
- `data-model-graph.json`
|
|
389
|
+
|
|
390
|
+
The data-model graph should remain separate from `code-graph.json`.
|
|
391
|
+
|
|
392
|
+
The code graph describes code structure. The data-model graph describes data entities, fields, and relationships.
|
|
393
|
+
|
|
394
|
+
### Graph views
|
|
395
|
+
|
|
396
|
+
Planned features:
|
|
397
|
+
|
|
398
|
+
- DOT output for data-model graph
|
|
399
|
+
- SVG and PNG output for data-model graph
|
|
400
|
+
- relationship labels for entity graphs
|
|
401
|
+
- filtering by entity
|
|
402
|
+
- filtering by relationship type
|
|
403
|
+
|
|
404
|
+
## Version 1.5.0
|
|
405
|
+
|
|
406
|
+
Version 1.5.0 focuses on schema and layer classification.
|
|
407
|
+
|
|
408
|
+
The goal is to help developers and coding agents avoid editing the wrong layer.
|
|
409
|
+
|
|
410
|
+
### Symbol and type classification
|
|
411
|
+
|
|
412
|
+
Planned classifications:
|
|
413
|
+
|
|
414
|
+
- canonical type
|
|
415
|
+
- artifact type
|
|
416
|
+
- database model
|
|
417
|
+
- projection type
|
|
418
|
+
- view model
|
|
419
|
+
- UI-only state
|
|
420
|
+
- test fixture
|
|
421
|
+
- persistence adapter
|
|
422
|
+
- route handler
|
|
423
|
+
- client component
|
|
424
|
+
- server component
|
|
425
|
+
- generated file
|
|
426
|
+
- configuration file
|
|
427
|
+
|
|
428
|
+
### Context report improvements
|
|
429
|
+
|
|
430
|
+
Planned report fields:
|
|
431
|
+
|
|
432
|
+
- what is reachable today
|
|
433
|
+
- what is defined but unused
|
|
434
|
+
- what is read-only
|
|
435
|
+
- what is editable
|
|
436
|
+
- what is guest-safe
|
|
437
|
+
- what is authenticated-only
|
|
438
|
+
- what is canonical state
|
|
439
|
+
- what is projection state
|
|
440
|
+
- what route or user action reaches each component
|
|
441
|
+
- files that are safe to modify first
|
|
442
|
+
- files that should be avoided for the task
|
|
443
|
+
|
|
444
|
+
### Readiness categories
|
|
445
|
+
|
|
446
|
+
Planned categories:
|
|
447
|
+
|
|
448
|
+
- `ready`
|
|
449
|
+
- `needs-more-context`
|
|
450
|
+
- `risky-assumption`
|
|
451
|
+
- `wrong-layer-risk`
|
|
452
|
+
- `unreachable-ui-risk`
|
|
453
|
+
- `requires-test-validation`
|
|
454
|
+
- `requires-browser-validation`
|
|
455
|
+
|
|
456
|
+
## Version 1.6.0
|
|
457
|
+
|
|
458
|
+
Version 1.6.0 focuses on graph-guided planner packets and retrieval quality.
|
|
459
|
+
|
|
460
|
+
The goal is to make graph locality directly affect what context is retained for a coding task.
|
|
461
|
+
|
|
462
|
+
### Graph-focused retrieval
|
|
463
|
+
|
|
464
|
+
Planned features:
|
|
465
|
+
|
|
466
|
+
- focus-node selection from ranked retrieval winners
|
|
467
|
+
- multi-seed graph focus when confidence is low
|
|
468
|
+
- subsystem-aware retrieval mode
|
|
469
|
+
- feature-add retrieval mode
|
|
470
|
+
- stronger ranking for sibling implementations
|
|
471
|
+
- stronger ranking for subsystem contracts
|
|
472
|
+
- stronger ranking for registries
|
|
473
|
+
- stronger ranking for local tests
|
|
474
|
+
- penalties for unrelated top-level files
|
|
475
|
+
|
|
476
|
+
### Planner packet pruning
|
|
477
|
+
|
|
478
|
+
Planned features:
|
|
479
|
+
|
|
480
|
+
- hard caps on candidate files
|
|
481
|
+
- hard caps on doc sections
|
|
482
|
+
- hard caps on source slices
|
|
483
|
+
- hard caps on graph nodes and edges
|
|
484
|
+
- graph-local file retention
|
|
485
|
+
- graph-local doc retention
|
|
486
|
+
- graph-local source-slice retention
|
|
487
|
+
- explicit explanation for retained and dropped entries
|
|
488
|
+
|
|
489
|
+
### Graph-first prompt packing
|
|
490
|
+
|
|
491
|
+
Planned features:
|
|
492
|
+
|
|
493
|
+
- prioritize graph-local code blocks
|
|
494
|
+
- prioritize graph-local doc sections
|
|
495
|
+
- prioritize graph-local source slices
|
|
496
|
+
- compress broad retrieval summaries when graph confidence is high
|
|
497
|
+
- omit broad context blocks when graph-local context is enough
|
|
498
|
+
- keep fallback behavior for low-confidence graph focus
|
|
499
|
+
|
|
500
|
+
## Version 1.7.0
|
|
501
|
+
|
|
502
|
+
Version 1.7.0 focuses on retrieval-quality regression benchmarks.
|
|
503
|
+
|
|
504
|
+
The goal is to make bounded-context quality testable.
|
|
505
|
+
|
|
506
|
+
### Benchmark coverage
|
|
507
|
+
|
|
508
|
+
Planned benchmark task types:
|
|
509
|
+
|
|
510
|
+
- add a sibling implementation in a known subsystem
|
|
511
|
+
- modify a registry-driven feature
|
|
512
|
+
- update a route-level UI
|
|
513
|
+
- update a Playwright test by route
|
|
514
|
+
- modify a React component prop flow
|
|
515
|
+
- retrieve a session-storage workflow
|
|
516
|
+
- locate a hidden conditional render branch
|
|
517
|
+
- update a large TSX component without full-file retrieval
|
|
518
|
+
- distinguish canonical schema from projection schema
|
|
519
|
+
- retrieve data-model relationships for a schema-heavy project
|
|
520
|
+
|
|
521
|
+
### Assertions
|
|
522
|
+
|
|
523
|
+
Planned assertions:
|
|
524
|
+
|
|
525
|
+
- top-K retrieval quality
|
|
526
|
+
- graph-focus correctness
|
|
527
|
+
- planner packet size limits
|
|
528
|
+
- absence of unrelated generic files in top ranks
|
|
529
|
+
- source expansion correctness
|
|
530
|
+
- source continuation correctness
|
|
531
|
+
- no unnecessary full-file reads
|
|
532
|
+
- route, UI, and test coverage
|
|
533
|
+
- data-model graph correctness where applicable
|
|
534
|
+
|
|
535
|
+
### Metrics
|
|
536
|
+
|
|
537
|
+
Planned metrics:
|
|
538
|
+
|
|
539
|
+
- selected file count
|
|
540
|
+
- selected doc section count
|
|
541
|
+
- selected source slice count
|
|
542
|
+
- selected graph node count
|
|
543
|
+
- selected graph edge count
|
|
544
|
+
- full-file reads avoided
|
|
545
|
+
- full-file reads allowed
|
|
546
|
+
- full-file reads unjustified
|
|
547
|
+
- fallback reason counts
|
|
548
|
+
- prompt-size reduction from graph-guided retrieval
|
|
549
|
+
|
|
550
|
+
## Version 1.8.0
|
|
551
|
+
|
|
552
|
+
Version 1.8.0 focuses on scalability and indexing ergonomics.
|
|
553
|
+
|
|
554
|
+
The goal is to make `my-dev-kit` more practical for larger repositories.
|
|
555
|
+
|
|
556
|
+
### Incremental indexing
|
|
557
|
+
|
|
558
|
+
Planned features:
|
|
559
|
+
|
|
560
|
+
- changed-file detection
|
|
561
|
+
- cache reuse
|
|
562
|
+
- partial index rebuild
|
|
563
|
+
- stable artifact IDs across rebuilds
|
|
564
|
+
- invalidation when configuration changes
|
|
565
|
+
- clear cache reset command
|
|
566
|
+
|
|
567
|
+
### Watch mode
|
|
568
|
+
|
|
569
|
+
Planned features:
|
|
570
|
+
|
|
571
|
+
- watch source roots
|
|
572
|
+
- rebuild changed files
|
|
573
|
+
- update affected graph artifacts
|
|
574
|
+
- report changed nodes and edges
|
|
575
|
+
- keep output deterministic
|
|
576
|
+
|
|
577
|
+
### Graph diff
|
|
578
|
+
|
|
579
|
+
Planned features:
|
|
580
|
+
|
|
581
|
+
- compare two index runs
|
|
582
|
+
- report added nodes
|
|
583
|
+
- report removed nodes
|
|
584
|
+
- report changed nodes
|
|
585
|
+
- report added edges
|
|
586
|
+
- report removed edges
|
|
587
|
+
- report changed edge metadata
|
|
588
|
+
|
|
589
|
+
### Search and lookup filtering
|
|
590
|
+
|
|
591
|
+
Planned features:
|
|
592
|
+
|
|
593
|
+
- filter search by node kind
|
|
594
|
+
- filter search by symbol kind
|
|
595
|
+
- filter search by edge kind
|
|
596
|
+
- filter lookup output by edge kind
|
|
597
|
+
- filter graph slices by node and edge kinds
|
|
598
|
+
|
|
599
|
+
## Version 1.9.0
|
|
600
|
+
|
|
601
|
+
Version 1.9.0 focuses on language and framework coverage.
|
|
602
|
+
|
|
603
|
+
The goal is to expand support while keeping static analysis conservative.
|
|
604
|
+
|
|
605
|
+
### Python improvements
|
|
606
|
+
|
|
607
|
+
Planned features:
|
|
608
|
+
|
|
609
|
+
- richer alias handling
|
|
610
|
+
- better cross-module call resolution
|
|
611
|
+
- better method-call resolution
|
|
612
|
+
- better class-member extraction
|
|
613
|
+
- better decorator metadata extraction
|
|
614
|
+
- better Django model extraction
|
|
615
|
+
- better SQLAlchemy model extraction
|
|
616
|
+
|
|
617
|
+
### JavaScript improvements
|
|
618
|
+
|
|
619
|
+
Planned features:
|
|
620
|
+
|
|
621
|
+
- improved JSDoc type extraction
|
|
622
|
+
- better CommonJS handling where practical
|
|
623
|
+
- better mixed JavaScript and TypeScript project support
|
|
624
|
+
|
|
625
|
+
### Framework improvements
|
|
626
|
+
|
|
627
|
+
Candidate framework targets:
|
|
628
|
+
|
|
629
|
+
- React
|
|
630
|
+
- Next.js
|
|
631
|
+
- Playwright
|
|
632
|
+
- Vitest
|
|
633
|
+
- NestJS
|
|
634
|
+
- Express
|
|
635
|
+
- FastAPI
|
|
636
|
+
- Django
|
|
637
|
+
- SQLAlchemy
|
|
638
|
+
- Prisma
|
|
639
|
+
|
|
640
|
+
### Additional language support
|
|
641
|
+
|
|
642
|
+
Candidate future languages:
|
|
643
|
+
|
|
644
|
+
- Go
|
|
645
|
+
- Rust
|
|
646
|
+
- Java
|
|
647
|
+
- C#
|
|
648
|
+
- Kotlin
|
|
649
|
+
|
|
650
|
+
Additional language support should be added through language adapters rather than hardcoded into one scanner.
|
|
651
|
+
|
|
652
|
+
## Version 2.0.0
|
|
653
|
+
|
|
654
|
+
Version 2.0.0 is reserved for a larger artifact and plugin model.
|
|
655
|
+
|
|
656
|
+
The goal is to turn the v1 CLI into a more extensible retrieval platform while preserving the core graph-guided workflow.
|
|
657
|
+
|
|
658
|
+
### Artifact schema v2
|
|
659
|
+
|
|
660
|
+
Candidate first-class node types:
|
|
661
|
+
|
|
662
|
+
- file
|
|
663
|
+
- symbol
|
|
664
|
+
- local function
|
|
665
|
+
- React component
|
|
666
|
+
- hook
|
|
667
|
+
- state variable
|
|
668
|
+
- JSX branch
|
|
669
|
+
- UI string
|
|
670
|
+
- test block
|
|
671
|
+
- route
|
|
672
|
+
- storage key
|
|
673
|
+
- data entity
|
|
674
|
+
- data field
|
|
675
|
+
- artifact type
|
|
676
|
+
- database model
|
|
677
|
+
- projection type
|
|
678
|
+
- graph-local evidence bundle
|
|
679
|
+
|
|
680
|
+
### Plugin architecture
|
|
681
|
+
|
|
682
|
+
Candidate plugin categories:
|
|
683
|
+
|
|
684
|
+
- language plugins
|
|
685
|
+
- framework plugins
|
|
686
|
+
- test-framework plugins
|
|
687
|
+
- ORM plugins
|
|
688
|
+
- schema plugins
|
|
689
|
+
- graph-view plugins
|
|
690
|
+
- retrieval-ranking plugins
|
|
691
|
+
|
|
692
|
+
### Retrieval API
|
|
693
|
+
|
|
694
|
+
Candidate command groups:
|
|
695
|
+
|
|
696
|
+
- `search`
|
|
697
|
+
- `lookup`
|
|
698
|
+
- `slice`
|
|
699
|
+
- `source`
|
|
700
|
+
- `source-bundle`
|
|
701
|
+
- `route-map`
|
|
702
|
+
- `ui-reachability`
|
|
703
|
+
- `storage-trace`
|
|
704
|
+
- `schema-classify`
|
|
705
|
+
- `data-model`
|
|
706
|
+
- `graph-diff`
|
|
707
|
+
|
|
708
|
+
### Compatibility
|
|
709
|
+
|
|
710
|
+
Version 2.0.0 should include a compatibility plan for v1 artifacts.
|
|
711
|
+
|
|
712
|
+
If artifact formats change, the release should provide one of the following:
|
|
713
|
+
|
|
714
|
+
- a migration command
|
|
715
|
+
- a compatibility reader
|
|
716
|
+
- a documented version boundary
|
|
717
|
+
- a clear artifact regeneration path
|
|
718
|
+
|
|
719
|
+
## Long-term direction
|
|
720
|
+
|
|
721
|
+
`my-dev-kit` should remain local-first, deterministic, and inspectable.
|
|
722
|
+
|
|
723
|
+
The core product direction is:
|
|
724
|
+
|
|
725
|
+
- compact structural artifacts instead of raw context dumps
|
|
726
|
+
- graph-guided retrieval instead of full-file reads
|
|
727
|
+
- bounded source context instead of broad source injection
|
|
728
|
+
- explicit fallback reporting instead of hidden assumptions
|
|
729
|
+
- conservative static analysis instead of overclaimed runtime understanding
|
|
730
|
+
- framework-aware retrieval where it improves real development workflows
|
|
731
|
+
- clear artifacts that can be inspected, versioned, and reused by humans or coding agents
|
|
732
|
+
|
|
733
|
+
The product should continue to work as a standalone CLI. Any future UI, hosted service, or agent integration should build on the same artifact model rather than replacing it.
|