@fledge/workflow 0.7.0 → 0.7.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/dist/scripts/brief.js +5 -3
- package/package.json +2 -2
- package/skills/brief/SKILL.md +18 -12
package/dist/scripts/brief.js
CHANGED
|
@@ -3633,9 +3633,9 @@ const briefFrontmatter = object({
|
|
|
3633
3633
|
* Each key maps to the set of states it can transition to.
|
|
3634
3634
|
*
|
|
3635
3635
|
* draft → ready: brief skill marks the brief as designed and enriched
|
|
3636
|
-
* ready → active:
|
|
3636
|
+
* ready → active: build skill begins building
|
|
3637
3637
|
* ready → draft: brief needs rework
|
|
3638
|
-
* active → completed:
|
|
3638
|
+
* active → completed: build skill finishes all tasks
|
|
3639
3639
|
* draft/ready/active → cancelled: feature is dropped
|
|
3640
3640
|
*/
|
|
3641
3641
|
const briefTransitions = {
|
|
@@ -3664,7 +3664,9 @@ const tasksFrontmatter = object({ tasks: array(object({
|
|
|
3664
3664
|
})) });
|
|
3665
3665
|
//#endregion
|
|
3666
3666
|
//#region ../cli/dist/brief.js
|
|
3667
|
-
const
|
|
3667
|
+
const FLEDGE_DIRECTORY = ".fledge";
|
|
3668
|
+
const BRIEFS_DIRECTORY = path.join(FLEDGE_DIRECTORY, "briefs");
|
|
3669
|
+
path.join(FLEDGE_DIRECTORY, "project.md");
|
|
3668
3670
|
/**
|
|
3669
3671
|
* Creates a BriefContext from a project directory path or falls back to `cwd()`.
|
|
3670
3672
|
*
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fledge/workflow",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.7.
|
|
4
|
+
"version": "0.7.1",
|
|
5
5
|
"author": "René Schapka",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"files": [
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"node": ">=24"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@fledge/cli": "^0.
|
|
18
|
+
"@fledge/cli": "^0.11.0"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@antfu/eslint-config": "7.7.3",
|
package/skills/brief/SKILL.md
CHANGED
|
@@ -13,12 +13,12 @@ allowed-tools: Bash(node *scripts/brief.js*)
|
|
|
13
13
|
The brief skill owns two workflow phases: **Brief** (capture what to build) and **Enrich** (connect to project knowledge). See [docs/workflow.md](../../docs/workflow.md) for the full workflow.
|
|
14
14
|
|
|
15
15
|
```
|
|
16
|
-
Brief → Enrich → [
|
|
17
|
-
└── this skill ──┘ └──
|
|
16
|
+
Brief → Enrich → [Build] → [Verify] → [Complete]
|
|
17
|
+
└── this skill ──┘ └── build skill (future) ──────────┘
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
**States this skill manages:** `draft → ready`
|
|
21
|
-
**States managed by the
|
|
21
|
+
**States managed by the build skill:** `ready → active → completed`
|
|
22
22
|
|
|
23
23
|
A brief directory contains three files:
|
|
24
24
|
|
|
@@ -26,7 +26,7 @@ A brief directory contains three files:
|
|
|
26
26
|
.fledge/briefs/<name>/
|
|
27
27
|
brief.md what, why, scope, design decisions (product-level)
|
|
28
28
|
spec.md data models, APIs, external services (technical context)
|
|
29
|
-
tasks.md
|
|
29
|
+
tasks.md tasks (empty until build phase)
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
## Available scripts
|
|
@@ -83,7 +83,7 @@ Write the brief content into `brief.md`. The frontmatter is managed by the scrip
|
|
|
83
83
|
- **Scope**: what is included and what is explicitly excluded
|
|
84
84
|
- **Design decisions**: key choices made during this conversation, with reasoning
|
|
85
85
|
|
|
86
|
-
Keep it concise. The brief is a reference for
|
|
86
|
+
Keep it concise. The brief is a reference for building, not a specification document. If something is obvious from the code, do not repeat it here.
|
|
87
87
|
|
|
88
88
|
Proceed to Step 3.
|
|
89
89
|
|
|
@@ -91,14 +91,20 @@ Proceed to Step 3.
|
|
|
91
91
|
|
|
92
92
|
## Step 3: Enrich with project knowledge
|
|
93
93
|
|
|
94
|
-
Connect the brief to the technical reality of the project.
|
|
94
|
+
Connect the brief to the technical reality of the project. Start by reading `.fledge/project.md` to understand the project landscape. If this file does not exist, suggest running `fledge init` first.
|
|
95
95
|
|
|
96
|
-
|
|
97
|
-
- **APIs**: what endpoints exist? What new endpoints are needed?
|
|
98
|
-
- **External services**: what third-party integrations are involved?
|
|
99
|
-
- **Domain concepts**: what domain terms and relationships are relevant?
|
|
96
|
+
Walk through each section of `project.md` with the brief in mind:
|
|
100
97
|
|
|
101
|
-
|
|
98
|
+
1. **Domain**: which concepts from the glossary does this feature involve? Are there new domain terms that need defining?
|
|
99
|
+
2. **Data models**: which existing models does the feature interact with? Are new models or fields needed?
|
|
100
|
+
3. **APIs**: which existing endpoints are relevant? Are new endpoints needed? Do they follow the documented conventions?
|
|
101
|
+
4. **External services**: does this feature involve any third-party integrations?
|
|
102
|
+
5. **Conventions**: are there project-specific patterns the build should follow?
|
|
103
|
+
6. **Stack**: which technology skills are available to guide the build?
|
|
104
|
+
|
|
105
|
+
Write the relevant findings into `spec.md`. The spec grounds the product-level brief in the project's actual structure. It does **not** include tasks or technology-specific guidance (those come from the build skill and technology skills).
|
|
106
|
+
|
|
107
|
+
**Gap detection**: if you discover aspects of the project that are not reflected in `project.md` (an undocumented endpoint, a model that is missing, a domain concept that should be in the glossary), note these gaps and suggest updates to `project.md`. Keeping project knowledge current is part of enrichment.
|
|
102
108
|
|
|
103
109
|
Proceed to Step 4.
|
|
104
110
|
|
|
@@ -110,7 +116,7 @@ Run `node scripts/brief.js validate <name> --project-dir <path>` to confirm the
|
|
|
110
116
|
|
|
111
117
|
Present the complete brief (`brief.md`) and spec (`spec.md`) to the user for review.
|
|
112
118
|
|
|
113
|
-
Once approved, run `node scripts/brief.js ready <name> --project-dir <path>` to transition to ready. The brief is now ready for the
|
|
119
|
+
Once approved, run `node scripts/brief.js ready <name> --project-dir <path>` to transition to ready. The brief is now ready for the build skill to pick up.
|
|
114
120
|
|
|
115
121
|
---
|
|
116
122
|
|