@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
|
@@ -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
|
package/docs/RELEASE.md
ADDED
|
@@ -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.
|