kodu 2.1.2 → 2.1.3
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/AGENTS.md +23 -1
- package/dist/package.json +1 -1
- package/dist/src/commands/init/init.command.d.ts +1 -0
- package/dist/src/commands/init/init.command.js +34 -1
- package/dist/src/commands/init/init.command.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/skills/doc-gen/SKILL.md +490 -0
- package/skills/doc-gen/scripts/doc_gen.py +911 -0
- package/skills/implement-project/SKILL.md +409 -0
- package/skills/litefront-prototype/SKILL.md +484 -0
- package/skills/start/SKILL.md +319 -0
- package/skills/tech-blueprint/SKILL.md +890 -0
- package/skills/tech-blueprint/scripts/blueprint_validator.py +417 -0
- package/src/commands/init/init.command.ts +43 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
package/AGENTS.md
CHANGED
|
@@ -184,7 +184,29 @@ This executes: TypeScript check + Biome lint + Knip dead code detection.
|
|
|
184
184
|
- **No Legacy Tests:** Project relies on strict static typing
|
|
185
185
|
- If tests exist: place in `__tests__/` or `*.test.ts` files
|
|
186
186
|
|
|
187
|
-
## 11.
|
|
187
|
+
## 11. Release Process
|
|
188
|
+
|
|
189
|
+
### Prerequisites
|
|
190
|
+
- Working directory must be clean (`git status` — no dirty files)
|
|
191
|
+
- All changes committed and pushed
|
|
192
|
+
- You have npm publish access
|
|
193
|
+
|
|
194
|
+
### Steps
|
|
195
|
+
```bash
|
|
196
|
+
# 1. Ensure clean working directory
|
|
197
|
+
git status
|
|
198
|
+
|
|
199
|
+
# 2. Bump version, build, publish
|
|
200
|
+
npm version patch && npm run build && npm publish --access public
|
|
201
|
+
|
|
202
|
+
# 3. Push the version bump commit and tag
|
|
203
|
+
git push && git push --tags
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
- Use `npm version minor` for new features, `npm version major` for breaking changes
|
|
207
|
+
- The `npm version` command creates a git tag automatically (e.g. `v2.1.3`)
|
|
208
|
+
|
|
209
|
+
## 12. Handling Uncertainties
|
|
188
210
|
|
|
189
211
|
- Unclear requirements? Ask the user first
|
|
190
212
|
- Library not in Tech Stack section? Prefer native Node.js APIs
|
package/dist/package.json
CHANGED
|
@@ -18,6 +18,29 @@ const node_path_1 = __importDefault(require("node:path"));
|
|
|
18
18
|
const nest_commander_1 = require("nest-commander");
|
|
19
19
|
const ui_service_1 = require("../../core/ui/ui.service");
|
|
20
20
|
const GITIGNORE_ENTRY = '.kodu/context.txt';
|
|
21
|
+
const DEFAULT_KODU_JSON = {
|
|
22
|
+
$schema: 'https://raw.githubusercontent.com/anomalyco/kodu/main/kodu.schema.json',
|
|
23
|
+
cleaner: {
|
|
24
|
+
whitelist: ['//!'],
|
|
25
|
+
keepJSDoc: true,
|
|
26
|
+
useGitignore: true,
|
|
27
|
+
ignore: [],
|
|
28
|
+
},
|
|
29
|
+
packer: {
|
|
30
|
+
ignore: [
|
|
31
|
+
'package-lock.json',
|
|
32
|
+
'yarn.lock',
|
|
33
|
+
'pnpm-lock.yaml',
|
|
34
|
+
'.git',
|
|
35
|
+
'.kodu',
|
|
36
|
+
'node_modules',
|
|
37
|
+
'dist',
|
|
38
|
+
'coverage',
|
|
39
|
+
],
|
|
40
|
+
useGitignore: true,
|
|
41
|
+
contentBasedBinaryDetection: false,
|
|
42
|
+
},
|
|
43
|
+
};
|
|
21
44
|
let InitCommand = class InitCommand extends nest_commander_1.CommandRunner {
|
|
22
45
|
ui;
|
|
23
46
|
constructor(ui) {
|
|
@@ -25,9 +48,19 @@ let InitCommand = class InitCommand extends nest_commander_1.CommandRunner {
|
|
|
25
48
|
this.ui = ui;
|
|
26
49
|
}
|
|
27
50
|
async run() {
|
|
51
|
+
await this.ensureKoduJson();
|
|
28
52
|
await this.updateGitignore();
|
|
29
53
|
this.ui.log.success('Done.');
|
|
30
54
|
}
|
|
55
|
+
async ensureKoduJson() {
|
|
56
|
+
const configPath = node_path_1.default.join(process.cwd(), 'kodu.json');
|
|
57
|
+
if (await this.exists(configPath)) {
|
|
58
|
+
this.ui.log.info('kodu.json already exists');
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
await node_fs_1.promises.writeFile(configPath, `${JSON.stringify(DEFAULT_KODU_JSON, null, 2)}\n`, 'utf8');
|
|
62
|
+
this.ui.log.success('Created kodu.json');
|
|
63
|
+
}
|
|
31
64
|
async updateGitignore() {
|
|
32
65
|
const gitignorePath = node_path_1.default.join(process.cwd(), '.gitignore');
|
|
33
66
|
if (!(await this.exists(gitignorePath))) {
|
|
@@ -57,7 +90,7 @@ let InitCommand = class InitCommand extends nest_commander_1.CommandRunner {
|
|
|
57
90
|
};
|
|
58
91
|
exports.InitCommand = InitCommand;
|
|
59
92
|
exports.InitCommand = InitCommand = __decorate([
|
|
60
|
-
(0, nest_commander_1.Command)({ name: 'init', description: '
|
|
93
|
+
(0, nest_commander_1.Command)({ name: 'init', description: 'Initialize kodu configuration' }),
|
|
61
94
|
__metadata("design:paramtypes", [ui_service_1.UiService])
|
|
62
95
|
], InitCommand);
|
|
63
96
|
//# sourceMappingURL=init.command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.command.js","sourceRoot":"","sources":["../../../../src/commands/init/init.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qCAAyC;AACzC,0DAA6B;AAC7B,mDAAwD;AACxD,yDAAqD;AAErD,MAAM,eAAe,GAAG,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"init.command.js","sourceRoot":"","sources":["../../../../src/commands/init/init.command.ts"],"names":[],"mappings":"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"}
|