@dezkareid/osddt 1.7.0 → 1.9.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.
- package/AGENTS.md +5 -1
- package/README.md +14 -0
- package/dist/index.js +85 -0
- package/package.json +1 -1
package/AGENTS.md
CHANGED
|
@@ -184,17 +184,19 @@ Templates are generated by `npx @dezkareid/osddt setup` and placed in each agent
|
|
|
184
184
|
| `osddt.plan` | Create a technical implementation plan from a specification |
|
|
185
185
|
| `osddt.tasks` | Generate actionable tasks from an implementation plan |
|
|
186
186
|
| `osddt.implement` | Execute tasks from the task list one by one |
|
|
187
|
+
| `osddt.fast` | Bootstrap all planning artifacts (spec, plan, tasks) in one shot |
|
|
187
188
|
| `osddt.done` | Resolve project path, verify tasks, and move the feature to done |
|
|
188
189
|
|
|
189
190
|
#### Template Workflow
|
|
190
191
|
|
|
191
|
-
`osddt.research` and `osddt.
|
|
192
|
+
`osddt.research`, `osddt.start`, and `osddt.fast` are **entry points**. `osddt.research` and `osddt.start` are peer entry points for the step-by-step workflow. `osddt.fast` is an accelerated entry point that skips manual steps and generates all planning artifacts in a single invocation. If you close the coding session, execute `osddt.continue` to resume the workflow.
|
|
192
193
|
|
|
193
194
|
**Standard steps:**
|
|
194
195
|
|
|
195
196
|
1. Pick an entry point:
|
|
196
197
|
- **`osddt.research <topic>`** — explore the codebase or gather external findings first, then proceed to spec.
|
|
197
198
|
- **`osddt.start <feature>`** — jump straight to creating the branch and working directory, then write the spec.
|
|
199
|
+
- **`osddt.fast <description>`** — create the branch, spec, plan, and task list in one shot without any manual steps.
|
|
198
200
|
2. **`osddt.spec <feature>`** — analyse requirements and write the feature specification.
|
|
199
201
|
3. *(optional)* **`osddt.clarify <feature>`** — resolve any Open Questions in the spec and record decisions.
|
|
200
202
|
4. **`osddt.plan <tech decisions>`** — create a technical implementation plan from the spec.
|
|
@@ -202,6 +204,8 @@ Templates are generated by `npx @dezkareid/osddt setup` and placed in each agent
|
|
|
202
204
|
6. **`osddt.implement`** — execute tasks one by one until all are checked off.
|
|
203
205
|
7. **`osddt.done`** — verify all tasks are complete and move the feature folder to `done/`.
|
|
204
206
|
|
|
207
|
+
> **Fast mode:** Steps 1–5 can be replaced by a single `osddt.fast <description>` invocation. The agent derives all decisions automatically and records them in an `## Assumptions` section of the plan for review before implementing.
|
|
208
|
+
|
|
205
209
|
> **Note:** You can re-run any step to go back and revise it — except once `osddt.done` has been executed, the feature is considered finished and cannot be revisited.
|
|
206
210
|
|
|
207
211
|
**If you close a session:**
|
package/README.md
CHANGED
|
@@ -44,6 +44,7 @@ flowchart LR
|
|
|
44
44
|
subgraph entry[Entry points]
|
|
45
45
|
research([osddt.research])
|
|
46
46
|
start([osddt.start])
|
|
47
|
+
fast([osddt.fast])
|
|
47
48
|
end
|
|
48
49
|
|
|
49
50
|
spec([osddt.spec])
|
|
@@ -55,6 +56,7 @@ flowchart LR
|
|
|
55
56
|
|
|
56
57
|
research --> spec
|
|
57
58
|
start --> spec
|
|
59
|
+
fast --> implement
|
|
58
60
|
spec --> clarify
|
|
59
61
|
clarify --> plan
|
|
60
62
|
spec --> plan
|
|
@@ -93,6 +95,17 @@ flowchart LR
|
|
|
93
95
|
/osddt.done
|
|
94
96
|
```
|
|
95
97
|
|
|
98
|
+
#### Fast mode (spec + plan + tasks in one shot)
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
/osddt.fast add payment gateway
|
|
102
|
+
# → creates branch, writes spec, plan (with Assumptions), and task list automatically
|
|
103
|
+
/osddt.implement
|
|
104
|
+
/osddt.done
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
> Review the `## Assumptions` section of `osddt.plan.md` before implementing. Run `/osddt.clarify` if any Open Questions in the spec need resolving first.
|
|
108
|
+
|
|
96
109
|
#### Resuming after closing a session
|
|
97
110
|
|
|
98
111
|
```
|
|
@@ -115,6 +128,7 @@ flowchart LR
|
|
|
115
128
|
| `osddt.plan` | Create a technical implementation plan from a specification |
|
|
116
129
|
| `osddt.tasks` | Generate actionable tasks from an implementation plan |
|
|
117
130
|
| `osddt.implement` | Execute tasks from the task list one by one |
|
|
131
|
+
| `osddt.fast` | Bootstrap all planning artifacts (spec, plan, tasks) in one shot |
|
|
118
132
|
| `osddt.done` | Resolve project path, verify tasks, and move the feature to done |
|
|
119
133
|
|
|
120
134
|
Generated files are placed in:
|
package/dist/index.js
CHANGED
|
@@ -224,6 +224,9 @@ ${getNextStepToSpec(args)}
|
|
|
224
224
|
3. Identify the core problem being solved
|
|
225
225
|
4. Define the scope, user-facing constraints, and acceptance criteria
|
|
226
226
|
5. Write the specification to \`osddt.spec.md\` in the working directory
|
|
227
|
+
6. After writing the spec, check whether the **Open Questions** section contains any items:
|
|
228
|
+
- If it does, inform the user: "I have some open questions — can we clarify these? You can answer them now, or run \`/osddt.clarify\` to go through them one by one."
|
|
229
|
+
- If it does not (or the section is absent), proceed to the Next Step without mentioning clarification.
|
|
227
230
|
|
|
228
231
|
## Specification Format
|
|
229
232
|
|
|
@@ -394,6 +397,88 @@ Once all tasks are checked off, run the following command to mark the feature as
|
|
|
394
397
|
\`\`\`
|
|
395
398
|
/osddt.done
|
|
396
399
|
\`\`\`
|
|
400
|
+
`,
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
name: 'osddt.fast',
|
|
404
|
+
description: 'Bootstrap all planning artifacts (spec, plan, tasks) from a single description',
|
|
405
|
+
body: ({ args, npxCommand }) => `${getRepoPreamble(npxCommand)}## Instructions
|
|
406
|
+
|
|
407
|
+
The argument provided is: ${args}
|
|
408
|
+
|
|
409
|
+
This command runs the full spec-driven setup sequence in one shot — branch creation, spec, plan, and task list — without pausing for user input. Follow each step below in order without asking the user for clarification or confirmation between steps.
|
|
410
|
+
|
|
411
|
+
### Step 1 — Derive branch and feature name
|
|
412
|
+
|
|
413
|
+
Determine the branch name from ${args}:
|
|
414
|
+
|
|
415
|
+
1. If ${args} looks like a branch name (no spaces, kebab-case or slash-separated), use it as-is.
|
|
416
|
+
2. Otherwise treat ${args} as a human-readable feature description, convert it to a feature name, and use the format \`feat/<derived-name>\` as the branch name.
|
|
417
|
+
|
|
418
|
+
Apply the constraints below to the feature name (the segment after the last \`/\`):
|
|
419
|
+
|
|
420
|
+
${FEATURE_NAME_RULES}
|
|
421
|
+
|
|
422
|
+
### Step 2 — Create branch and working directory
|
|
423
|
+
|
|
424
|
+
3. Check whether the branch already exists locally or remotely:
|
|
425
|
+
- If it **does not exist**, create and switch to it:
|
|
426
|
+
\`\`\`
|
|
427
|
+
git checkout -b <branch-name>
|
|
428
|
+
\`\`\`
|
|
429
|
+
- If it **already exists**, warn the user and ask whether to:
|
|
430
|
+
- **Resume** — switch to the existing branch (\`git checkout <branch-name>\`) and continue
|
|
431
|
+
- **Abort** — stop and do nothing
|
|
432
|
+
|
|
433
|
+
4. ${WORKING_DIR_STEP}
|
|
434
|
+
|
|
435
|
+
Where \`<feature-name>\` is the last segment of the branch name (after the last \`/\`, or the full branch name if no \`/\` is present).
|
|
436
|
+
|
|
437
|
+
### Step 3 — Generate spec
|
|
438
|
+
|
|
439
|
+
Write \`osddt.spec.md\` to the working directory. Base it entirely on ${args} and any codebase context you can gather. Do **not** ask the user any questions. If there are ambiguities, record them in an **Open Questions** section and continue.
|
|
440
|
+
|
|
441
|
+
The spec must include:
|
|
442
|
+
- **Overview**: What the feature is and why it is needed
|
|
443
|
+
- **Requirements**: Functional requirements expressed as user-observable behaviours
|
|
444
|
+
- **Scope**: In scope and out of scope in product terms
|
|
445
|
+
- **Acceptance Criteria**: Clear, testable criteria from a user or business perspective
|
|
446
|
+
- **Open Questions** (if any): Ambiguities to resolve later — do not block on these
|
|
447
|
+
|
|
448
|
+
### Step 4 — Generate plan
|
|
449
|
+
|
|
450
|
+
Write \`osddt.plan.md\` to the working directory. Derive all technical decisions from the spec and codebase inspection. Do **not** ask the user for input.
|
|
451
|
+
|
|
452
|
+
The plan must include:
|
|
453
|
+
- **Assumptions**: Document every technical decision made automatically (e.g. library choices, architecture patterns) so the user can review them before implementing
|
|
454
|
+
- **Architecture Overview**: High-level design decisions
|
|
455
|
+
- **Implementation Phases**: Ordered phases with goals
|
|
456
|
+
- **Technical Dependencies**: Libraries, APIs, services needed
|
|
457
|
+
- **Risks & Mitigations**: Known risks and mitigations
|
|
458
|
+
- **Out of Scope**: What will not be built
|
|
459
|
+
|
|
460
|
+
### Step 5 — Generate task list
|
|
461
|
+
|
|
462
|
+
Write \`osddt.tasks.md\` to the working directory based on \`osddt.plan.md\`.
|
|
463
|
+
|
|
464
|
+
The task list must include:
|
|
465
|
+
- A checklist of tasks grouped by phase: \`- [ ] [S/M/L] Description\`
|
|
466
|
+
- Dependencies between tasks noted where relevant
|
|
467
|
+
- A Definition of Done per phase
|
|
468
|
+
|
|
469
|
+
### Step 6 — Report
|
|
470
|
+
|
|
471
|
+
Display the full contents of \`osddt.tasks.md\` to the user. Then prompt them to run:
|
|
472
|
+
|
|
473
|
+
\`\`\`
|
|
474
|
+
/osddt.implement
|
|
475
|
+
\`\`\`
|
|
476
|
+
|
|
477
|
+
> You can optionally run \`/osddt.clarify\` before implementing to resolve any Open Questions recorded in the spec.
|
|
478
|
+
|
|
479
|
+
## Arguments
|
|
480
|
+
|
|
481
|
+
${args}
|
|
397
482
|
`,
|
|
398
483
|
},
|
|
399
484
|
{
|