@rasensio/aidlc-content 1.1.0 → 1.2.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/package.json +6 -6
- package/skills/00-overview.md +4 -0
- package/skills/03-entry-point.md +7 -2
- package/skills/04-idea-capture.md +57 -0
- package/LICENSE +0 -21
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rasensio/aidlc-content",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -19,6 +19,10 @@
|
|
|
19
19
|
"capabilities/",
|
|
20
20
|
"phases/"
|
|
21
21
|
],
|
|
22
|
+
"scripts": {
|
|
23
|
+
"build": "tsc",
|
|
24
|
+
"test": "vitest run"
|
|
25
|
+
},
|
|
22
26
|
"engines": {
|
|
23
27
|
"node": ">=18.0.0"
|
|
24
28
|
},
|
|
@@ -31,9 +35,5 @@
|
|
|
31
35
|
"fast-check": "^3.23.2",
|
|
32
36
|
"typescript": "^5.8.3",
|
|
33
37
|
"vitest": "^3.1.3"
|
|
34
|
-
},
|
|
35
|
-
"scripts": {
|
|
36
|
-
"build": "tsc",
|
|
37
|
-
"test": "vitest run"
|
|
38
38
|
}
|
|
39
|
-
}
|
|
39
|
+
}
|
package/skills/00-overview.md
CHANGED
|
@@ -109,6 +109,10 @@ When a phase needs substantial input from the user — open decisions, structure
|
|
|
109
109
|
3. Tell the user the file path and wait for their edits — do not proceed on unanswered questions.
|
|
110
110
|
4. When the user has answered, fold the outcomes into the phase artifact and state records. The inbox file is scratch input, not an artifact — offer to delete it once its content has landed.
|
|
111
111
|
|
|
112
|
+
## Idea Capture
|
|
113
|
+
|
|
114
|
+
When the user shares an idea tangential to the current work, offer to record it in `.aidlc/ideas/` (see **aidlc-idea**) and continue the current phase — do not derail into ideation. Capture touches no instance state, so it is safe at any point in any phase.
|
|
115
|
+
|
|
112
116
|
## Context and Guidance
|
|
113
117
|
|
|
114
118
|
- Project context lives in `.aidlc/context/` (style-guide.md, architecture.md)
|
package/skills/03-entry-point.md
CHANGED
|
@@ -23,6 +23,7 @@ If `.aidlc/context/` does not exist or contains no `.md` files, defer to the **a
|
|
|
23
23
|
1. List the directories under `.aidlc/state/`. Each directory is a lifecycle instance.
|
|
24
24
|
2. For each instance, read `instance.yaml` (current phase, template, scope, claim) and the `phase-<name>.yaml` files to compute completion (complete artifacts ÷ total required artifacts).
|
|
25
25
|
3. Read `.aidlc/config.yaml` for project defaults (scope, template) if present.
|
|
26
|
+
4. Count ideas in `.aidlc/ideas/` by status — read only the frontmatter (and title line if needed), never idea bodies.
|
|
26
27
|
|
|
27
28
|
Do not read artifact bodies or transition history to build the menu — the compact state files are enough.
|
|
28
29
|
|
|
@@ -32,13 +33,15 @@ Compose a short menu from the state. Include only the options that make sense:
|
|
|
32
33
|
|
|
33
34
|
- **Continue `<instance>`** — one entry per incomplete instance, showing current phase and completion percentage. Most recently updated first.
|
|
34
35
|
- **Start something new** — always.
|
|
36
|
+
- **Capture an idea** — always.
|
|
37
|
+
- **Browse / promote ideas** — when `.aidlc/ideas/` contains at least one non-dropped idea; show the raw count (e.g. "4 raw ideas").
|
|
35
38
|
- **Show status** — when at least one instance exists.
|
|
36
39
|
- **Review an artifact** — when at least one instance has a completed artifact.
|
|
37
40
|
- **Help / getting started** — always.
|
|
38
41
|
|
|
39
42
|
Present the options as a numbered list (or the platform's native selection prompt) and wait for a choice. If the user's message already states what they want (e.g. "continue my-feature"), skip the menu and route directly.
|
|
40
43
|
|
|
41
|
-
If `.aidlc/state/` is empty or missing, offer just
|
|
44
|
+
If `.aidlc/state/` is empty or missing, offer just three options: start something new, capture an idea, or help.
|
|
42
45
|
|
|
43
46
|
## Step 3 — Route
|
|
44
47
|
|
|
@@ -46,7 +49,9 @@ If `.aidlc/state/` is empty or missing, offer just two options: start something
|
|
|
46
49
|
|--------|--------|
|
|
47
50
|
| Continue an instance | Follow the **aidlc-continue** skill |
|
|
48
51
|
| Start something new | Ask what they are building, pick a template (see **aidlc-getting-started**), then create the instance per "Creating an Instance" in **aidlc-overview** |
|
|
49
|
-
|
|
|
52
|
+
| Capture an idea | Follow the **aidlc-idea** skill (capture flow) |
|
|
53
|
+
| Browse / promote ideas | Follow the **aidlc-idea** skill (browse/promote flow) |
|
|
54
|
+
| Show status | Summarize each instance from its state files — name, template, current phase, completion %, and whether it looks stalled. When the backlog is non-empty, append the idea count (e.g. "4 ideas in backlog, 3 raw") |
|
|
50
55
|
| Review an artifact | Follow the **aidlc-review** skill |
|
|
51
56
|
| Help / getting started | Follow the **aidlc-getting-started** skill |
|
|
52
57
|
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: aidlc-idea
|
|
3
|
+
description: Captures ideas into the .aidlc/ideas/ backlog at any moment — no instance, claim, or phase required — and browses or promotes backlog ideas into lifecycle instances
|
|
4
|
+
phase: ideation
|
|
5
|
+
priority: 90
|
|
6
|
+
trigger: When the user says "idea:", asks to capture/record an idea, wants to browse the idea backlog, or wants to promote an idea into an instance
|
|
7
|
+
native_mode_hint:
|
|
8
|
+
claude-code: >-
|
|
9
|
+
This skill is an interactive inbox, not a phase artifact. Do not enter
|
|
10
|
+
plan mode. Capture is a single write-and-confirm; never touch instance
|
|
11
|
+
state while capturing.
|
|
12
|
+
---
|
|
13
|
+
# Idea Capture and Backlog
|
|
14
|
+
|
|
15
|
+
`.aidlc/ideas/` is a first-class inbox, independent of every lifecycle phase. Ideas are captured cheaply now and converted into instances later. Capture is legal at any moment: mid-implementation on another instance, from a second session, or with no instance at all.
|
|
16
|
+
|
|
17
|
+
## Idea File Format
|
|
18
|
+
|
|
19
|
+
One file per idea: `.aidlc/ideas/YYYYMMDD-<slug>.md`, beginning with exactly this frontmatter:
|
|
20
|
+
|
|
21
|
+
```yaml
|
|
22
|
+
---
|
|
23
|
+
status: raw # raw | promoted | dropped
|
|
24
|
+
promoted_to: null # instance name once promoted, else null
|
|
25
|
+
---
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Ideas never silently vanish — they are `raw`, `promoted`, or explicitly `dropped` (the file stays in place). `status: promoted` always carries a non-null `promoted_to` naming an existing instance.
|
|
29
|
+
|
|
30
|
+
## Capture
|
|
31
|
+
|
|
32
|
+
1. **Resolve the backlog root.** Always write to the **primary checkout's** `.aidlc/ideas/`, never a worktree's copy: resolve via `git rev-parse --git-common-dir` (the directory containing that path is the primary checkout). Outside a git repo, use the current project root. Create `.aidlc/ideas/` if missing.
|
|
33
|
+
2. **Name the file.** `YYYYMMDD-<slug>.md` — today's date plus a short (2–4 word) slug derived from the idea.
|
|
34
|
+
3. **Handle collisions.** If the filename already exists, ask one question — extend `<existing>` or new idea? On extend, append a dated `## Update (YYYY-MM-DD)` section; on new, suffix the slug (`-2`). Never silently overwrite.
|
|
35
|
+
4. **Write the file.** Frontmatter (`status: raw`, `promoted_to: null`), then `# Idea: <title>`, `**Date:**`, and the braindump organized lightly (a Use Case section plus whatever structure the content suggests). Do not interrogate the user for structure — capture friction kills inboxes; one braindump in, one file out.
|
|
36
|
+
5. **Confirm and return.** Report the file path and return to whatever was happening.
|
|
37
|
+
|
|
38
|
+
**Hard rule:** capture never reads or writes anything under `.aidlc/state/` — no claims, no phase files, no transitions log. Two sessions capturing simultaneously just produce two files; no locking exists or is needed. Do not auto-commit; staging is the user's.
|
|
39
|
+
|
|
40
|
+
If the user includes credentials, tokens, or secrets in a braindump, flag it and omit them from the file.
|
|
41
|
+
|
|
42
|
+
## Browse
|
|
43
|
+
|
|
44
|
+
List `.aidlc/ideas/*.md` reading only frontmatter and the `# Idea:` title line — not the bodies. Show each idea's date, title, and status. Offer to open, promote, or drop.
|
|
45
|
+
|
|
46
|
+
## Promote
|
|
47
|
+
|
|
48
|
+
Promotion is where the backlog meets the lifecycle:
|
|
49
|
+
|
|
50
|
+
1. Choose a template and scope as usual (defaults from `.aidlc/config.yaml`; see **aidlc-getting-started**).
|
|
51
|
+
2. Create the instance per "Creating an Instance" in **aidlc-overview** — including firing `on-instance-start` lifecycle actions.
|
|
52
|
+
3. Seed the instance with the idea file: Full scope → the idea is raw material the Ideation phase refines into `ideation.md`; Standard scope → the idea is input context for Requirements.
|
|
53
|
+
4. Update the idea's frontmatter: `status: promoted`, `promoted_to: <instance-name>`.
|
|
54
|
+
|
|
55
|
+
## Drop
|
|
56
|
+
|
|
57
|
+
Set `status: dropped` in the frontmatter and leave the file in place. Dropping is an explicit act — never delete or overwrite an idea to get rid of it.
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2024 Rodrigo Asensio
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|