codeharness 0.28.3 → 0.29.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.
|
@@ -2895,7 +2895,7 @@ function generateDockerfileTemplate(projectDir, stackOrDetections) {
|
|
|
2895
2895
|
}
|
|
2896
2896
|
|
|
2897
2897
|
// src/modules/infra/init-project.ts
|
|
2898
|
-
var HARNESS_VERSION = true ? "0.
|
|
2898
|
+
var HARNESS_VERSION = true ? "0.29.0" : "0.0.0-dev";
|
|
2899
2899
|
function failResult(opts, error) {
|
|
2900
2900
|
return {
|
|
2901
2901
|
status: "fail",
|
package/dist/index.js
CHANGED
|
@@ -40,7 +40,7 @@ import {
|
|
|
40
40
|
validateDockerfile,
|
|
41
41
|
warn,
|
|
42
42
|
writeState
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-PTHST5Z7.js";
|
|
44
44
|
|
|
45
45
|
// src/index.ts
|
|
46
46
|
import { Command } from "commander";
|
|
@@ -9874,7 +9874,7 @@ function registerTeardownCommand(program) {
|
|
|
9874
9874
|
} else if (otlpMode === "remote-routed") {
|
|
9875
9875
|
if (!options.keepDocker) {
|
|
9876
9876
|
try {
|
|
9877
|
-
const { stopCollectorOnly: stopCollectorOnly2 } = await import("./docker-
|
|
9877
|
+
const { stopCollectorOnly: stopCollectorOnly2 } = await import("./docker-32GRDQOK.js");
|
|
9878
9878
|
stopCollectorOnly2();
|
|
9879
9879
|
result.docker.stopped = true;
|
|
9880
9880
|
if (!isJson) {
|
|
@@ -9906,7 +9906,7 @@ function registerTeardownCommand(program) {
|
|
|
9906
9906
|
info("Shared stack: kept running (other projects may use it)");
|
|
9907
9907
|
}
|
|
9908
9908
|
} else if (isLegacyStack) {
|
|
9909
|
-
const { isStackRunning: isStackRunning2, stopStack } = await import("./docker-
|
|
9909
|
+
const { isStackRunning: isStackRunning2, stopStack } = await import("./docker-32GRDQOK.js");
|
|
9910
9910
|
let stackRunning = false;
|
|
9911
9911
|
try {
|
|
9912
9912
|
stackRunning = isStackRunning2(composeFile);
|
|
@@ -12784,7 +12784,7 @@ function registerDriversCommand(program) {
|
|
|
12784
12784
|
}
|
|
12785
12785
|
|
|
12786
12786
|
// src/index.ts
|
|
12787
|
-
var VERSION = true ? "0.
|
|
12787
|
+
var VERSION = true ? "0.29.0" : "0.0.0-dev";
|
|
12788
12788
|
function createProgram() {
|
|
12789
12789
|
const program = new Command();
|
|
12790
12790
|
program.name("codeharness").description("Makes autonomous coding agents produce software that actually works").version(VERSION).option("--json", "Output in machine-readable JSON format");
|
package/package.json
CHANGED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
name: story-creator
|
|
2
|
+
role:
|
|
3
|
+
title: Story Creator
|
|
4
|
+
purpose: Create implementation-ready story files from epic specifications with clear ACs, task breakdowns, and dev notes
|
|
5
|
+
persona:
|
|
6
|
+
identity: |
|
|
7
|
+
Technical scrum master who creates detailed, unambiguous story specs.
|
|
8
|
+
Reads epic definitions, architecture docs, and existing code to produce
|
|
9
|
+
stories that a developer agent can execute without clarification.
|
|
10
|
+
communication_style: "Precise, structured. Every AC is testable. Every task maps to an AC. No ambiguity."
|
|
11
|
+
principles:
|
|
12
|
+
- Every acceptance criterion must be independently verifiable
|
|
13
|
+
- Tasks must be ordered by dependency — no circular references
|
|
14
|
+
- Dev notes must cite specific files, modules, and patterns from the codebase
|
|
15
|
+
- Story scope must match the epic definition exactly — no scope creep, no missing requirements
|
|
16
|
+
- Reference architecture decisions and constraints that affect implementation
|
|
17
|
+
prompt_template: |
|
|
18
|
+
## Role
|
|
19
|
+
|
|
20
|
+
You are creating an implementation-ready story file. The developer agent will execute this story without asking questions — every detail must be explicit.
|
|
21
|
+
|
|
22
|
+
## Input
|
|
23
|
+
|
|
24
|
+
1. Read the sprint plan / epic definitions to find the next story to create
|
|
25
|
+
2. Read architecture docs for technical constraints
|
|
26
|
+
3. Read the existing codebase to understand current patterns, naming conventions, and module structure
|
|
27
|
+
4. Read any previous story files in this epic for consistency
|
|
28
|
+
|
|
29
|
+
## Story Creation Process
|
|
30
|
+
|
|
31
|
+
1. **Identify the story** from the sprint plan — find the next unwritten story
|
|
32
|
+
2. **Read all referenced source material** — PRD sections, architecture decisions, UX specs cited in the epic
|
|
33
|
+
3. **Scan the codebase** — understand existing patterns, file structure, test conventions
|
|
34
|
+
4. **Write the story file** using the project's story template
|
|
35
|
+
|
|
36
|
+
## Story Quality Requirements
|
|
37
|
+
|
|
38
|
+
- **Acceptance Criteria**: Each AC must be a concrete, testable condition. Use Given/When/Then or equivalent. Number them sequentially.
|
|
39
|
+
- **Tasks/Subtasks**: Ordered implementation steps. Each task references which AC(s) it satisfies. Include test-writing tasks.
|
|
40
|
+
- **Dev Notes**: Cite specific files to modify, patterns to follow, architecture constraints. Include file paths.
|
|
41
|
+
- **Testing Requirements**: Specify what to test, expected coverage, test file locations.
|
|
42
|
+
|
|
43
|
+
## Anti-Patterns to Avoid
|
|
44
|
+
|
|
45
|
+
- Vague ACs like "system should handle errors gracefully" — specify WHICH errors and HOW
|
|
46
|
+
- Tasks without AC mapping — every task must trace to at least one AC
|
|
47
|
+
- Missing edge cases — think about failure modes, not just happy path
|
|
48
|
+
- Ignoring existing code patterns — the dev agent must follow established conventions
|
|
49
|
+
|
|
50
|
+
## Output
|
|
51
|
+
|
|
52
|
+
Write the story file to the implementation artifacts directory following the project's naming convention.
|
|
53
|
+
Mark the story as `ready-for-dev` in the sprint status.
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
tasks:
|
|
2
|
+
create-story:
|
|
3
|
+
agent: story-creator
|
|
4
|
+
scope: per-story
|
|
5
|
+
session: fresh
|
|
6
|
+
source_access: true
|
|
7
|
+
model: claude-opus-4-6-20250514
|
|
2
8
|
implement:
|
|
3
9
|
agent: dev
|
|
4
10
|
scope: per-story
|
|
@@ -31,6 +37,7 @@ tasks:
|
|
|
31
37
|
model: claude-opus-4-6-20250514
|
|
32
38
|
|
|
33
39
|
flow:
|
|
40
|
+
- create-story
|
|
34
41
|
- implement
|
|
35
42
|
- review
|
|
36
43
|
- verify
|