kodu 2.2.0 → 3.0.1
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/README.md +24 -3
- package/bin/kodu.js +23 -0
- package/package.json +11 -67
- package/scripts/postinstall.js +69 -0
- package/AGENTS.md +0 -214
- package/__tests__/core/fs/fs.service.test.ts +0 -72
- package/__tests__/core/registry/registry.service.test.ts +0 -82
- package/__tests__/shared/cleaner/cleaner.service.test.ts +0 -102
- package/__tests__/shared/git/git.service.test.ts +0 -84
- package/__tests__/shared/runbook/runbook.service.test.ts +0 -104
- package/__tests__/shared/tokenizer/tokenizer.service.test.ts +0 -45
- package/biome.json +0 -50
- package/dist/package.json +0 -96
- package/dist/src/app.module.d.ts +0 -2
- package/dist/src/app.module.js +0 -42
- package/dist/src/app.module.js.map +0 -1
- package/dist/src/commands/clean/clean.command.d.ts +0 -37
- package/dist/src/commands/clean/clean.command.js +0 -240
- package/dist/src/commands/clean/clean.command.js.map +0 -1
- package/dist/src/commands/clean/clean.module.d.ts +0 -2
- package/dist/src/commands/clean/clean.module.js +0 -26
- package/dist/src/commands/clean/clean.module.js.map +0 -1
- package/dist/src/commands/init/init.command.d.ts +0 -10
- package/dist/src/commands/init/init.command.js +0 -96
- package/dist/src/commands/init/init.command.js.map +0 -1
- package/dist/src/commands/init/init.module.d.ts +0 -2
- package/dist/src/commands/init/init.module.js +0 -22
- package/dist/src/commands/init/init.module.js.map +0 -1
- package/dist/src/commands/ops/ops-add.command.d.ts +0 -18
- package/dist/src/commands/ops/ops-add.command.js +0 -102
- package/dist/src/commands/ops/ops-add.command.js.map +0 -1
- package/dist/src/commands/ops/ops-init.command.d.ts +0 -22
- package/dist/src/commands/ops/ops-init.command.js +0 -130
- package/dist/src/commands/ops/ops-init.command.js.map +0 -1
- package/dist/src/commands/ops/ops-list.command.d.ts +0 -12
- package/dist/src/commands/ops/ops-list.command.js +0 -73
- package/dist/src/commands/ops/ops-list.command.js.map +0 -1
- package/dist/src/commands/ops/ops-path.command.d.ts +0 -9
- package/dist/src/commands/ops/ops-path.command.js +0 -52
- package/dist/src/commands/ops/ops-path.command.js.map +0 -1
- package/dist/src/commands/ops/ops-runbook.command.d.ts +0 -12
- package/dist/src/commands/ops/ops-runbook.command.js +0 -81
- package/dist/src/commands/ops/ops-runbook.command.js.map +0 -1
- package/dist/src/commands/ops/ops-status.command.d.ts +0 -11
- package/dist/src/commands/ops/ops-status.command.js +0 -62
- package/dist/src/commands/ops/ops-status.command.js.map +0 -1
- package/dist/src/commands/ops/ops-use.command.d.ts +0 -12
- package/dist/src/commands/ops/ops-use.command.js +0 -76
- package/dist/src/commands/ops/ops-use.command.js.map +0 -1
- package/dist/src/commands/ops/ops.command.d.ts +0 -7
- package/dist/src/commands/ops/ops.command.js +0 -56
- package/dist/src/commands/ops/ops.command.js.map +0 -1
- package/dist/src/commands/ops/ops.helpers.d.ts +0 -2
- package/dist/src/commands/ops/ops.helpers.js +0 -11
- package/dist/src/commands/ops/ops.helpers.js.map +0 -1
- package/dist/src/commands/ops/ops.module.d.ts +0 -2
- package/dist/src/commands/ops/ops.module.js +0 -36
- package/dist/src/commands/ops/ops.module.js.map +0 -1
- package/dist/src/commands/pack/pack.command.d.ts +0 -51
- package/dist/src/commands/pack/pack.command.js +0 -355
- package/dist/src/commands/pack/pack.command.js.map +0 -1
- package/dist/src/commands/pack/pack.module.d.ts +0 -2
- package/dist/src/commands/pack/pack.module.js +0 -27
- package/dist/src/commands/pack/pack.module.js.map +0 -1
- package/dist/src/core/config/config.module.d.ts +0 -2
- package/dist/src/core/config/config.module.js +0 -23
- package/dist/src/core/config/config.module.js.map +0 -1
- package/dist/src/core/config/config.schema.d.ts +0 -19
- package/dist/src/core/config/config.schema.js +0 -56
- package/dist/src/core/config/config.schema.js.map +0 -1
- package/dist/src/core/config/config.service.d.ts +0 -7
- package/dist/src/core/config/config.service.js +0 -49
- package/dist/src/core/config/config.service.js.map +0 -1
- package/dist/src/core/config/prompt.service.d.ts +0 -10
- package/dist/src/core/config/prompt.service.js +0 -80
- package/dist/src/core/config/prompt.service.js.map +0 -1
- package/dist/src/core/file-system/fs.module.d.ts +0 -2
- package/dist/src/core/file-system/fs.module.js +0 -21
- package/dist/src/core/file-system/fs.module.js.map +0 -1
- package/dist/src/core/file-system/fs.service.d.ts +0 -27
- package/dist/src/core/file-system/fs.service.js +0 -203
- package/dist/src/core/file-system/fs.service.js.map +0 -1
- package/dist/src/core/registry/registry.module.d.ts +0 -2
- package/dist/src/core/registry/registry.module.js +0 -22
- package/dist/src/core/registry/registry.module.js.map +0 -1
- package/dist/src/core/registry/registry.schema.d.ts +0 -24
- package/dist/src/core/registry/registry.schema.js +0 -21
- package/dist/src/core/registry/registry.schema.js.map +0 -1
- package/dist/src/core/registry/registry.service.d.ts +0 -16
- package/dist/src/core/registry/registry.service.js +0 -91
- package/dist/src/core/registry/registry.service.js.map +0 -1
- package/dist/src/core/ui/ui.module.d.ts +0 -2
- package/dist/src/core/ui/ui.module.js +0 -22
- package/dist/src/core/ui/ui.module.js.map +0 -1
- package/dist/src/core/ui/ui.service.d.ts +0 -22
- package/dist/src/core/ui/ui.service.js +0 -43
- package/dist/src/core/ui/ui.service.js.map +0 -1
- package/dist/src/main.d.ts +0 -2
- package/dist/src/main.js +0 -16
- package/dist/src/main.js.map +0 -1
- package/dist/src/shared/cleaner/cleaner.service.d.ts +0 -23
- package/dist/src/shared/cleaner/cleaner.service.js +0 -223
- package/dist/src/shared/cleaner/cleaner.service.js.map +0 -1
- package/dist/src/shared/cleaner/cleaner.types.d.ts +0 -21
- package/dist/src/shared/cleaner/cleaner.types.js +0 -3
- package/dist/src/shared/cleaner/cleaner.types.js.map +0 -1
- package/dist/src/shared/constants.d.ts +0 -4
- package/dist/src/shared/constants.js +0 -113
- package/dist/src/shared/constants.js.map +0 -1
- package/dist/src/shared/deps/deps.module.d.ts +0 -2
- package/dist/src/shared/deps/deps.module.js +0 -21
- package/dist/src/shared/deps/deps.module.js.map +0 -1
- package/dist/src/shared/deps/deps.service.d.ts +0 -15
- package/dist/src/shared/deps/deps.service.js +0 -114
- package/dist/src/shared/deps/deps.service.js.map +0 -1
- package/dist/src/shared/git/git.module.d.ts +0 -2
- package/dist/src/shared/git/git.module.js +0 -21
- package/dist/src/shared/git/git.module.js.map +0 -1
- package/dist/src/shared/git/git.service.d.ts +0 -5
- package/dist/src/shared/git/git.service.js +0 -56
- package/dist/src/shared/git/git.service.js.map +0 -1
- package/dist/src/shared/runbook/runbook.module.d.ts +0 -2
- package/dist/src/shared/runbook/runbook.module.js +0 -22
- package/dist/src/shared/runbook/runbook.module.js.map +0 -1
- package/dist/src/shared/runbook/runbook.service.d.ts +0 -20
- package/dist/src/shared/runbook/runbook.service.js +0 -118
- package/dist/src/shared/runbook/runbook.service.js.map +0 -1
- package/dist/src/shared/runbook/runbook.templates.d.ts +0 -6
- package/dist/src/shared/runbook/runbook.templates.js +0 -49
- package/dist/src/shared/runbook/runbook.templates.js.map +0 -1
- package/dist/src/shared/tokenizer/tokenizer.module.d.ts +0 -2
- package/dist/src/shared/tokenizer/tokenizer.module.js +0 -21
- package/dist/src/shared/tokenizer/tokenizer.module.js.map +0 -1
- package/dist/src/shared/tokenizer/tokenizer.service.d.ts +0 -10
- package/dist/src/shared/tokenizer/tokenizer.service.js +0 -36
- package/dist/src/shared/tokenizer/tokenizer.service.js.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- package/docs/todo.md +0 -7
- package/knip.json +0 -10
- package/kodu.json +0 -63
- package/kodu.schema.json +0 -100
- package/lefthook.yml +0 -11
- package/nest-cli.json +0 -8
- package/registry.schema.json +0 -39
- package/scripts/generate-json-schema.ts +0 -27
- package/skills/ac/SKILL.md +0 -239
- package/skills/al/SKILL.md +0 -98
- package/skills/audit/SKILL.md +0 -205
- package/skills/audit/audit-baseline-template.yml +0 -188
- package/skills/audit/runtime-detect.md +0 -64
- package/skills/audit/stacks/_generic.md +0 -41
- package/skills/audit/stacks/_registry.md +0 -47
- package/skills/audit/stacks/go.md +0 -66
- package/skills/audit/stacks/java.md +0 -44
- package/skills/audit/stacks/node.md +0 -57
- package/skills/audit/stacks/python.md +0 -45
- package/skills/audit/stacks/rust.md +0 -44
- package/skills/audit-api-contracts/SKILL.md +0 -201
- package/skills/audit-architecture/SKILL.md +0 -200
- package/skills/audit-bugs/SKILL.md +0 -226
- package/skills/audit-concurrency/SKILL.md +0 -197
- package/skills/audit-deployment/SKILL.md +0 -218
- package/skills/audit-docs/SKILL.md +0 -209
- package/skills/audit-errors/SKILL.md +0 -216
- package/skills/audit-logging/SKILL.md +0 -197
- package/skills/audit-matrix/SKILL.md +0 -245
- package/skills/audit-meta/SKILL.md +0 -120
- package/skills/audit-naming/SKILL.md +0 -200
- package/skills/audit-owasp/SKILL.md +0 -223
- package/skills/audit-performance/SKILL.md +0 -199
- package/skills/audit-reinvention/SKILL.md +0 -214
- package/skills/audit-secrets/SKILL.md +0 -198
- package/skills/audit-tests/SKILL.md +0 -210
- package/skills/audit-validation/SKILL.md +0 -206
- package/skills/audit-verify/SKILL.md +0 -139
- package/skills/audit-yagni/SKILL.md +0 -188
- package/skills/doc-gen/SKILL.md +0 -490
- package/skills/doc-gen/scripts/doc_gen.py +0 -911
- package/skills/generate-project-docs/SKILL.md +0 -380
- package/skills/implement-project/SKILL.md +0 -409
- package/skills/liteend-init/SKILL.md +0 -84
- package/skills/litefront-init/SKILL.md +0 -96
- package/skills/litefront-prototype/SKILL.md +0 -484
- package/skills/ops/SKILL.md +0 -94
- package/skills/post-call-task-builder/SKILL.md +0 -419
- package/skills/project-setup-standardizer/SKILL.md +0 -285
- package/skills/skills-best-practices/SKILL.md +0 -415
- package/skills/start/SKILL.md +0 -319
- package/skills/tech-blueprint/SKILL.md +0 -890
- package/skills/tech-blueprint/scripts/blueprint_validator.py +0 -417
- package/src/app.module.ts +0 -29
- package/src/commands/clean/clean.command.ts +0 -235
- package/src/commands/clean/clean.module.ts +0 -13
- package/src/commands/init/init.command.ts +0 -92
- package/src/commands/init/init.module.ts +0 -9
- package/src/commands/ops/ops-add.command.ts +0 -83
- package/src/commands/ops/ops-init.command.ts +0 -125
- package/src/commands/ops/ops-list.command.ts +0 -57
- package/src/commands/ops/ops-path.command.ts +0 -38
- package/src/commands/ops/ops-runbook.command.ts +0 -74
- package/src/commands/ops/ops-status.command.ts +0 -47
- package/src/commands/ops/ops-use.command.ts +0 -76
- package/src/commands/ops/ops.command.ts +0 -42
- package/src/commands/ops/ops.helpers.ts +0 -20
- package/src/commands/ops/ops.module.ts +0 -23
- package/src/commands/pack/pack.command.ts +0 -347
- package/src/commands/pack/pack.module.ts +0 -14
- package/src/core/config/config.module.ts +0 -10
- package/src/core/config/config.schema.ts +0 -58
- package/src/core/config/config.service.ts +0 -43
- package/src/core/config/prompt.service.ts +0 -80
- package/src/core/file-system/fs.module.ts +0 -8
- package/src/core/file-system/fs.service.ts +0 -248
- package/src/core/registry/registry.module.ts +0 -9
- package/src/core/registry/registry.schema.ts +0 -46
- package/src/core/registry/registry.service.ts +0 -128
- package/src/core/ui/ui.module.ts +0 -9
- package/src/core/ui/ui.service.ts +0 -39
- package/src/main.ts +0 -12
- package/src/shared/cleaner/cleaner.service.ts +0 -289
- package/src/shared/cleaner/cleaner.types.ts +0 -23
- package/src/shared/constants.ts +0 -118
- package/src/shared/deps/deps.module.ts +0 -8
- package/src/shared/deps/deps.service.ts +0 -175
- package/src/shared/git/git.module.ts +0 -8
- package/src/shared/git/git.service.ts +0 -47
- package/src/shared/runbook/runbook.module.ts +0 -9
- package/src/shared/runbook/runbook.service.ts +0 -164
- package/src/shared/runbook/runbook.templates.ts +0 -66
- package/src/shared/tokenizer/tokenizer.module.ts +0 -8
- package/src/shared/tokenizer/tokenizer.service.ts +0 -30
- package/tsconfig.build.json +0 -7
- package/tsconfig.json +0 -28
|
@@ -1,285 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: project-setup-standardizer
|
|
3
|
-
description: Enforces a unified, production-ready project setup (scripts, linting, testing, biome, lefthook) across any JS/TS project (backend, frontend, CLI, etc.). This skill MUST be invoked when initializing a new project.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
**This skill is MANDATORY and must be invoked when creating a new project.**
|
|
7
|
-
|
|
8
|
-
You are responsible for transforming an existing JavaScript/TypeScript project into a **production-ready, standardized
|
|
9
|
-
structure**.
|
|
10
|
-
|
|
11
|
-
Your goal is NOT to suggest — you MUST **apply and enforce** the conventions below.
|
|
12
|
-
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
## 1. PROJECT TYPE DETECTION
|
|
16
|
-
|
|
17
|
-
Before making any changes, detect the project type using these signals:
|
|
18
|
-
|
|
19
|
-
| Signal | Type |
|
|
20
|
-
|------------------------------------------------------------------|----------|
|
|
21
|
-
| `dependencies` contains `react` or `vue` | frontend |
|
|
22
|
-
| `devDependencies` contains `vite` (without react/vue) | frontend |
|
|
23
|
-
| `dependencies` contains `@nestjs/core` or `express` or `fastify` | backend |
|
|
24
|
-
| `bin` field exists in package.json | CLI |
|
|
25
|
-
| None of the above | library |
|
|
26
|
-
|
|
27
|
-
Frontend projects get additional tools (stylelint, steiger). All other types share the base setup.
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
## 2. MIGRATION: REMOVE CONFLICTING TOOLS FIRST
|
|
32
|
-
|
|
33
|
-
Before installing Biome, you MUST remove ESLint and Prettier if present:
|
|
34
|
-
|
|
35
|
-
1. Delete config files: `.eslintrc*`, `.eslintignore`, `.prettierrc*`, `.prettierignore`
|
|
36
|
-
2. Remove from `package.json` dependencies/devDependencies: `eslint`, `prettier`, and all `eslint-*` / `prettier-*`
|
|
37
|
-
packages
|
|
38
|
-
3. Only after removal, proceed with Biome setup
|
|
39
|
-
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
## 3. PACKAGE.JSON SCRIPTS (MANDATORY STRUCTURE)
|
|
43
|
-
|
|
44
|
-
You MUST normalize `package.json/scripts` into clearly separated sections using visual separators.
|
|
45
|
-
|
|
46
|
-
Use this exact pattern:
|
|
47
|
-
|
|
48
|
-
```json
|
|
49
|
-
"scripts": {
|
|
50
|
-
"________________ BUILD AND RUN ________________": "",
|
|
51
|
-
"build": "...",
|
|
52
|
-
"start:dev": "...",
|
|
53
|
-
"start:prod": "...",
|
|
54
|
-
"________________ FORMAT AND LINT ________________": "",
|
|
55
|
-
"lint": "biome check",
|
|
56
|
-
"lint:fix": "biome check --write",
|
|
57
|
-
"lint:fix:unsafe": "biome check --write --unsafe",
|
|
58
|
-
"ts:check": "tsc --noEmit",
|
|
59
|
-
"knip": "knip --production",
|
|
60
|
-
"check": "run-p ts:check lint:fix knip",
|
|
61
|
-
"________________ TEST ________________": "",
|
|
62
|
-
"test": "vitest run",
|
|
63
|
-
"test:watch": "vitest",
|
|
64
|
-
"test:cov": "vitest run --coverage",
|
|
65
|
-
|
|
66
|
-
"________________ OTHER ________________": "",
|
|
67
|
-
"prepare": "is-ci || lefthook install",
|
|
68
|
-
"update": "npx npm-check-updates -u && rimraf node_modules package-lock.json && npm i",
|
|
69
|
-
"postupdate": "npm run lint:fix && npm run check"
|
|
70
|
-
}
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
If the project has distinct unit and e2e test layers, add:
|
|
74
|
-
|
|
75
|
-
```json
|
|
76
|
-
"test:unit": "...",
|
|
77
|
-
"test:e2e": "...",
|
|
78
|
-
"test:all": "run-s test:unit test:e2e"
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
Otherwise omit `test:all` — do not duplicate `test` under a different name.
|
|
82
|
-
|
|
83
|
-
### Rules:
|
|
84
|
-
|
|
85
|
-
- ALWAYS include `check` script → central quality gate
|
|
86
|
-
- ALWAYS include `ts:check`; if no `tsconfig.json` exists, create a minimal one (see section 7)
|
|
87
|
-
- ALWAYS include `knip` for unused exports/deps detection
|
|
88
|
-
- ALWAYS include `lint:fix` in `check`
|
|
89
|
-
- Use `run-p` (from `npm-run-all`) for parallel execution — never `npx run-p`
|
|
90
|
-
- `prepare` MUST use `is-ci || lefthook install` to avoid CI failures when lefthook is not yet installed
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
## 4. FRONTEND-SPECIFIC REQUIREMENTS
|
|
95
|
-
|
|
96
|
-
If project type is **frontend**, additionally include:
|
|
97
|
-
|
|
98
|
-
```json
|
|
99
|
-
"lint:fsd": "steiger ./src",
|
|
100
|
-
"lint:style": "stylelint '**/*.{css,scss}'",
|
|
101
|
-
"lint:style:fix": "npm run lint:style -- --fix",
|
|
102
|
-
"check": "run-p lint:style ts:check lint:fix knip lint:fsd"
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
### Mandatory:
|
|
106
|
-
|
|
107
|
-
- FSD validation via `steiger`
|
|
108
|
-
- stylelint integration
|
|
109
|
-
- include ALL checks in `check`
|
|
110
|
-
|
|
111
|
-
---
|
|
112
|
-
|
|
113
|
-
## 5. TESTING STANDARD (MANDATORY)
|
|
114
|
-
|
|
115
|
-
Use **vitest only**.
|
|
116
|
-
|
|
117
|
-
Rules:
|
|
118
|
-
|
|
119
|
-
- NO jest
|
|
120
|
-
- NO mixed frameworks
|
|
121
|
-
- coverage MUST be supported via `test:cov`
|
|
122
|
-
|
|
123
|
-
---
|
|
124
|
-
|
|
125
|
-
## 6. BIOME CONFIG (MANDATORY)
|
|
126
|
-
|
|
127
|
-
You MUST ensure `biome.json` exists with this content:
|
|
128
|
-
|
|
129
|
-
```json
|
|
130
|
-
{
|
|
131
|
-
"$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
|
|
132
|
-
"formatter": {
|
|
133
|
-
"enabled": true,
|
|
134
|
-
"indentStyle": "space",
|
|
135
|
-
"lineEnding": "lf"
|
|
136
|
-
},
|
|
137
|
-
"javascript": {
|
|
138
|
-
"formatter": {
|
|
139
|
-
"quoteStyle": "single"
|
|
140
|
-
}
|
|
141
|
-
},
|
|
142
|
-
"linter": {
|
|
143
|
-
"enabled": true,
|
|
144
|
-
"rules": {
|
|
145
|
-
"recommended": true,
|
|
146
|
-
"correctness": {
|
|
147
|
-
"noUnusedImports": "error",
|
|
148
|
-
"noUnusedVariables": "error",
|
|
149
|
-
"noUnusedFunctionParameters": "error"
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
},
|
|
153
|
-
"files": {
|
|
154
|
-
"includes": [
|
|
155
|
-
"**",
|
|
156
|
-
"!node_modules",
|
|
157
|
-
"!dist"
|
|
158
|
-
]
|
|
159
|
-
},
|
|
160
|
-
"vcs": {
|
|
161
|
-
"enabled": true,
|
|
162
|
-
"clientKind": "git",
|
|
163
|
-
"useIgnoreFile": true
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
---
|
|
169
|
-
|
|
170
|
-
## 7. LEFTHOOK (MANDATORY)
|
|
171
|
-
|
|
172
|
-
You MUST write `lefthook.yml` with this exact content:
|
|
173
|
-
|
|
174
|
-
```yaml
|
|
175
|
-
pre-commit:
|
|
176
|
-
parallel: false
|
|
177
|
-
commands:
|
|
178
|
-
check:
|
|
179
|
-
run: npm run check
|
|
180
|
-
|
|
181
|
-
pre-push:
|
|
182
|
-
parallel: false
|
|
183
|
-
commands:
|
|
184
|
-
test-all:
|
|
185
|
-
run: npm run test:all
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
Rules:
|
|
189
|
-
|
|
190
|
-
- `check` (lint + types + knip) gates every commit
|
|
191
|
-
- tests gate every push — `pre-push` does NOT re-run `check` (already gated at commit)
|
|
192
|
-
- no bypassing allowed
|
|
193
|
-
|
|
194
|
-
---
|
|
195
|
-
|
|
196
|
-
## 8. MINIMAL TSCONFIG (if missing)
|
|
197
|
-
|
|
198
|
-
If `tsconfig.json` does not exist, create it:
|
|
199
|
-
|
|
200
|
-
```json
|
|
201
|
-
{
|
|
202
|
-
"compilerOptions": {
|
|
203
|
-
"target": "ES2022",
|
|
204
|
-
"module": "NodeNext",
|
|
205
|
-
"moduleResolution": "NodeNext",
|
|
206
|
-
"strict": true,
|
|
207
|
-
"noEmit": true,
|
|
208
|
-
"skipLibCheck": true
|
|
209
|
-
},
|
|
210
|
-
"include": [
|
|
211
|
-
"src",
|
|
212
|
-
"*.ts"
|
|
213
|
-
]
|
|
214
|
-
}
|
|
215
|
-
```
|
|
216
|
-
|
|
217
|
-
---
|
|
218
|
-
|
|
219
|
-
## 9. REQUIRED DEV DEPENDENCIES
|
|
220
|
-
|
|
221
|
-
Ensure these are installed (add any that are missing):
|
|
222
|
-
|
|
223
|
-
Core (all project types):
|
|
224
|
-
|
|
225
|
-
- `@biomejs/biome`
|
|
226
|
-
- `typescript`
|
|
227
|
-
- `vitest`
|
|
228
|
-
- `lefthook`
|
|
229
|
-
- `is-ci`
|
|
230
|
-
- `npm-run-all`
|
|
231
|
-
- `knip`
|
|
232
|
-
- `rimraf`
|
|
233
|
-
- `npm-check-updates`
|
|
234
|
-
|
|
235
|
-
Frontend only:
|
|
236
|
-
|
|
237
|
-
- `stylelint`
|
|
238
|
-
- `steiger`
|
|
239
|
-
|
|
240
|
-
---
|
|
241
|
-
|
|
242
|
-
## 10. ENFORCEMENT LOGIC
|
|
243
|
-
|
|
244
|
-
You MUST follow this order:
|
|
245
|
-
|
|
246
|
-
1. Detect project type (section 1)
|
|
247
|
-
2. Remove conflicting tools (section 2)
|
|
248
|
-
3. Rewrite `package.json` scripts (section 3, or 4 for frontend)
|
|
249
|
-
4. Write/update `biome.json` (section 6)
|
|
250
|
-
5. Write/update `lefthook.yml` (section 7)
|
|
251
|
-
6. Create `tsconfig.json` if missing (section 8)
|
|
252
|
-
7. Install missing dev dependencies (section 9)
|
|
253
|
-
|
|
254
|
-
NEVER:
|
|
255
|
-
|
|
256
|
-
- keep inconsistent scripts
|
|
257
|
-
- mix tools (eslint + biome)
|
|
258
|
-
- leave partial setup
|
|
259
|
-
|
|
260
|
-
---
|
|
261
|
-
|
|
262
|
-
## 11. OUTPUT FORMAT
|
|
263
|
-
|
|
264
|
-
You must output:
|
|
265
|
-
|
|
266
|
-
1. Updated `package.json` (only the `scripts` and `devDependencies` sections)
|
|
267
|
-
2. `biome.json`
|
|
268
|
-
3. `lefthook.yml`
|
|
269
|
-
4. `tsconfig.json` (if created)
|
|
270
|
-
5. List of removed files and packages
|
|
271
|
-
|
|
272
|
-
All configs must be **complete and copy-paste ready**.
|
|
273
|
-
|
|
274
|
-
---
|
|
275
|
-
|
|
276
|
-
## 12. PRINCIPLE
|
|
277
|
-
|
|
278
|
-
Your job is to enforce:
|
|
279
|
-
|
|
280
|
-
- determinism
|
|
281
|
-
- reproducibility
|
|
282
|
-
- zero-config onboarding
|
|
283
|
-
- strict quality gates
|
|
284
|
-
|
|
285
|
-
If something is ambiguous — choose the stricter option.
|