@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,243 @@
1
+ # Quickstart
2
+
3
+ This guide shows the shortest path from installing the public npm package to using all six commands in your own project.
4
+
5
+ For the full flag reference, see [COMMANDS.md](COMMANDS.md). For artifact and schema details, see [GRAPH_SCHEMA.md](GRAPH_SCHEMA.md). For practical workflows, see [WORKFLOWS.md](WORKFLOWS.md).
6
+
7
+ ## Prerequisites
8
+
9
+ - Node.js 18 or later
10
+ - npm
11
+
12
+ Python is required only when indexing `.py` files. Graphviz is optional; DOT output works without it, while SVG and PNG rendering require the Graphviz `dot` executable.
13
+
14
+ ## 1. Install
15
+
16
+ ```sh
17
+ npm install -g @dailephd/my-dev-kit
18
+ ```
19
+
20
+ ## 2. Confirm the CLI
21
+
22
+ ```sh
23
+ my-dev-kit --help
24
+ my-dev-kit --version
25
+ ```
26
+
27
+ ## 3. Index your project
28
+
29
+ Run the CLI from inside your own project:
30
+
31
+ ```sh
32
+ cd <your-project>
33
+ my-dev-kit index --root . --src src --out .my-dev-kit --json
34
+ ```
35
+
36
+ The `--out` path is relative to `--root`. This creates `.my-dev-kit/` in your project.
37
+
38
+ Use multiple source roots when needed:
39
+
40
+ ```sh
41
+ my-dev-kit index --root . --src src --src tests --out .my-dev-kit --json
42
+ ```
43
+
44
+ For large repositories and monorepos, prefer targeted source folders over broad package roots. my-dev-kit automatically skips common generated, dependency, cache, and build directories such as `node_modules`, `.next`, `dist`, `build`, `coverage`, `playwright-report`, `test-results`, `.cache`, `.turbo`, `.vercel`, `.git`, `.pytest_cache`, `__pycache__`, `.venv`, and `venv`.
45
+
46
+ ```sh
47
+ my-dev-kit index --root . --src apps/web/app --src apps/web/lib --src apps/web/prisma --out .my-dev-kit-web --call-graph --json
48
+ ```
49
+
50
+ Preview a scan without writing artifacts:
51
+
52
+ ```sh
53
+ my-dev-kit index --root . --src apps/web --out .my-dev-kit-web --dry-run --json
54
+ ```
55
+
56
+ Add extra path/name exclusions and progress diagnostics when a scan is large:
57
+
58
+ ```sh
59
+ my-dev-kit index --root . --src apps/web --out .my-dev-kit-web --exclude .next --exclude coverage --progress --json
60
+ ```
61
+
62
+ For Python projects:
63
+
64
+ ```sh
65
+ my-dev-kit index --root . --src src --language python --out .my-dev-kit --json
66
+ ```
67
+
68
+ To include a best-effort static call graph:
69
+
70
+ ```sh
71
+ my-dev-kit index --root . --src src --out .my-dev-kit --call-graph --json
72
+ ```
73
+
74
+ Generated artifacts inside `.my-dev-kit/`:
75
+
76
+ - `manifest.json` - project metadata and summary counts
77
+ - `symbol-index.json` - per-file symbol tables
78
+ - `code-graph.json` - graph of file and symbol nodes
79
+ - `call-graph.json` - call edges, when `--call-graph` was requested
80
+
81
+ Split indexes can keep large workspaces easier to navigate:
82
+
83
+ ```sh
84
+ my-dev-kit index --root . --src apps/web/app --src apps/web/lib --src apps/web/prisma --out .my-dev-kit-web --call-graph --json
85
+ my-dev-kit index --root . --src apps/web/tests --src apps/web/e2e --out .my-dev-kit-web-tests --exclude playwright-report --exclude test-results --json
86
+ my-dev-kit index --root . --src apps/nlp-service/src --language python --out .my-dev-kit-nlp --call-graph --json
87
+ my-dev-kit index --root . --src scripts --out .my-dev-kit-scripts --json
88
+ ```
89
+
90
+ ## 4. Search for a symbol or file
91
+
92
+ Use `search` to discover node IDs before using `lookup`, `slice`, or `source`.
93
+
94
+ ```sh
95
+ my-dev-kit search --index .my-dev-kit --query "<term>" --limit 20 --json
96
+ ```
97
+
98
+ Each result includes a `nodeId` field that can be passed to other commands.
99
+
100
+ ## 5. Look up a node
101
+
102
+ Pass an exact node ID from search results:
103
+
104
+ ```sh
105
+ my-dev-kit lookup --index .my-dev-kit --node "<node-id>" --depth 1 --json
106
+ ```
107
+
108
+ The result includes the focus node, incoming edges, outgoing edges, and neighbors at the requested depth.
109
+
110
+ ## 6. Build a graph slice
111
+
112
+ Get a bounded subgraph around a selected node:
113
+
114
+ ```sh
115
+ my-dev-kit slice --index .my-dev-kit --node "<node-id>" --depth 2 --direction both --json
116
+ ```
117
+
118
+ `slice` reads graph artifacts only. It does not read source files and does not require Graphviz.
119
+
120
+ ## 7. Retrieve source
121
+
122
+ Retrieve a symbol with line numbers:
123
+
124
+ ```sh
125
+ my-dev-kit source --index .my-dev-kit --file "<path>" --symbol "<symbol-name>" --format numbered
126
+ ```
127
+
128
+ Retrieve an exact line range:
129
+
130
+ ```sh
131
+ my-dev-kit source --index .my-dev-kit --file "<path>" --start 1 --end 40 --format numbered
132
+ ```
133
+
134
+ Retrieve as structured JSON:
135
+
136
+ ```sh
137
+ my-dev-kit source --index .my-dev-kit --file "<path>" --start 1 --end 40 --format json
138
+ ```
139
+
140
+ Source retrieval never modifies source files. The `--max-lines` limit is enforced, and file paths that escape the project root are rejected.
141
+
142
+ ## 8. Render the graph as DOT
143
+
144
+ DOT output does not require Graphviz:
145
+
146
+ ```sh
147
+ my-dev-kit view --index .my-dev-kit --format dot --out .my-dev-kit/graph.dot
148
+ ```
149
+
150
+ Use a different edge style when useful:
151
+
152
+ ```sh
153
+ my-dev-kit view --index .my-dev-kit --format dot --edge-style labeled --out .my-dev-kit/graph.labeled.dot
154
+ my-dev-kit view --index .my-dev-kit --format dot --edge-style minimal --out .my-dev-kit/graph.minimal.dot
155
+ ```
156
+
157
+ ## 9. Render SVG or PNG with Graphviz
158
+
159
+ If Graphviz is installed:
160
+
161
+ ```sh
162
+ my-dev-kit view --index .my-dev-kit --format svg --out .my-dev-kit/graph.svg
163
+ ```
164
+
165
+ If Graphviz is not installed, use DOT output directly or fall back automatically:
166
+
167
+ ```sh
168
+ my-dev-kit view --index .my-dev-kit --format svg --allow-dot-fallback --out .my-dev-kit/graph.dot
169
+ ```
170
+
171
+ ## Use the output with ChatGPT or a coding agent
172
+
173
+ my-dev-kit does not call ChatGPT or any coding agent. It prepares bounded local context that you can paste into an LLM conversation or provide to a downstream tool.
174
+
175
+ Paste only the selected outputs that support the task:
176
+
177
+ - Selected `search` result or a concise summary of the best matches
178
+ - Selected `lookup` result
179
+ - Selected `slice` result or a concise graph summary
180
+ - Numbered `source` excerpts with file paths and symbol names
181
+
182
+ Do not paste full `symbol-index.json` or `code-graph.json` unless specifically needed. They are index artifacts, not the normal context format for LLM-assisted work.
183
+
184
+ Short prompt:
185
+
186
+ ```text
187
+ I am using my-dev-kit to provide bounded codebase context.
188
+
189
+ Task:
190
+ <describe the task>
191
+
192
+ Selected search, lookup, slice, and source outputs:
193
+ <paste targeted my-dev-kit output>
194
+
195
+ Use only this context unless you say which additional my-dev-kit command I should run.
196
+ ```
197
+
198
+ For the fuller reusable template, see [Workflow 5 in WORKFLOWS.md](WORKFLOWS.md#workflow-5-use-my-dev-kit-with-chatgpt-or-a-coding-agent).
199
+
200
+ ## Bundled examples for cloned repositories
201
+
202
+ The `examples/basic-ts` and `examples/basic-python` folders are useful when working from the repository source, inspecting package examples, or smoke testing. They are not the normal path for a user inside their own project.
203
+
204
+ TypeScript example:
205
+
206
+ ```sh
207
+ my-dev-kit index --root examples/basic-ts --src src --out .my-dev-kit --call-graph --json
208
+ my-dev-kit search --index examples/basic-ts/.my-dev-kit --query "service" --limit 5 --json
209
+ my-dev-kit lookup --index examples/basic-ts/.my-dev-kit --node file:src/index.ts --depth 1 --json
210
+ my-dev-kit source --index examples/basic-ts/.my-dev-kit --file src/index.ts --symbol describeUser --format numbered
211
+ ```
212
+
213
+ Python example:
214
+
215
+ ```sh
216
+ my-dev-kit index --root examples/basic-python --src src --language python --out .my-dev-kit --call-graph --json
217
+ my-dev-kit search --index examples/basic-python/.my-dev-kit --query "greet" --limit 5 --json
218
+ my-dev-kit lookup --index examples/basic-python/.my-dev-kit --node file:src/main.py --depth 1 --json
219
+ my-dev-kit source --index examples/basic-python/.my-dev-kit --file src/main.py --symbol greet --format numbered
220
+ ```
221
+
222
+ ## Clean up generated artifacts
223
+
224
+ Inside your own project:
225
+
226
+ ```sh
227
+ rm -rf .my-dev-kit
228
+ ```
229
+
230
+ For bundled examples in a cloned repository:
231
+
232
+ ```sh
233
+ rm -rf examples/basic-ts/.my-dev-kit
234
+ rm -rf examples/basic-python/.my-dev-kit
235
+ ```
236
+
237
+ ## Next steps
238
+
239
+ - [COMMANDS.md](COMMANDS.md) - full flag reference for every command
240
+ - [GRAPH_SCHEMA.md](GRAPH_SCHEMA.md) - artifact formats, node ID conventions, and edge kinds
241
+ - [WORKFLOWS.md](WORKFLOWS.md) - practical workflows including graph-guided retrieval
242
+ - [ARCHITECTURE.md](ARCHITECTURE.md) - internal subsystem structure
243
+ - [ROADMAP.md](ROADMAP.md) - current feature status and planned improvements
@@ -0,0 +1,249 @@
1
+ # Release Guide
2
+
3
+ This guide describes the manual release process for my-dev-kit.
4
+
5
+ The npm package is published manually. There is no automated release workflow for npm publishing.
6
+
7
+ ## Release profile
8
+
9
+ - Product name: my-dev-kit
10
+ - Package name: @dailephd/my-dev-kit
11
+ - Binary name: my-dev-kit
12
+ - Release version: 1.0.0
13
+ - License: MIT
14
+ - Copyright holder: dailephd LLC
15
+ - npm scope: @dailephd
16
+ - Publish mode: manual npm publish
17
+
18
+ ## Before release
19
+
20
+ Confirm the release branch is clean and the package metadata is correct.
21
+
22
+ Required checks:
23
+
24
+ - package.json name is @dailephd/my-dev-kit
25
+ - package.json version is 1.0.0
26
+ - package.json license is MIT
27
+ - package.json author is dailephd LLC
28
+ - package.json does not contain private: true
29
+ - package.json bin maps my-dev-kit to dist/cli.js
30
+ - src/version.ts VERSION matches package.json version
31
+ - LICENSE exists and contains the MIT license with copyright 2026 dailephd LLC
32
+ - CHANGELOG.md exists and includes the 1.0.0 release
33
+ - dist/cli.js is generated by the build
34
+ - dist/cli.js starts with the shebang #!/usr/bin/env node
35
+
36
+ ## Public documentation audit
37
+
38
+ Review public-facing documentation before publishing.
39
+
40
+ The product name should be my-dev-kit. The version label v1 may appear only when referring to version history or roadmap planning. Public install and usage sections should not present my-dev-kit-v1 as the product name.
41
+
42
+ Check the following files at minimum:
43
+
44
+ - README.md
45
+ - QUICKSTART.md
46
+ - CHANGELOG.md
47
+ - doc/COMMANDS.md
48
+ - doc/ROADMAP.md
49
+ - doc/PROJECT_OVERVIEW.md
50
+ - examples/README.md, if present
51
+
52
+ Documentation should use:
53
+
54
+ - my-dev-kit as the product name
55
+ - @dailephd/my-dev-kit as the npm package name
56
+ - my-dev-kit as the command name
57
+ - npm install -g @dailephd/my-dev-kit as the primary global install example
58
+
59
+ Documentation should not include:
60
+
61
+ - my-dev-kit-v1 as the public product name
62
+ - version 0.1.0
63
+ - old alpha repository names in public usage sections
64
+ - primary examples that require node dist/cli.js
65
+ - PromptPack, orchestrator, or evaluation features as public v1 package features
66
+ - CONTRIBUTING.md references
67
+ - CODE_OF_CONDUCT.md references
68
+ - package publishing automation claims
69
+ - GitHub release automation claims
70
+
71
+ Internal development notes may mention implementation details, but public package documentation should describe the actual v1 CLI product.
72
+
73
+ ## Validate locally
74
+
75
+ Run validation from the repository root.
76
+
77
+ npm ci
78
+ npm run verify
79
+ npm audit
80
+
81
+ If npm run verify does not already run typecheck, tests, and build in the current repository state, run the explicit validation sequence instead:
82
+
83
+ npm ci
84
+ npm run typecheck
85
+ npm run test
86
+ npm run build
87
+ npm run verify
88
+ npm audit
89
+
90
+ The release should not continue until validation passes or every remaining issue is understood and intentionally accepted.
91
+
92
+ ## Inspect package contents
93
+
94
+ Run a dry pack first.
95
+
96
+ npm pack --dry-run
97
+
98
+ Review the package file list.
99
+
100
+ Expected package contents:
101
+
102
+ - dist/
103
+ - README.md
104
+ - LICENSE
105
+ - CHANGELOG.md
106
+ - doc/ files intended for public package documentation
107
+ - examples intended for public users
108
+ - package.json
109
+
110
+ Unexpected package contents:
111
+
112
+ - src/
113
+ - tests/
114
+ - generated index artifacts
115
+ - temporary release-test folders
116
+ - alpha-import/
117
+ - node_modules/
118
+ - local logs
119
+ - unpublished notes
120
+ - private planning files
121
+ - old migration files that are not part of the public package
122
+
123
+ The package should include enough documentation and examples for users to run the CLI after installation, but it should not include development-only source, tests, or generated artifacts unless they are intentionally part of the distributed package.
124
+
125
+ ## Test the packed tarball
126
+
127
+ Create the tarball.
128
+
129
+ npm pack
130
+
131
+ Install the tarball globally.
132
+
133
+ npm install -g ./dailephd-my-dev-kit-1.0.0.tgz
134
+
135
+ Run basic CLI checks.
136
+
137
+ my-dev-kit --help
138
+ my-dev-kit --version
139
+
140
+ The version command should print 1.0.0.
141
+
142
+ Run TypeScript or JavaScript indexing against the packaged examples.
143
+
144
+ my-dev-kit index --root examples/basic-ts --src src --out examples/basic-ts/.my-dev-kit-release --call-graph --json
145
+ my-dev-kit search --index examples/basic-ts/.my-dev-kit-release --query service --limit 5 --json
146
+ my-dev-kit view --index examples/basic-ts/.my-dev-kit-release --format dot --out examples/basic-ts/.my-dev-kit-release/graph.dot --edge-style semantic --json
147
+
148
+ Run Python indexing if the package includes the Python example.
149
+
150
+ my-dev-kit index --root examples/basic-python --src src --language python --out examples/basic-python/.my-dev-kit-release --json
151
+
152
+ Confirm the expected artifacts are created.
153
+
154
+ Expected TypeScript or JavaScript artifacts:
155
+
156
+ - manifest.json
157
+ - symbol-index.json
158
+ - code-graph.json
159
+ - call-graph.json, when --call-graph is used
160
+
161
+ Expected Python artifacts:
162
+
163
+ - manifest.json
164
+ - symbol-index.json
165
+ - code-graph.json
166
+
167
+ Remove local release-test artifacts after inspection.
168
+
169
+ rm -rf examples/basic-ts/.my-dev-kit-release
170
+ rm -rf examples/basic-python/.my-dev-kit-release
171
+
172
+ Uninstall the global tarball test package.
173
+
174
+ npm uninstall -g @dailephd/my-dev-kit
175
+
176
+ If the example directory names differ from examples/basic-ts or examples/basic-python, use the actual packaged example paths and update this guide before release.
177
+
178
+ ## Publish to npm
179
+
180
+ Log in to npm if needed.
181
+
182
+ npm login
183
+
184
+ Confirm package metadata one final time.
185
+
186
+ npm info @dailephd/my-dev-kit
187
+
188
+ If this is the first public release, npm info may report that the package does not exist yet. That is acceptable.
189
+
190
+ Publish the package publicly.
191
+
192
+ npm publish --access public
193
+
194
+ Do not publish until local validation, package inspection, and tarball smoke tests have passed.
195
+
196
+ ## Verify the published package
197
+
198
+ After publishing, verify the package from npm.
199
+
200
+ npm info @dailephd/my-dev-kit
201
+ npm install -g @dailephd/my-dev-kit
202
+ my-dev-kit --help
203
+ my-dev-kit --version
204
+
205
+ Confirm:
206
+
207
+ - npm reports version 1.0.0
208
+ - my-dev-kit --help shows the expected command list
209
+ - my-dev-kit --version prints 1.0.0
210
+ - the package installs without using the local tarball
211
+
212
+ Optionally run the same example indexing smoke tests against the published package.
213
+
214
+ After verification, uninstall the global package if it is not needed locally.
215
+
216
+ npm uninstall -g @dailephd/my-dev-kit
217
+
218
+ ## Release record
219
+
220
+ After publishing, update or confirm the following:
221
+
222
+ - CHANGELOG.md includes the published version and release date
223
+ - README.md install instructions point to the npm package
224
+ - ROADMAP.md still describes future versions accurately
225
+ - package.json version matches the published version
226
+ - any release notes are consistent with the actual v1 command surface
227
+
228
+ If a GitHub release is created manually, use the CHANGELOG.md entry as the source of truth. Do not describe unreleased roadmap items as released features.
229
+
230
+ ## Automation status
231
+
232
+ The release process is currently manual.
233
+
234
+ The following steps are not automated:
235
+
236
+ - version bumping
237
+ - changelog generation
238
+ - npm publishing
239
+ - GitHub release creation
240
+ - Docker publishing
241
+ - deployment
242
+
243
+ Release automation can be added later if the project needs it. If automation is added, use a dedicated release workflow rather than extending the CI validation workflow with publishing behavior.
244
+
245
+ ## Package metadata notes
246
+
247
+ No official funding or donation URL is configured for this release.
248
+
249
+ Do not add package.json funding metadata until an official support or donation page exists.