k-harness 0.8.1 → 0.8.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.
Files changed (3) hide show
  1. package/README.md +17 -13
  2. package/package.json +1 -1
  3. package/src/init.js +5 -17
package/README.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # K-Harness
2
2
 
3
+ [![npm version](https://img.shields.io/npm/v/k-harness.svg)](https://www.npmjs.com/package/k-harness)
4
+ [![npm downloads](https://img.shields.io/npm/dm/k-harness.svg)](https://www.npmjs.com/package/k-harness)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
+
3
7
  Project Direction Management Framework for LLM-Driven Development.
4
8
 
5
9
  ## What It Does
@@ -53,7 +57,7 @@ npx k-harness init --ide antigravity
53
57
  |-----|----------------------|--------|--------|
54
58
  | **VS Code Copilot** | `.github/copilot-instructions.md` | `.github/skills/*/SKILL.md` | `.github/agents/*.agent.md` |
55
59
  | **Claude Code** | `.claude/rules/core.md` | `.claude/skills/*/SKILL.md` | `.claude/skills/*/SKILL.md` |
56
- | **Cursor** | `.cursor/rules/core.mdc` | `.cursor/rules/*.mdc` | `.cursor/rules/*.mdc` |
60
+ | **Cursor** | `.cursor/rules/core.mdc` | `.cursor/skills/*/SKILL.md` | `.cursor/skills/*/SKILL.md` |
57
61
  | **Codex** | `AGENTS.md` | `.agents/skills/*/SKILL.md` | (merged into AGENTS.md) |
58
62
  | **Windsurf** | `.windsurfrules` | (merged) | (merged) |
59
63
  | **Augment Code** | `.augment/rules/core.md` | `.augment/skills/*/SKILL.md` | `.augment/skills/*/SKILL.md` |
@@ -118,18 +122,18 @@ When goals, technology, or scope changes, run the `pivot` skill:
118
122
 
119
123
  See [docs/reference.md](docs/reference.md) for detailed descriptions of every skill, agent, rule, and state file.
120
124
 
121
- ## Why Not BMAD or gstack?
122
-
123
- | | BMAD v6.2.2 | gstack v0.15.1 | K-Harness |
124
- |---|---|---|---|
125
- | Focus | Enterprise SDLC methodology | 1-person software factory | Project direction management |
126
- | Files | 200+ | ~40 | ~20 |
127
- | Dependencies | Node 20+ | Bun + Node + Playwright | Zero |
128
- | IDE support | 20+ (installer) | 5 (setup --host) | 7 (native format) |
129
- | Direction management | ❌ | ❌ | ✅ (Direction Guard + pivot + Decision Log) |
130
- | Cold start | ❌ | ❌ | ✅ (bootstrap) |
131
- | State file audit | ❌ | ❌ | ✅ (reviewer Step 8) |
132
- | Context per task | 4-6 files | 1 file | 2-3 files |
125
+ ## Why K-Harness?
126
+
127
+ | | BMAD v6.2.2 | gstack v0.15.1 | GSD v1.33.0 | K-Harness |
128
+ |---|---|---|---|---|
129
+ | Focus | Enterprise SDLC methodology | 1-person software factory | Full lifecycle automation | Project direction management |
130
+ | Files | 200+ | ~40 | Hundreds | ~20 |
131
+ | Dependencies | Node 20+ | Bun + Node + Playwright | Node 18+ | Zero |
132
+ | IDE support | 20+ (installer) | 5 (setup --host) | 13 (runtime select) | 7 (native format) |
133
+ | Direction management | ❌ | ❌ | ❌ | ✅ (Direction Guard + pivot + Decision Log) |
134
+ | Iron Laws (code quality rules) | ❌ | ❌ | ❌ | ✅ (6 laws embedded in skills) |
135
+ | Cold start | ❌ | ❌ | `/gsd-new-project` | ✅ (`bootstrap` skill) |
136
+ | Context per task | 4-6 files | 1 file | Fresh 200k per plan | 2-3 files (22-line dispatcher) |
133
137
 
134
138
  ## License
135
139
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "k-harness",
3
- "version": "0.8.1",
3
+ "version": "0.8.3",
4
4
  "description": "LLM Development Harness — IDE-agnostic rules, skills, and agents that prevent common AI coding failures",
5
5
  "keywords": [
6
6
  "llm",
package/src/init.js CHANGED
@@ -148,30 +148,18 @@ function generateClaude(targetDir, overwrite) {
148
148
  }
149
149
 
150
150
  function generateCursor(targetDir, overwrite) {
151
- // .cursor/rules/core.mdc — dispatcher only
151
+ // .cursor/rules/core.mdc — dispatcher only (always active)
152
152
  const coreRules = readTemplate('core-rules.md');
153
153
  const coreMdc =
154
154
  '---\ndescription: K-Harness dispatcher — workflow guidance and state file references\nalwaysApply: true\n---\n\n' +
155
155
  coreRules;
156
156
  writeFile(targetDir, '.cursor/rules/core.mdc', coreMdc, overwrite);
157
157
 
158
- // Skills as rules
159
- for (const skill of SKILLS) {
160
- const content = readTemplate(`skills/${skill.id}.md`);
161
- const mdc =
162
- `---\ndescription: Skill — ${skill.id}\nalwaysApply: false\n---\n\n` +
163
- content;
164
- writeFile(targetDir, `.cursor/rules/${skill.id}.mdc`, mdc, overwrite);
165
- }
158
+ // Skills (.cursor/skills — invokable by mentioning skill name)
159
+ writeSkills(targetDir, '.cursor/skills', overwrite);
166
160
 
167
- // Agents as rules
168
- for (const agent of AGENTS) {
169
- const content = readTemplate(agent.file);
170
- const mdc =
171
- `---\ndescription: Agent — ${agent.id}\nalwaysApply: false\n---\n\n` +
172
- content;
173
- writeFile(targetDir, `.cursor/rules/${agent.id}.mdc`, mdc, overwrite);
174
- }
161
+ // Agents as skills
162
+ writeAgentsAsSkills(targetDir, '.cursor/skills', overwrite);
175
163
 
176
164
  // State files
177
165
  writeStateFiles(targetDir, overwrite);