@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.
@@ -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.