ai-developer-skill-os 7.0.2 → 7.5.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/.agents/AGENTS.md +44 -88
- package/.agents/CHANGELOG.md +70 -0
- package/.agents/LICENSE +21 -0
- package/.agents/README.md +100 -0
- package/.agents/docs/CHI_TIET_SKILLS.md +126 -0
- package/.agents/docs/GOVERNANCE.md +40 -0
- package/.agents/docs/HUONG_DAN_SU_DUNG.md +120 -0
- package/.agents/docs/SPEC.md +87 -0
- package/.agents/docs/adr/0001-intent-based-architecture.md +19 -0
- package/.agents/docs/adr/0002-kernel-freeze.md +21 -0
- package/.agents/docs/adr/0003-risk-based-verification.md +20 -0
- package/.agents/docs/adr/0004-progressive-evidence.md +19 -0
- package/.agents/docs/skill-classification.md +25 -0
- package/.agents/skills/qk-access-policy/SKILL.md +179 -0
- package/.agents/skills/qk-ai-builder/SKILL.md +215 -0
- package/.agents/skills/qk-api-lifecycle/SKILL.md +176 -0
- package/.agents/skills/qk-bug-resolution/SKILL.md +307 -0
- package/.agents/skills/qk-context-loader/SKILL.md +218 -0
- package/.agents/skills/qk-data-lifecycle/SKILL.md +192 -0
- package/.agents/skills/qk-db-optimizer/SKILL.md +196 -0
- package/.agents/skills/qk-docs/SKILL.md +198 -0
- package/.agents/skills/qk-engineering-standard/SKILL.md +351 -0
- package/.agents/skills/qk-engineering-standard/rules/backend.md +122 -0
- package/.agents/skills/qk-engineering-standard/rules/database.md +3 -0
- package/.agents/skills/qk-engineering-standard/rules/frontend.md +152 -0
- package/.agents/skills/qk-engineering-standard/rules/security.md +3 -0
- package/.agents/skills/qk-engineering-standard/rules/testing.md +3 -0
- package/.agents/skills/qk-fe-api-integration/SKILL.md +326 -0
- package/.agents/skills/qk-feature-delivery/SKILL.md +305 -0
- package/.agents/skills/qk-help/SKILL.md +193 -0
- package/.agents/skills/qk-orchestrator/SKILL.md +278 -0
- package/.agents/skills/qk-orchestrator/references/routing-table.md +78 -0
- package/.agents/skills/qk-production-release/SKILL.md +284 -0
- package/.agents/skills/qk-project-bootstrap/SKILL.md +235 -0
- package/.agents/skills/qk-project-health/SKILL.md +199 -0
- package/.agents/skills/qk-project-memory/SKILL.md +218 -0
- package/.agents/skills/qk-system-evolution/SKILL.md +281 -0
- package/.agents/skills/qk-ui-audit/SKILL.md +315 -0
- package/.agents/skills/qk-ui-audit/references/anti-slop-checklist.md +136 -0
- package/.agents/skills/qk-ui-builder/SKILL.md +446 -0
- package/.agents/skills/qk-ui-builder/references/anti-patterns.md +295 -0
- package/.agents/skills/qk-ui-builder/references/color.md +115 -0
- package/.agents/skills/qk-ui-builder/references/component-cookbook.md +1194 -0
- package/.agents/skills/qk-ui-builder/references/copy.md +250 -0
- package/.agents/skills/qk-ui-builder/references/interaction-and-states.md +115 -0
- package/.agents/skills/qk-ui-builder/references/layout-and-space.md +111 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/01-bento-grid.md +48 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/02-long-document.md +50 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/03-marquee-hero.md +51 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/04-stat-led.md +49 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/05-workbench.md +44 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/06-conversational-faq.md +50 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/07-manifesto.md +51 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/08-photographic.md +50 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/09-quote-led.md +50 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/11-catalogue.md +49 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/12-letter.md +49 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/13-index-first.md +49 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/14-narrative-workflow.md +48 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/15-split-studio.md +48 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/16-feature-stack.md +51 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/17-type-specimen.md +48 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/18-portfolio-grid.md +48 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/19-map-diagram.md +50 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/20-ecosystem-index.md +48 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures/21-component-playground.md +45 -0
- package/.agents/skills/qk-ui-builder/references/macrostructures.md +38 -0
- package/.agents/skills/qk-ui-builder/references/motion.md +95 -0
- package/.agents/skills/qk-ui-builder/references/responsive.md +115 -0
- package/.agents/skills/qk-ui-builder/references/slop-test.md +135 -0
- package/.agents/skills/qk-ui-builder/references/structure.md +280 -0
- package/.agents/skills/qk-ui-builder/references/themes/atmospheric.md +53 -0
- package/.agents/skills/qk-ui-builder/references/themes/carnival.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/cobalt.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/editorial.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/garden.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/hum.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/lumen.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/midnight.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/modern-minimal.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/playful.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/specimen.md +52 -0
- package/.agents/skills/qk-ui-builder/references/themes/terminal.md +52 -0
- package/.agents/skills/qk-ui-builder/references/typography.md +129 -0
- package/.agents/skills/qk-ui-system-builder/SKILL.md +221 -0
- package/.agents/skills/qk-validation-gate/SKILL.md +359 -0
- package/.agents/skills.json +819 -0
- package/.github/workflows/ci.yml +1 -1
- package/CHANGELOG.md +2 -1
- package/CLAUDE.md +110 -0
- package/README.md +52 -10
- package/add_lang.js +21 -0
- package/add_lang.py +25 -0
- package/add_sections.py +53 -0
- package/bin/install.js +225 -170
- package/bin/lint.js +123 -0
- package/docs/CHI_TIET_SKILLS.md +27 -26
- package/docs/HUONG_DAN_SU_DUNG.md +3 -3
- package/docs/SPEC.md +70 -20
- package/framework/decision-primitives.md +2 -1
- package/framework/skill-schema.md +310 -0
- package/package.json +16 -5
- package/patch.js +15 -0
- package/patch.py +89 -0
- package/patch2.py +83 -0
- package/skills/_archive_old_skills/qk-accessibility-audit/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-agent-orchestrator/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-api-integration/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-auth-security/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-backend-architecture/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-bug-fix/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-component-generator/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-context-manager/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-database-engineer/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-deployment/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-design-system/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-form-builder/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-frontend-architecture/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-frontend-debug/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-frontend-performance/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-frontend-testing/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-git-engineer/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-help/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-migration/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-project-audit/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-refactor/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-state-management/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-table-crud-generator/SKILL.md +1 -0
- package/skills/_archive_old_skills/qk-ui-builder/SKILL.md +1 -0
- package/skills/_template/SKILL.md +239 -0
- package/skills/qk-access-policy/SKILL.md +180 -39
- package/skills/qk-ai-builder/SKILL.md +216 -40
- package/skills/qk-api-lifecycle/SKILL.md +177 -46
- package/skills/qk-bug-resolution/SKILL.md +308 -46
- package/skills/qk-context-loader/SKILL.md +219 -43
- package/skills/qk-data-lifecycle/SKILL.md +193 -44
- package/skills/qk-db-optimizer/SKILL.md +197 -41
- package/skills/qk-docs/SKILL.md +199 -40
- package/skills/qk-engineering-standard/SKILL.md +352 -42
- package/skills/qk-fe-api-integration/SKILL.md +327 -55
- package/skills/qk-feature-delivery/SKILL.md +306 -48
- package/skills/qk-help/SKILL.md +179 -23
- package/skills/qk-orchestrator/SKILL.md +279 -42
- package/skills/qk-orchestrator/references/routing-table.md +78 -0
- package/skills/qk-production-release/SKILL.md +285 -41
- package/skills/qk-project-bootstrap/SKILL.md +236 -38
- package/skills/qk-project-health/SKILL.md +200 -40
- package/skills/qk-project-memory/SKILL.md +219 -40
- package/skills/qk-system-evolution/SKILL.md +282 -40
- package/skills/qk-ui-audit/SKILL.md +316 -42
- package/skills/qk-ui-audit/references/anti-slop-checklist.md +136 -0
- package/skills/qk-ui-builder/SKILL.md +447 -0
- package/skills/qk-ui-builder/references/anti-patterns.md +295 -0
- package/skills/qk-ui-builder/references/color.md +115 -0
- package/skills/qk-ui-builder/references/component-cookbook.md +1194 -0
- package/skills/qk-ui-builder/references/copy.md +250 -0
- package/skills/qk-ui-builder/references/interaction-and-states.md +115 -0
- package/skills/qk-ui-builder/references/layout-and-space.md +111 -0
- package/skills/qk-ui-builder/references/macrostructures/01-bento-grid.md +48 -0
- package/skills/qk-ui-builder/references/macrostructures/02-long-document.md +50 -0
- package/skills/qk-ui-builder/references/macrostructures/03-marquee-hero.md +51 -0
- package/skills/qk-ui-builder/references/macrostructures/04-stat-led.md +49 -0
- package/skills/qk-ui-builder/references/macrostructures/05-workbench.md +44 -0
- package/skills/qk-ui-builder/references/macrostructures/06-conversational-faq.md +50 -0
- package/skills/qk-ui-builder/references/macrostructures/07-manifesto.md +51 -0
- package/skills/qk-ui-builder/references/macrostructures/08-photographic.md +50 -0
- package/skills/qk-ui-builder/references/macrostructures/09-quote-led.md +50 -0
- package/skills/qk-ui-builder/references/macrostructures/11-catalogue.md +49 -0
- package/skills/qk-ui-builder/references/macrostructures/12-letter.md +49 -0
- package/skills/qk-ui-builder/references/macrostructures/13-index-first.md +49 -0
- package/skills/qk-ui-builder/references/macrostructures/14-narrative-workflow.md +48 -0
- package/skills/qk-ui-builder/references/macrostructures/15-split-studio.md +48 -0
- package/skills/qk-ui-builder/references/macrostructures/16-feature-stack.md +51 -0
- package/skills/qk-ui-builder/references/macrostructures/17-type-specimen.md +48 -0
- package/skills/qk-ui-builder/references/macrostructures/18-portfolio-grid.md +48 -0
- package/skills/qk-ui-builder/references/macrostructures/19-map-diagram.md +50 -0
- package/skills/qk-ui-builder/references/macrostructures/20-ecosystem-index.md +48 -0
- package/skills/qk-ui-builder/references/macrostructures/21-component-playground.md +45 -0
- package/skills/qk-ui-builder/references/macrostructures.md +38 -0
- package/skills/qk-ui-builder/references/motion.md +95 -0
- package/skills/qk-ui-builder/references/responsive.md +115 -0
- package/skills/qk-ui-builder/references/slop-test.md +135 -0
- package/skills/qk-ui-builder/references/structure.md +280 -0
- package/skills/qk-ui-builder/references/themes/atmospheric.md +53 -0
- package/skills/qk-ui-builder/references/themes/carnival.md +52 -0
- package/skills/qk-ui-builder/references/themes/cobalt.md +52 -0
- package/skills/qk-ui-builder/references/themes/editorial.md +52 -0
- package/skills/qk-ui-builder/references/themes/garden.md +52 -0
- package/skills/qk-ui-builder/references/themes/hum.md +52 -0
- package/skills/qk-ui-builder/references/themes/lumen.md +52 -0
- package/skills/qk-ui-builder/references/themes/midnight.md +52 -0
- package/skills/qk-ui-builder/references/themes/modern-minimal.md +52 -0
- package/skills/qk-ui-builder/references/themes/playful.md +52 -0
- package/skills/qk-ui-builder/references/themes/specimen.md +52 -0
- package/skills/qk-ui-builder/references/themes/terminal.md +52 -0
- package/skills/qk-ui-builder/references/typography.md +129 -0
- package/skills/qk-ui-system-builder/SKILL.md +222 -43
- package/skills/qk-validation-gate/SKILL.md +360 -40
- package/skills.json +815 -825
- package/specs/fixtures/user-payload.json +12 -0
- package/specs/regressions/api-integration-null-fields.yaml +19 -0
- package/temp_fix.js +61 -0
- package/tests/registry.test.js +1 -1
- package/update_template.js +28 -0
- package/skills/qk-design-to-code/SKILL.md +0 -46
- package/skills/qk-policy-engine/SKILL.md +0 -39
|
@@ -1,41 +1,285 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: qk-production-release
|
|
3
|
-
category: devops
|
|
4
|
-
version: 7.
|
|
5
|
-
description: "Chuẩn bị
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
1
|
+
---
|
|
2
|
+
name: qk-production-release
|
|
3
|
+
category: devops
|
|
4
|
+
version: 7.5.1
|
|
5
|
+
description: "Chuẩn bị release production với 8-gate checklist bắt buộc — không pass gate = không deploy."
|
|
6
|
+
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
7
|
+
execution_mode: deterministic
|
|
8
|
+
|
|
9
|
+
cost: medium
|
|
10
|
+
latency: slow
|
|
11
|
+
risk: high
|
|
12
|
+
side_effects: run_commands
|
|
13
|
+
produces: [report, plan]
|
|
14
|
+
consumes: [validation-gate-result, source-code]
|
|
15
|
+
|
|
16
|
+
token_budget:
|
|
17
|
+
max_files_read: 3
|
|
18
|
+
max_lines_per_read: 100
|
|
19
|
+
max_shell_commands: 2
|
|
20
|
+
stop_early: false
|
|
21
|
+
|
|
22
|
+
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
23
|
+
skill_version: 7.5.1
|
|
24
|
+
runtime_version: 1
|
|
25
|
+
schema_version: 2
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
# qk-production-release — Release Gate
|
|
29
|
+
|
|
30
|
+
> **Language rule:** Code, identifiers, file names ? English. Explanations, summaries ? Vietnamese.
|
|
31
|
+
|
|
32
|
+
skill_version: 7.5.1
|
|
33
|
+
runtime_version: 1
|
|
34
|
+
schema_version: 2
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Preconditions
|
|
38
|
+
- [ ] `qk-validation-gate` has been run and returned SUCCESS or PARTIAL
|
|
39
|
+
- [ ] All HIGH priority bugs are resolved
|
|
40
|
+
- [ ] Production environment variables are configured (not dev)
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
On missing precondition:
|
|
44
|
+
EXIT: BLOCKED
|
|
45
|
+
Message: "qk-validation-gate must pass before release. Run it first."
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
skill_version: 7.5.1
|
|
49
|
+
runtime_version: 1
|
|
50
|
+
schema_version: 2
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Scope
|
|
54
|
+
- ✅ Run 8-gate release checklist
|
|
55
|
+
- ✅ Verify no dev artifacts in production build
|
|
56
|
+
- ✅ Verify environment configuration
|
|
57
|
+
|
|
58
|
+
## Non-Goals
|
|
59
|
+
- ❌ Fix bugs — that's `qk-bug-resolution`
|
|
60
|
+
- ❌ Deploy to infrastructure — that's DevOps/CI system
|
|
61
|
+
- ❌ Skip any gate unless user explicitly overrides
|
|
62
|
+
|
|
63
|
+
skill_version: 7.5.1
|
|
64
|
+
runtime_version: 1
|
|
65
|
+
schema_version: 2
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Priority Order
|
|
69
|
+
|
|
70
|
+
| Priority | Gate | Block Release? |
|
|
71
|
+
|----------|------|---------------|
|
|
72
|
+
| P1 | Validation gate result (from qk-validation-gate) | YES — hard block |
|
|
73
|
+
| P2 | No unresolved HIGH/CRITICAL bugs | YES — hard block |
|
|
74
|
+
| P3 | No `console.log` / debug artifacts in src/ | YES — hard block |
|
|
75
|
+
| P4 | .env.production exists (not .env.development) | YES — hard block |
|
|
76
|
+
| P5 | Build succeeds in production mode | YES — hard block |
|
|
77
|
+
| P6 | Bundle size within limit (< 500KB gzipped) | WARN only |
|
|
78
|
+
| P7 | No dev dependencies in production build | YES — hard block |
|
|
79
|
+
| P8 | CHANGELOG.md updated with release notes | WARN only |
|
|
80
|
+
|
|
81
|
+
skill_version: 7.5.1
|
|
82
|
+
runtime_version: 1
|
|
83
|
+
schema_version: 2
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Release Checklist (Mandatory)
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
[ ] P1: qk-validation-gate: SUCCESS
|
|
90
|
+
[ ] P2: 0 unresolved HIGH/CRITICAL bugs
|
|
91
|
+
[ ] P3: grep -r "console.log\|debugger" src/ → empty
|
|
92
|
+
[ ] P4: .env.production configured, NODE_ENV=production
|
|
93
|
+
[ ] P5: npm run build (production mode) → exit 0
|
|
94
|
+
[ ] P6: Bundle size ≤ 500KB gzipped (warn if exceeded)
|
|
95
|
+
[ ] P7: npm audit --production → 0 critical/high
|
|
96
|
+
[ ] P8: CHANGELOG.md has entry for this release
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
skill_version: 7.5.1
|
|
100
|
+
runtime_version: 1
|
|
101
|
+
schema_version: 2
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Workflow
|
|
105
|
+
|
|
106
|
+
### Phase 1 — Pre-flight Checks (P1–P4)
|
|
107
|
+
|
|
108
|
+
**Steps:**
|
|
109
|
+
1. Verify validation-gate result (check previous output or re-read)
|
|
110
|
+
2. `grep_search` for `console.log`, `debugger`, `TODO:`, `FIXME:`
|
|
111
|
+
3. Check for `.env.production` vs `.env.development` configuration
|
|
112
|
+
|
|
113
|
+
**Decision:**
|
|
114
|
+
```
|
|
115
|
+
IF any P1–P4 check fails
|
|
116
|
+
→ EXIT: FAILED immediately
|
|
117
|
+
→ Report which gate failed and exact fix required
|
|
118
|
+
|
|
119
|
+
IF all P1–P4 pass
|
|
120
|
+
→ go to Phase 2
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
skill_version: 7.5.1
|
|
124
|
+
runtime_version: 1
|
|
125
|
+
schema_version: 2
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
### Phase 2 — Build & Size Gate (P5–P7)
|
|
129
|
+
|
|
130
|
+
**Steps:**
|
|
131
|
+
1. (If allowed) `npm run build` — 1 command used
|
|
132
|
+
2. Check bundle size if measurable
|
|
133
|
+
3. `npm audit --production` — 2nd command
|
|
134
|
+
|
|
135
|
+
**Decision:**
|
|
136
|
+
```
|
|
137
|
+
IF build fails
|
|
138
|
+
→ EXIT: FAILED
|
|
139
|
+
|
|
140
|
+
IF bundle size > 500KB
|
|
141
|
+
→ Note as WARNING, do not block
|
|
142
|
+
|
|
143
|
+
IF production audit has critical/high
|
|
144
|
+
→ EXIT: FAILED
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
skill_version: 7.5.1
|
|
148
|
+
runtime_version: 1
|
|
149
|
+
schema_version: 2
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
### Phase 3 — Release Report
|
|
153
|
+
|
|
154
|
+
Generate signed release report with all gate results.
|
|
155
|
+
|
|
156
|
+
**Decision:**
|
|
157
|
+
```
|
|
158
|
+
IF all hard-block gates pass
|
|
159
|
+
→ EXIT: SUCCESS — safe to deploy
|
|
160
|
+
|
|
161
|
+
IF only WARN gates failed (P6, P8)
|
|
162
|
+
→ EXIT: PARTIAL — deploy with noted caveats
|
|
163
|
+
|
|
164
|
+
IF any hard-block gate failed
|
|
165
|
+
→ EXIT: FAILED — do NOT deploy
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
skill_version: 7.5.1
|
|
169
|
+
runtime_version: 1
|
|
170
|
+
schema_version: 2
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## Evidence Format
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
[SEVERITY] Gate: [P1-P8 name]
|
|
177
|
+
Check: [what was checked]
|
|
178
|
+
Result: [PASS | FAIL | WARN]
|
|
179
|
+
Threshold: [what the rule is]
|
|
180
|
+
Actual: [what was found]
|
|
181
|
+
Fix: [what must be done before release]
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
skill_version: 7.5.1
|
|
185
|
+
runtime_version: 1
|
|
186
|
+
schema_version: 2
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Escalation Rules
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
BLOCKED: qk-validation-gate not run
|
|
193
|
+
Missing:
|
|
194
|
+
- Run qk-validation-gate first and share the result
|
|
195
|
+
Questions:
|
|
196
|
+
1. Validation gate đã chạy chưa?
|
|
197
|
+
2. Có bug nào HIGH/CRITICAL chưa fix không?
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
skill_version: 7.5.1
|
|
201
|
+
runtime_version: 1
|
|
202
|
+
schema_version: 2
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## Handoff Contract
|
|
206
|
+
|
|
207
|
+
### Consumes
|
|
208
|
+
```json
|
|
209
|
+
{
|
|
210
|
+
"from": "qk-validation-gate",
|
|
211
|
+
"required_fields": ["gate_result", "coverage_percent"],
|
|
212
|
+
"optional_fields": ["bundle_size", "changelog_entry"]
|
|
213
|
+
}
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### Produces
|
|
217
|
+
```json
|
|
218
|
+
{
|
|
219
|
+
"to": "CI/CD system or user",
|
|
220
|
+
"output_fields": ["release_checklist_result", "gates_passed", "gates_failed", "exit_code"]
|
|
221
|
+
}
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
skill_version: 7.5.1
|
|
225
|
+
runtime_version: 1
|
|
226
|
+
schema_version: 2
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## Output Format
|
|
230
|
+
|
|
231
|
+
```
|
|
232
|
+
🚀 Production Release Gate
|
|
233
|
+
─────────────────────────────────────────────────
|
|
234
|
+
Version: [vX.Y.Z]
|
|
235
|
+
Date: [YYYY-MM-DD]
|
|
236
|
+
|
|
237
|
+
Gate Results:
|
|
238
|
+
P1 Validation: [✅ PASS | ❌ FAIL]
|
|
239
|
+
P2 Open Bugs: [✅ 0 HIGH/CRITICAL | ❌ N unresolved]
|
|
240
|
+
P3 Debug Cleanup: [✅ Clean | ❌ N artifacts found]
|
|
241
|
+
P4 Environment: [✅ Production config | ❌ Dev config detected]
|
|
242
|
+
P5 Build: [✅ SUCCESS | ❌ FAILED]
|
|
243
|
+
P6 Bundle Size: [✅ NKB | ⚠️ NKB > 500KB]
|
|
244
|
+
P7 Security: [✅ Clean | ❌ N critical/high]
|
|
245
|
+
P8 Changelog: [✅ Updated | ⚠️ Missing]
|
|
246
|
+
|
|
247
|
+
Verdict: [✅ SAFE TO DEPLOY | ❌ DO NOT DEPLOY — fix: list]
|
|
248
|
+
Exit Code: [SUCCESS | PARTIAL | BLOCKED | FAILED]
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
skill_version: 7.5.1
|
|
252
|
+
runtime_version: 1
|
|
253
|
+
schema_version: 2
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## Confidence Model
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
## Severity
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## Retry Policy
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
## Exit Codes
|
|
274
|
+
|
|
275
|
+
| Code | Meaning | When |
|
|
276
|
+
|------|---------|------|
|
|
277
|
+
| SUCCESS | All hard-block gates pass | Deploy approved |
|
|
278
|
+
| PARTIAL | Hard gates pass, warnings exist | Deploy with noted caveats |
|
|
279
|
+
| BLOCKED | Prerequisites missing | Run validation-gate first |
|
|
280
|
+
| FAILED | Any hard gate failed | Do NOT deploy |
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
|
|
@@ -1,38 +1,236 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: qk-project-bootstrap
|
|
3
|
-
category: fullstack
|
|
4
|
-
version: 7.
|
|
5
|
-
description: "Khởi tạo dự án mới với
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
ask
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
1
|
+
---
|
|
2
|
+
name: qk-project-bootstrap
|
|
3
|
+
category: fullstack
|
|
4
|
+
version: 7.5.1
|
|
5
|
+
description: "Khởi tạo dự án mới với cấu trúc chuẩn, linters, DESIGN.md — không bao giờ thiếu foundation."
|
|
6
|
+
platforms: [antigravity, claude-code, cursor, windsurf, kilo-code]
|
|
7
|
+
execution_mode: deterministic
|
|
8
|
+
cost: high
|
|
9
|
+
latency: slow
|
|
10
|
+
risk: low
|
|
11
|
+
side_effects: edit_files
|
|
12
|
+
produces: [code, schema, plan]
|
|
13
|
+
consumes: [user-description]
|
|
14
|
+
token_budget:
|
|
15
|
+
max_files_read: 1
|
|
16
|
+
max_lines_per_read: 50
|
|
17
|
+
max_shell_commands: 2
|
|
18
|
+
stop_early: false
|
|
19
|
+
exit_codes: [SUCCESS, BLOCKED, FAILED, PARTIAL]
|
|
20
|
+
skill_version: 7.5.1
|
|
21
|
+
runtime_version: 1
|
|
22
|
+
schema_version: 2
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# qk-project-bootstrap — Project Foundation Builder
|
|
26
|
+
|
|
27
|
+
> **Language rule:** Code, identifiers, file names ? English. Explanations, summaries ? Vietnamese.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Preconditions
|
|
32
|
+
- [ ] Framework/language preference is stated (or ask before proceeding)
|
|
33
|
+
- [ ] Project purpose is clear (web app, API, CLI, library)
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
On missing precondition:
|
|
37
|
+
EXIT: BLOCKED
|
|
38
|
+
Message: "Vui lòng cho biết: framework (React/Next.js/NestJS/Express...) và mục đích dự án."
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Scope
|
|
44
|
+
- ✅ Initialize project with standard tooling
|
|
45
|
+
- ✅ Generate `DESIGN.md` (mandatory for any UI project)
|
|
46
|
+
- ✅ Configure: ESLint, Prettier, TypeScript strict mode
|
|
47
|
+
- ✅ Create standard directory structure
|
|
48
|
+
|
|
49
|
+
## Non-Goals
|
|
50
|
+
- ❌ Skip DESIGN.md for UI projects
|
|
51
|
+
- ❌ Hardcode outdated dependency versions
|
|
52
|
+
- ❌ Skip README
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Standard Directory Structures
|
|
57
|
+
|
|
58
|
+
### Next.js / React
|
|
59
|
+
```
|
|
60
|
+
src/
|
|
61
|
+
├── app/ # Pages (App Router) or pages/
|
|
62
|
+
├── components/ # Shared UI components
|
|
63
|
+
│ ├── ui/ # Design system primitives
|
|
64
|
+
│ └── [feature]/ # Feature-specific components
|
|
65
|
+
├── hooks/ # Custom React hooks
|
|
66
|
+
├── lib/ # Utilities, helpers
|
|
67
|
+
├── services/ # API service functions
|
|
68
|
+
├── types/ # TypeScript type definitions
|
|
69
|
+
└── styles/ # Global CSS + DESIGN.md tokens
|
|
70
|
+
DESIGN.md # Brand & Design Contract
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### NestJS / Express API
|
|
74
|
+
```
|
|
75
|
+
src/
|
|
76
|
+
├── modules/
|
|
77
|
+
│ └── [feature]/
|
|
78
|
+
│ ├── [feature].controller.ts
|
|
79
|
+
│ ├── [feature].service.ts
|
|
80
|
+
│ ├── [feature].repository.ts
|
|
81
|
+
│ └── dto/
|
|
82
|
+
├── common/ # Shared utilities, guards, interceptors
|
|
83
|
+
├── config/ # Environment configuration
|
|
84
|
+
└── main.ts
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Vite + React
|
|
88
|
+
```
|
|
89
|
+
src/
|
|
90
|
+
├── assets/
|
|
91
|
+
├── components/
|
|
92
|
+
├── pages/
|
|
93
|
+
├── router/
|
|
94
|
+
├── services/
|
|
95
|
+
├── stores/ # State management
|
|
96
|
+
└── types/
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Required Files Checklist
|
|
102
|
+
```
|
|
103
|
+
[ ] package.json — with lint + test + build scripts
|
|
104
|
+
[ ] tsconfig.json — strict: true enabled
|
|
105
|
+
[ ] .eslintrc / eslint.config.js — project standard
|
|
106
|
+
[ ] .prettierrc — formatting config
|
|
107
|
+
[ ] .gitignore — standard entries
|
|
108
|
+
[ ] README.md — project description + setup instructions
|
|
109
|
+
[ ] DESIGN.md — (UI projects) brand contract with color/font/spacing tokens
|
|
110
|
+
[ ] .env.example — all env vars listed (no actual values)
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## DESIGN.md Minimum Template
|
|
116
|
+
```markdown
|
|
117
|
+
# Design System
|
|
118
|
+
|
|
119
|
+
## Colors (HSL)
|
|
120
|
+
--color-primary: hsl(220, 80%, 55%);
|
|
121
|
+
--color-surface: hsl(220, 15%, 12%);
|
|
122
|
+
--color-text: hsl(220, 10%, 90%);
|
|
123
|
+
|
|
124
|
+
## Spacing Scale (4px base)
|
|
125
|
+
--space-1: 4px; --space-2: 8px; --space-3: 16px;
|
|
126
|
+
--space-4: 24px; --space-5: 32px; --space-6: 48px;
|
|
127
|
+
|
|
128
|
+
## Typography
|
|
129
|
+
--font-sans: 'Inter', system-ui, sans-serif;
|
|
130
|
+
--font-size-base: 1rem;
|
|
131
|
+
--font-size-lg: 1.25rem;
|
|
132
|
+
|
|
133
|
+
## Border Radius
|
|
134
|
+
--radius-sm: 4px; --radius-md: 8px; --radius-lg: 16px;
|
|
135
|
+
|
|
136
|
+
## Animation
|
|
137
|
+
--transition-fast: 150ms ease;
|
|
138
|
+
--transition-base: 250ms ease;
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Workflow
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Evidence Format
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Priority Order
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
## Exit Codes
|
|
161
|
+
| Code | Meaning | When |
|
|
162
|
+
|------|---------|------|
|
|
163
|
+
| SUCCESS | All required files created, structure matches framework standard | Full bootstrap complete |
|
|
164
|
+
| PARTIAL | Structure created but DESIGN.md incomplete (UI project) | Follow-up needed |
|
|
165
|
+
| BLOCKED | Framework/purpose not specified | Ask user |
|
|
166
|
+
| FAILED | Cannot initialize (permission error, invalid framework) | Report error |
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Confidence Model
|
|
171
|
+
| Level | Condition | Action |
|
|
172
|
+
|-------|-----------|--------|
|
|
173
|
+
| HIGH | Framework explicitly stated, directory structure clear | Build directly |
|
|
174
|
+
| MEDIUM | Framework inferred from context (found React imports) | Note assumption, proceed |
|
|
175
|
+
| LOW | Cannot determine framework or project type | EXIT: BLOCKED |
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Severity
|
|
180
|
+
| Level | Definition | Example |
|
|
181
|
+
|-------|-----------|----------|
|
|
182
|
+
| CRITICAL | Security misconfiguration in bootstrap | .env with real secrets committed |
|
|
183
|
+
| HIGH | Missing mandatory file blocks all future work | No DESIGN.md for UI project |
|
|
184
|
+
| MEDIUM | Incomplete setup reduces developer experience | Missing ESLint config |
|
|
185
|
+
| LOW | Cosmetic or optional file missing | Missing .editorconfig |
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Retry Policy
|
|
190
|
+
```
|
|
191
|
+
File creation fails
|
|
192
|
+
└─ Check: permission issue vs path error
|
|
193
|
+
├─ Path error → correct path and retry
|
|
194
|
+
└─ Permission error → EXIT: FAILED, report exact path
|
|
195
|
+
└─ Do NOT retry more than 1 time per file
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Escalation Rules
|
|
201
|
+
```
|
|
202
|
+
BLOCKED: Framework or project type not specified
|
|
203
|
+
Missing:
|
|
204
|
+
- Framework name (React, Next.js, NestJS, Express, etc.)
|
|
205
|
+
- Project purpose (web app, API, CLI, library)
|
|
206
|
+
Questions:
|
|
207
|
+
1. Framework nào bạn muốn dùng?
|
|
208
|
+
2. Dự án này là web app, API server, hay CLI tool?
|
|
209
|
+
Recommended Assumptions (if proceeding):
|
|
210
|
+
- Default: Next.js 14 (App Router) + TypeScript + ESLint
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## Handoff Contract
|
|
216
|
+
### Consumes
|
|
217
|
+
```json
|
|
218
|
+
{
|
|
219
|
+
"from": "user",
|
|
220
|
+
"required_fields": ["framework", "project_purpose"],
|
|
221
|
+
"optional_fields": ["project_name", "existing_dir"]
|
|
222
|
+
}
|
|
223
|
+
```
|
|
224
|
+
### Produces
|
|
225
|
+
```json
|
|
226
|
+
{
|
|
227
|
+
"to": "qk-feature-delivery or qk-ui-builder",
|
|
228
|
+
"output_fields": ["project_structure", "design_md_path", "tooling_config", "exit_code"]
|
|
229
|
+
}
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
|