@use-the-fork/spindle 0.0.2 → 0.1.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/build/Assets/Blueprints/Catalog.js +12 -7
- package/build/Assets/Blueprints/skills/author-agent/SKILL.md +9 -8
- package/build/Assets/Blueprints/skills/author-instruction/SKILL.md +9 -8
- package/build/Assets/Blueprints/skills/author-skill/SKILL.md +9 -8
- package/build/Assets/Blueprints/skills/grill/SKILL.md +3 -3
- package/build/Assets/Blueprints/skills/int-subagent-driven-dev/SKILL.md +6 -6
- package/build/Assets/Blueprints/skills/int-subagent-driven-dev/references/corrective-rounds.md +1 -1
- package/build/Assets/Blueprints/skills/int-subagent-driven-dev/references/example-workflow.md +4 -4
- package/build/Assets/Blueprints/skills/int-subagent-driven-dev/references/full-spec.md +12 -12
- package/build/Assets/Blueprints/skills/int-testing-agent-guidance/SKILL.md +2 -2
- package/build/Assets/Blueprints/skills/int-writing-skills/SKILL.md +2 -2
- package/build/Assets/Blueprints/skills/int-writing-skills/references/testing-skills.md +2 -2
- package/build/Assets/Blueprints/skills/ref-php-laravel-saloon-api-integrations/SKILL.md +38 -0
- package/build/Assets/Blueprints/skills/ref-php-laravel-saloon-api-integrations/references/concurrency-and-pools.md +73 -0
- package/build/Assets/Blueprints/skills/ref-php-laravel-saloon-api-integrations/references/connectors.md +99 -0
- package/build/Assets/Blueprints/skills/ref-php-laravel-saloon-api-integrations/references/data-transfer-objects.md +104 -0
- package/build/Assets/Blueprints/skills/ref-php-laravel-saloon-api-integrations/references/handling-failures.md +95 -0
- package/build/Assets/Blueprints/skills/ref-php-laravel-saloon-api-integrations/references/requests.md +111 -0
- package/build/Assets/Blueprints/skills/ref-php-laravel-saloon-api-integrations/references/responses.md +56 -0
- package/build/Assets/Blueprints/skills/ref-php-laravel-saloon-api-integrations/references/sending-requests.md +42 -0
- package/build/Assets/Blueprints/skills/ref-php-laravel-saloon-api-integrations/references/testing.md +119 -0
- package/build/Assets/Blueprints/skills/{author-design → sdd-author-design}/SKILL.md +12 -4
- package/build/Assets/Blueprints/skills/{grill-design → sdd-grill-design}/SKILL.md +1 -1
- package/build/Assets/Blueprints/skills/{implement-spec → sdd-implement-spec}/SKILL.md +3 -3
- package/build/Assets/Blueprints/skills/{to-spec → sdd-to-spec}/SKILL.md +3 -3
- package/build/Assets/Blueprints/skills/{to-tickets → sdd-to-tickets}/SKILL.md +3 -3
- package/build/Assets/Blueprints/skills/{setup-project → spindle-project-setup}/SKILL.md +4 -4
- package/build/Assets/Blueprints/skills/{update-tooling → spindle-tooling-update}/SKILL.md +5 -5
- package/build/Assets/Templates/project/copilot-instructions.md +3 -9
- package/build/Assets/Templates/project/ticket-tracker.md +5 -5
- package/build/BlueprintManagement/Commands/Prompts.js +1 -1
- package/build/TemplateRendering/Computed/ComputedVariableProviders.js +2 -0
- package/build/TemplateRendering/Computed/Providers/AuthoringFlowchartProvider.js +26 -0
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description: "Use after spindle init to document project tooling and establish domain glossaries."
|
|
2
|
+
name: spindle-project-setup
|
|
3
|
+
description: "Use after {{ computed.spindle_package_manager }} spindle init to document project tooling and establish domain glossaries."
|
|
4
4
|
disable-model-invocation: false
|
|
5
5
|
user-invocable: true
|
|
6
6
|
metadata:
|
|
@@ -14,7 +14,7 @@ Curate the commands agents should use and establish project domain documentation
|
|
|
14
14
|
|
|
15
15
|
## Prerequisite
|
|
16
16
|
|
|
17
|
-
The user must have completed `spindle init` before running this skill. This skill
|
|
17
|
+
The user must have completed `{{ computed.spindle_package_manager }} spindle init` before running this skill. This skill
|
|
18
18
|
does not initialize the project. If the required project guidance or tooling
|
|
19
19
|
registry is missing, report the prerequisite and stop.
|
|
20
20
|
|
|
@@ -41,7 +41,7 @@ Also inspect the source to determine whether this is an existing project: it con
|
|
|
41
41
|
|
|
42
42
|
### C. Update and verify tooling
|
|
43
43
|
|
|
44
|
-
Load and follow the `
|
|
44
|
+
Load and follow the `spindle-tooling-update` skill. Supply the verified candidate commands and relevant configuration paths found in B as explicit context, and request a full registry comparison for initial setup. That skill owns the proposal, explicit approval, revision loop, `{{ computed.spindle_package_manager }} spindle tool` registry mutations, and generated-guide verification; do not duplicate or bypass its approval gate.
|
|
45
45
|
|
|
46
46
|
**Complete when:** the delegated workflow has returned with the registry and guide verified, selecting G. If approval is pending, wait; if it reports failures or discrepancies, report the blocker and stop rather than claiming setup is complete.
|
|
47
47
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: spindle-tooling-update
|
|
3
3
|
description: "Use when tooling commands are added, changed, or removed, or when refreshing the tooling registry and generated guide."
|
|
4
4
|
argument-hint: "[change description or tooling paths]"
|
|
5
5
|
disable-model-invocation: false
|
|
@@ -34,7 +34,7 @@ flowchart TD
|
|
|
34
34
|
|
|
35
35
|
### A. Inspect tooling and registry
|
|
36
36
|
|
|
37
|
-
Read project guidance and run `spindle tool list` from the target Git working tree. Inspect package manifests, task runner configuration, and test/build configuration for the supplied target, or the whole project when no target is supplied. Verify command names, argument forms, and working-directory requirements against configuration. Preserve unrelated registry entries; absence from a targeted inspection is not evidence that an entry is obsolete.
|
|
37
|
+
Read project guidance and run `{{ computed.spindle_package_manager }} spindle tool list` from the target Git working tree. Inspect package manifests, task runner configuration, and test/build configuration for the supplied target, or the whole project when no target is supplied. Verify command names, argument forms, and working-directory requirements against configuration. Preserve unrelated registry entries; absence from a targeted inspection is not evidence that an entry is obsolete.
|
|
38
38
|
|
|
39
39
|
Do not execute project commands merely to document them if execution could install dependencies, mutate data, or have side effects without authorization. If the registry is missing or invalid, report the prerequisite and stop; do not run initialization or silently repair it.
|
|
40
40
|
|
|
@@ -59,14 +59,14 @@ Ask for explicit approval of the complete change set and wait. Approval applies
|
|
|
59
59
|
Apply only approved changes through Spindle, not by directly editing the registry or generated Markdown. Add one entry per approved command:
|
|
60
60
|
|
|
61
61
|
```sh
|
|
62
|
-
spindle tool add \
|
|
62
|
+
{{ computed.spindle_package_manager }} spindle tool add \
|
|
63
63
|
--key test-unit \
|
|
64
64
|
--section Testing \
|
|
65
65
|
--command "pnpm test -- --run" \
|
|
66
66
|
--description "Run the focused unit tests."
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
Use `spindle tool update <key>` with the approved `--section`, `--command`, or `--description` fields; `--clear-description` explicitly removes a description. Use `spindle tool remove <key>` for approved removals. Each successful mutation regenerates the guide, grouped by section with empty sections omitted.
|
|
69
|
+
Use `{{ computed.spindle_package_manager }} spindle tool update <key>` with the approved `--section`, `--command`, or `--description` fields; `--clear-description` explicitly removes a description. Use `{{ computed.spindle_package_manager }} spindle tool remove <key>` for approved removals. Each successful mutation regenerates the guide, grouped by section with empty sections omitted.
|
|
70
70
|
Run project scripts with `{{ computed.spindle_package_manager }} <script>`, such as `{{ computed.spindle_package_manager }} lint`.
|
|
71
71
|
|
|
72
72
|
If the inspected registry or relevant configuration has changed since approval, stop and return to A, then obtain approval for a refreshed proposal. If a command fails, stop and report the failure and any already-applied changes; do not claim atomicity or completion.
|
|
@@ -75,7 +75,7 @@ If the inspected registry or relevant configuration has changed since approval,
|
|
|
75
75
|
|
|
76
76
|
### E. Verify registry and guide
|
|
77
77
|
|
|
78
|
-
Run `spindle tool list` again and inspect `docs/agents/tooling.md`. Confirm entries, sections, commands, descriptions, and limitations agree, approved changes are reflected, and unrelated entries remain unchanged. After a decline or no-op, verify the existing state without mutating it. Report mismatches; any corrective changes require a new proposal and approval rather than direct Markdown edits.
|
|
78
|
+
Run `{{ computed.spindle_package_manager }} spindle tool list` again and inspect `docs/agents/tooling.md`. Confirm entries, sections, commands, descriptions, and limitations agree, approved changes are reflected, and unrelated entries remain unchanged. After a decline or no-op, verify the existing state without mutating it. Report mismatches; any corrective changes require a new proposal and approval rather than direct Markdown edits.
|
|
79
79
|
|
|
80
80
|
**Complete when:** verification results and any discrepancies are known, selecting F.
|
|
81
81
|
|
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
##
|
|
1
|
+
## Issue tracker
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
SDD specs and tickets live in numbered `.scratch/<feature-id>-<feature-slug>/` workspaces. See `docs/agents/issue-tracker.md` and `docs/agents/ticket-tracker.md` for their conventions.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
### Triage labels
|
|
8
|
-
|
|
9
|
-
Use `Category: bug|enhancement` and the five canonical state values in `Status:`. See `docs/agents/triage-labels.md`.
|
|
10
|
-
|
|
11
|
-
### Domain docs
|
|
5
|
+
## Domain docs
|
|
12
6
|
|
|
13
7
|
This is a multi-context repo; use `GLOSSARY-MAP.md` to find the relevant context glossary and consult `docs/adr/` for cross-context decisions. See `docs/agents/domain.md`.
|
|
14
8
|
|
|
@@ -15,19 +15,19 @@ Spindle SDD stores feature work in `.scratch/` workspaces. A workspace contains
|
|
|
15
15
|
Create each approved ticket in dependency order:
|
|
16
16
|
|
|
17
17
|
```sh
|
|
18
|
-
spindle sdd ticket create --spec <absolute-spec-path> --title "..." --reporter "..." --category enhancement --author maintainer
|
|
18
|
+
{{ computed.spindle_package_manager }} spindle sdd ticket create --spec <absolute-spec-path> --title "..." --reporter "..." --category enhancement --author maintainer
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
The command returns the new ticket ID and path. Complete its template, then set dependencies with `ticket update`:
|
|
22
22
|
|
|
23
23
|
```sh
|
|
24
|
-
spindle sdd ticket update --spec <absolute-spec-path> --ticket T-0002 --blocked-by T-0001 --author maintainer
|
|
25
|
-
spindle sdd ticket comment --spec <absolute-spec-path> --ticket T-0001 --details "..." --author maintainer
|
|
26
|
-
spindle sdd ready --spec <absolute-spec-path>
|
|
24
|
+
{{ computed.spindle_package_manager }} spindle sdd ticket update --spec <absolute-spec-path> --ticket T-0002 --blocked-by T-0001 --author maintainer
|
|
25
|
+
{{ computed.spindle_package_manager }} spindle sdd ticket comment --spec <absolute-spec-path> --ticket T-0001 --details "..." --author maintainer
|
|
26
|
+
{{ computed.spindle_package_manager }} spindle sdd ready --spec <absolute-spec-path>
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
Use `--clear-blocked-by` to remove dependencies. Use `ticket update --status` to change status. Ticket Markdown remains editable; attributed comments are appended under `## Comments`. Do not add an execution field to the ticket file: execution transitions are recorded in `sdd.json`.
|
|
30
30
|
|
|
31
31
|
## Delivery
|
|
32
32
|
|
|
33
|
-
Use `spindle sdd status` and `spindle sdd ready` to inspect work. Claim and dispatch ready tickets with `spindle sdd claim` and `spindle sdd implement`, submit the assigned report with `spindle sdd submit`, and close completed tickets with `spindle sdd ticket update --status closed`. Follow the `int-subagent-driven-dev` skill for review, correction, and feature completion.
|
|
33
|
+
Use `{{ computed.spindle_package_manager }} spindle sdd status` and `{{ computed.spindle_package_manager }} spindle sdd ready` to inspect work. Claim and dispatch ready tickets with `{{ computed.spindle_package_manager }} spindle sdd claim` and `{{ computed.spindle_package_manager }} spindle sdd implement`, submit the assigned report with `{{ computed.spindle_package_manager }} spindle sdd submit`, and close completed tickets with `{{ computed.spindle_package_manager }} spindle sdd ticket update --status closed`. Follow the `int-subagent-driven-dev` skill for review, correction, and feature completion.
|
|
@@ -20,7 +20,7 @@ export async function promptSpindlePackageManager() {
|
|
|
20
20
|
message: "Which package-manager command should Spindle use in generated guidance?",
|
|
21
21
|
options: [
|
|
22
22
|
{ value: "npm run", label: "npm run" },
|
|
23
|
-
{ value: "pnpm", label: "pnpm" },
|
|
23
|
+
{ value: "pnpm exec", label: "pnpm exec" },
|
|
24
24
|
{ value: "yarn", label: "yarn" },
|
|
25
25
|
{ value: "bun", label: "bun" },
|
|
26
26
|
{ value: "other", label: "Other" },
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { AuthoringFlowchartProvider } from "./Providers/AuthoringFlowchartProvider.js";
|
|
1
2
|
import { InternalSkillDescriptionProvider } from "./Providers/InternalSkillDescriptionProvider.js";
|
|
2
3
|
import { SpindlePackageManagerProvider } from "./Providers/SpindlePackageManagerProvider.js";
|
|
3
4
|
export const computedVariableProviders = {
|
|
5
|
+
authoring_flowchart: AuthoringFlowchartProvider,
|
|
4
6
|
internal_skill_description: InternalSkillDescriptionProvider,
|
|
5
7
|
spindle_package_manager: SpindlePackageManagerProvider,
|
|
6
8
|
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ComputedVariableProvider } from "../ComputedVariableProvider.js";
|
|
2
|
+
export class AuthoringFlowchartProvider extends ComputedVariableProvider {
|
|
3
|
+
render() {
|
|
4
|
+
return [
|
|
5
|
+
"```mermaid",
|
|
6
|
+
"flowchart TD",
|
|
7
|
+
' A["Read and consider only the `int-writing-for-agents` and `asd-ste100` skills"]',
|
|
8
|
+
' A --> B["Use the `grill` skill on the user request"]',
|
|
9
|
+
' B --> C{"Shared understanding confirmed?"}',
|
|
10
|
+
' C -- "No" --> B',
|
|
11
|
+
' C -- "Yes" --> D["Load the remaining required skills"]',
|
|
12
|
+
' D --> E["Run the core and expanded baselines"]',
|
|
13
|
+
' E --> F{"Baseline shows a gap?"}',
|
|
14
|
+
' F -- "No" --> J["Report that no change is needed"]',
|
|
15
|
+
' F -- "Yes" --> G["Create or update the requested artifact"]',
|
|
16
|
+
' G --> H["Run the core and expanded retests"]',
|
|
17
|
+
' H --> I{"All criteria pass?"}',
|
|
18
|
+
' I -- "No" --> G',
|
|
19
|
+
' I -- "Yes" --> K["Report the artifact and validation"]',
|
|
20
|
+
"```",
|
|
21
|
+
"",
|
|
22
|
+
"During the grill exchange, ask one question per turn and wait for the answer.",
|
|
23
|
+
"Do not load other skills or announce the current flowchart step until the user confirms shared understanding.",
|
|
24
|
+
].join("\n");
|
|
25
|
+
}
|
|
26
|
+
}
|