@orderful/droid 0.46.0 → 0.48.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/.claude-plugin/plugin.json +2 -0
- package/CHANGELOG.md +16 -0
- package/dist/tools/brain/.claude-plugin/plugin.json +1 -1
- package/dist/tools/brain/TOOL.yaml +1 -1
- package/dist/tools/brain/skills/brain/SKILL.md +3 -1
- package/dist/tools/brain/skills/brain/references/workflows.md +4 -2
- package/dist/tools/comments/.claude-plugin/plugin.json +1 -1
- package/dist/tools/comments/TOOL.yaml +1 -1
- package/dist/tools/comments/skills/comments/SKILL.md +14 -0
- package/dist/tools/excalidraw/.claude-plugin/plugin.json +22 -0
- package/dist/tools/excalidraw/TOOL.yaml +16 -0
- package/dist/tools/excalidraw/commands/excalidraw.md +34 -0
- package/dist/tools/excalidraw/skills/excalidraw/SKILL.md +100 -0
- package/dist/tools/excalidraw/skills/excalidraw/references/element-templates.md +336 -0
- package/dist/tools/excalidraw/skills/excalidraw/references/format-spec.md +102 -0
- package/dist/tools/plan/.claude-plugin/plugin.json +1 -1
- package/dist/tools/plan/TOOL.yaml +1 -1
- package/dist/tools/plan/skills/plan/SKILL.md +2 -0
- package/dist/tools/plan/skills/plan/references/workflows.md +11 -2
- package/dist/tools/project/.claude-plugin/plugin.json +1 -1
- package/dist/tools/project/TOOL.yaml +2 -2
- package/dist/tools/project/skills/project/SKILL.md +4 -3
- package/dist/tools/project/skills/project/references/changelog.md +10 -21
- package/dist/tools/project/skills/project/references/creating.md +12 -2
- package/dist/tools/project/skills/project/references/loading.md +2 -1
- package/dist/tools/project/skills/project/references/templates.md +115 -71
- package/dist/tools/project/skills/project/references/updating.md +78 -4
- package/package.json +1 -1
- package/src/tools/brain/.claude-plugin/plugin.json +1 -1
- package/src/tools/brain/TOOL.yaml +1 -1
- package/src/tools/brain/skills/brain/SKILL.md +3 -1
- package/src/tools/brain/skills/brain/references/workflows.md +4 -2
- package/src/tools/comments/.claude-plugin/plugin.json +1 -1
- package/src/tools/comments/TOOL.yaml +1 -1
- package/src/tools/comments/skills/comments/SKILL.md +14 -0
- package/src/tools/excalidraw/.claude-plugin/plugin.json +22 -0
- package/src/tools/excalidraw/TOOL.yaml +16 -0
- package/src/tools/excalidraw/commands/excalidraw.md +34 -0
- package/src/tools/excalidraw/skills/excalidraw/SKILL.md +100 -0
- package/src/tools/excalidraw/skills/excalidraw/references/element-templates.md +336 -0
- package/src/tools/excalidraw/skills/excalidraw/references/format-spec.md +102 -0
- package/src/tools/plan/.claude-plugin/plugin.json +1 -1
- package/src/tools/plan/TOOL.yaml +1 -1
- package/src/tools/plan/skills/plan/SKILL.md +2 -0
- package/src/tools/plan/skills/plan/references/workflows.md +11 -2
- package/src/tools/project/.claude-plugin/plugin.json +1 -1
- package/src/tools/project/TOOL.yaml +2 -2
- package/src/tools/project/skills/project/SKILL.md +4 -3
- package/src/tools/project/skills/project/references/changelog.md +10 -21
- package/src/tools/project/skills/project/references/creating.md +12 -2
- package/src/tools/project/skills/project/references/loading.md +2 -1
- package/src/tools/project/skills/project/references/templates.md +115 -71
- package/src/tools/project/skills/project/references/updating.md +78 -4
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# Excalidraw File Format Specification
|
|
2
|
+
|
|
3
|
+
## Important: Use `.excalidraw.md`, NOT `.excalidraw`
|
|
4
|
+
|
|
5
|
+
The Obsidian Excalidraw plugin uses `.excalidraw.md` files (a markdown wrapper format). Plain `.excalidraw` JSON opens in "compatibility mode" with limited functionality.
|
|
6
|
+
|
|
7
|
+
## YAML Frontmatter
|
|
8
|
+
|
|
9
|
+
The file MUST start with this frontmatter:
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
---
|
|
13
|
+
excalidraw-plugin: parsed
|
|
14
|
+
---
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
The `excalidraw-plugin: parsed` key is mandatory. Without it, Obsidian won't recognise the file as an Excalidraw drawing.
|
|
18
|
+
|
|
19
|
+
## Full File Structure
|
|
20
|
+
|
|
21
|
+
````markdown
|
|
22
|
+
---
|
|
23
|
+
excalidraw-plugin: parsed
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
# Drawing
|
|
27
|
+
|
|
28
|
+
```json
|
|
29
|
+
{
|
|
30
|
+
"type": "excalidraw",
|
|
31
|
+
"version": 2,
|
|
32
|
+
"source": "https://excalidraw.com",
|
|
33
|
+
"elements": [],
|
|
34
|
+
"appState": {
|
|
35
|
+
"gridSize": null,
|
|
36
|
+
"viewBackgroundColor": "#ffffff"
|
|
37
|
+
},
|
|
38
|
+
"files": {}
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
%%
|
|
43
|
+
# Drawing
|
|
44
|
+
```json
|
|
45
|
+
{
|
|
46
|
+
"type": "excalidraw",
|
|
47
|
+
"version": 2,
|
|
48
|
+
"source": "https://excalidraw.com",
|
|
49
|
+
"elements": [],
|
|
50
|
+
"appState": {
|
|
51
|
+
"gridSize": null,
|
|
52
|
+
"viewBackgroundColor": "#ffffff"
|
|
53
|
+
},
|
|
54
|
+
"files": {}
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
%%
|
|
58
|
+
````
|
|
59
|
+
|
|
60
|
+
## Structure Explained
|
|
61
|
+
|
|
62
|
+
The JSON appears **twice** in the file:
|
|
63
|
+
|
|
64
|
+
1. **Visible block** — inside a fenced ` ```json ` code block after `# Drawing`. This is what shows in Obsidian's markdown preview.
|
|
65
|
+
2. **Plugin working copy** — the same JSON repeated inside `%% ... %%` comment markers. This is what the Excalidraw plugin uses to render the drawing.
|
|
66
|
+
|
|
67
|
+
**Both blocks must contain identical JSON.** The plugin reads from the `%%` block when rendering; the visible block is for human reference.
|
|
68
|
+
|
|
69
|
+
## Top-Level JSON Schema
|
|
70
|
+
|
|
71
|
+
```json
|
|
72
|
+
{
|
|
73
|
+
"type": "excalidraw",
|
|
74
|
+
"version": 2,
|
|
75
|
+
"source": "https://excalidraw.com",
|
|
76
|
+
"elements": [ /* all drawing elements go here */ ],
|
|
77
|
+
"appState": {
|
|
78
|
+
"gridSize": null,
|
|
79
|
+
"viewBackgroundColor": "#ffffff"
|
|
80
|
+
},
|
|
81
|
+
"files": {}
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
| Field | Value | Notes |
|
|
86
|
+
|-------|-------|-------|
|
|
87
|
+
| `type` | `"excalidraw"` | Always this string |
|
|
88
|
+
| `version` | `2` | Always 2 |
|
|
89
|
+
| `source` | `"https://excalidraw.com"` | Always this URL |
|
|
90
|
+
| `elements` | array | All drawing elements |
|
|
91
|
+
| `appState.gridSize` | `null` | No grid by default |
|
|
92
|
+
| `appState.viewBackgroundColor` | `"#ffffff"` | White background |
|
|
93
|
+
| `files` | `{}` | Empty unless images embedded |
|
|
94
|
+
|
|
95
|
+
## What Happens If Format Is Wrong
|
|
96
|
+
|
|
97
|
+
| Problem | Result |
|
|
98
|
+
|---------|--------|
|
|
99
|
+
| Missing `excalidraw-plugin: parsed` frontmatter | File opens as plain markdown, not as a drawing |
|
|
100
|
+
| JSON only in visible block, missing `%%` block | Drawing renders as JSON text only |
|
|
101
|
+
| JSON mismatch between blocks | Plugin uses `%%` block; visible block shows stale content |
|
|
102
|
+
| Using `.excalidraw` instead of `.excalidraw.md` | Opens in compatibility mode with limited functionality |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "droid-plan",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"description": "Task-scoped planning with portable, structured plans. Use when planning implementation for a PR, ticket, or small feature. User prompts like 'let's plan this', 'can we start a plan', 'think through the implementation'.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Orderful",
|
package/src/tools/plan/TOOL.yaml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
name: plan
|
|
2
2
|
description: "Task-scoped planning with portable, structured plans. Use when planning implementation for a PR, ticket, or small feature. User prompts like 'let's plan this', 'can we start a plan', 'think through the implementation'."
|
|
3
|
-
version: 0.1.
|
|
3
|
+
version: 0.1.6
|
|
4
4
|
status: alpha
|
|
5
5
|
|
|
6
6
|
includes:
|
|
@@ -74,6 +74,8 @@ Example: `/plan new auth-refactor -- we must stay backward compatible with v1 cl
|
|
|
74
74
|
2. Address each, respond with `> @{user_mention}`
|
|
75
75
|
3. Update the doc
|
|
76
76
|
|
|
77
|
+
With `--holistic`: group related comments into thematic clusters and respond cohesively to each cluster instead of one-by-one. Unrelated comments still get individual responses. See `comments` skill for full holistic mode behaviour.
|
|
78
|
+
|
|
77
79
|
## `/plan cleanup`
|
|
78
80
|
|
|
79
81
|
**Trigger:** `/plan cleanup` or user says "clean up", "lock in decisions", "resolve these threads"
|
|
@@ -126,6 +126,8 @@ Store as active plan for session.
|
|
|
126
126
|
|
|
127
127
|
## `/plan check`
|
|
128
128
|
|
|
129
|
+
Supports `--holistic` flag for cohesive responses to related comments.
|
|
130
|
+
|
|
129
131
|
### Step 1: Load Active Plan
|
|
130
132
|
|
|
131
133
|
If no active plan, prompt to search for one.
|
|
@@ -138,13 +140,20 @@ Search for `> @droid` lines (user comments addressed to AI):
|
|
|
138
140
|
grep -n "> @droid" {plan_path}
|
|
139
141
|
```
|
|
140
142
|
|
|
141
|
-
### Step 3: Address
|
|
143
|
+
### Step 3: Address Comments
|
|
142
144
|
|
|
143
|
-
For each comment:
|
|
145
|
+
**Default mode:** For each comment:
|
|
144
146
|
|
|
145
147
|
1. **Read context** - surrounding lines, section it's in
|
|
146
148
|
2. **Respond** - add response below with `> @{user_mention}`
|
|
147
149
|
|
|
150
|
+
**Holistic mode (`--holistic`):**
|
|
151
|
+
|
|
152
|
+
1. **Read all comments first** with their surrounding context
|
|
153
|
+
2. **Group related comments** — identify thematic clusters (comments exploring the same question, building on each other, or pulling in different directions on the same topic)
|
|
154
|
+
3. **For each cluster:** respond once at the last comment in the group with a cohesive answer that addresses the whole cluster. Earlier comments get a brief forward-reference: `> @{user_mention} Addressed below with the related comments.`
|
|
155
|
+
4. **Standalone comments:** respond individually as normal
|
|
156
|
+
|
|
148
157
|
### Step 4: Update Doc
|
|
149
158
|
|
|
150
159
|
Write changes back to plan file.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "droid-project",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Manage project context files for persistent AI memory across sessions. Load, update, or create project context before working on multi-session features.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Orderful",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
name: project
|
|
2
2
|
description: "Manage project context files for persistent AI memory across sessions. Load, update, or create project context before working on multi-session features."
|
|
3
|
-
version: 0.
|
|
3
|
+
version: 0.4.0
|
|
4
4
|
status: beta
|
|
5
5
|
|
|
6
6
|
includes:
|
|
@@ -21,7 +21,7 @@ config_schema:
|
|
|
21
21
|
required: true
|
|
22
22
|
preset:
|
|
23
23
|
type: select
|
|
24
|
-
description:
|
|
24
|
+
description: "Link style: obsidian uses [[wikilinks]], markdown uses [standard](links)"
|
|
25
25
|
default: "markdown"
|
|
26
26
|
options:
|
|
27
27
|
- markdown
|
|
@@ -7,7 +7,7 @@ allowed-tools: [Read, Write, Glob, Grep, Bash]
|
|
|
7
7
|
|
|
8
8
|
# Project Skill
|
|
9
9
|
|
|
10
|
-
Persistent project context that survives across sessions. Projects are folders containing `PROJECT.md` + `CHANGELOG.md
|
|
10
|
+
Persistent project context that survives across sessions. Projects are folders containing `PROJECT.md` + `CHANGELOG.md`, with optional companion docs (`DECISIONS.md`, `WORKLOG.md`) that emerge as the project grows.
|
|
11
11
|
|
|
12
12
|
## Why Projects?
|
|
13
13
|
|
|
@@ -31,7 +31,7 @@ Chat history disappears. Projects persist.
|
|
|
31
31
|
| Setting | Default | Description |
|
|
32
32
|
| -------------- | ------------ | -------------------------------------------------- |
|
|
33
33
|
| `projects_dir` | **required** | Where projects are stored (must be configured) |
|
|
34
|
-
| `preset` | `markdown` |
|
|
34
|
+
| `preset` | `markdown` | Link style: `obsidian` uses `[[wikilinks]]`, `markdown` uses `[standard](links)` |
|
|
35
35
|
| `override` | (none) | User-defined behaviour overrides |
|
|
36
36
|
|
|
37
37
|
**Overrides:** This skill supports user-defined overrides. See `/droid` skill § Skill Overrides.
|
|
@@ -106,6 +106,7 @@ Projects work best in a cycle:
|
|
|
106
106
|
3. **Document** - Capture decisions in PROJECT.md before implementing
|
|
107
107
|
4. **Implement** - Build with full context of why decisions were made
|
|
108
108
|
5. **Capture** - `/project update` saves new learnings
|
|
109
|
-
6. **
|
|
109
|
+
6. **Prune** - If PROJECT.md exceeds ~300 lines, archive completed work to WORKLOG.md
|
|
110
|
+
7. **Repeat** - Next session starts with accumulated knowledge
|
|
110
111
|
|
|
111
112
|
Each cycle starts further ahead than the last.
|
|
@@ -5,7 +5,7 @@ Projects use a split file pattern to minimize context usage when loading.
|
|
|
5
5
|
## File Structure
|
|
6
6
|
|
|
7
7
|
- `CHANGELOG.md` (sibling to PROJECT.md) - Complete version history
|
|
8
|
-
- `PROJECT.md` -
|
|
8
|
+
- `PROJECT.md` - Link to full history only (version number lives in the metadata table)
|
|
9
9
|
|
|
10
10
|
## On Update
|
|
11
11
|
|
|
@@ -15,8 +15,8 @@ Projects use a split file pattern to minimize context usage when loading.
|
|
|
15
15
|
2. **Add new entry to CHANGELOG.md** (prepend after header)
|
|
16
16
|
|
|
17
17
|
3. **Update PROJECT.md changelog section**
|
|
18
|
-
- Keep only
|
|
19
|
-
-
|
|
18
|
+
- Keep only a link to CHANGELOG.md — no inline entries
|
|
19
|
+
- The version number in the metadata table is the quick-glance indicator
|
|
20
20
|
|
|
21
21
|
## CHANGELOG.md Format
|
|
22
22
|
|
|
@@ -35,31 +35,20 @@ All notable changes to the {Project Name} project.
|
|
|
35
35
|
|
|
36
36
|
## PROJECT.md Changelog Section Format
|
|
37
37
|
|
|
38
|
-
**Markdown preset:**
|
|
39
38
|
```markdown
|
|
40
39
|
## Changelog
|
|
41
40
|
|
|
42
41
|
See [CHANGELOG.md](CHANGELOG.md) for full history.
|
|
43
|
-
|
|
44
|
-
### X.Y.Z - YYYY-MM-DD
|
|
45
|
-
- [Most recent]
|
|
46
|
-
|
|
47
|
-
### X.Y.Z - YYYY-MM-DD
|
|
48
|
-
- [Second most recent]
|
|
49
|
-
|
|
50
|
-
### X.Y.Z - YYYY-MM-DD
|
|
51
|
-
- [Third most recent]
|
|
52
42
|
```
|
|
53
43
|
|
|
54
|
-
|
|
55
|
-
```markdown
|
|
56
|
-
## Changelog
|
|
44
|
+
When `preset` is `obsidian`, use `See [[CHANGELOG|full history]].` instead.
|
|
57
45
|
|
|
58
|
-
|
|
46
|
+
## Migration
|
|
59
47
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
48
|
+
If an existing PROJECT.md has inline changelog entries:
|
|
49
|
+
1. Ensure all entries exist in CHANGELOG.md
|
|
50
|
+
2. Replace the inline entries with just the link
|
|
51
|
+
3. This happens naturally during `/project update` — no need to proactively migrate
|
|
63
52
|
|
|
64
53
|
## Guidelines
|
|
65
54
|
|
|
@@ -67,4 +56,4 @@ See [[CHANGELOG|full history]].
|
|
|
67
56
|
- Keep entries concise but descriptive
|
|
68
57
|
- Group related changes in a single bullet when appropriate
|
|
69
58
|
- Most recent version at the top
|
|
70
|
-
- Use `##` headers in CHANGELOG.md
|
|
59
|
+
- Use `##` headers in CHANGELOG.md
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
1. **Read config first**
|
|
8
8
|
- Run `droid config --get tools.project` and parse the JSON output
|
|
9
9
|
- Use `projects_dir` (required - if not configured, inform user to set it up)
|
|
10
|
-
- Use `preset` if configured (markdown or obsidian)
|
|
11
10
|
|
|
12
11
|
2. **Get project name**
|
|
13
12
|
- Use provided name, or ask if not provided
|
|
@@ -21,7 +20,6 @@
|
|
|
21
20
|
4. **Create files from templates** (see `templates.md`)
|
|
22
21
|
- `PROJECT.md` - Main context file
|
|
23
22
|
- `CHANGELOG.md` - Version history
|
|
24
|
-
- Format varies by `preset` config (markdown vs obsidian)
|
|
25
23
|
|
|
26
24
|
5. **Confirm creation**
|
|
27
25
|
- Show created folder path
|
|
@@ -62,6 +60,18 @@ New projects start minimal and grow organically. Common sections added over time
|
|
|
62
60
|
|
|
63
61
|
See `templates.md` for the full initial template.
|
|
64
62
|
|
|
63
|
+
### Companion Docs
|
|
64
|
+
|
|
65
|
+
Projects may grow companion docs over time. These are **never** created at project creation — they emerge as the project grows.
|
|
66
|
+
|
|
67
|
+
| Doc | Created When | Purpose |
|
|
68
|
+
|-----|-------------|---------|
|
|
69
|
+
| `CHANGELOG.md` | At project creation (the one exception) | Version history |
|
|
70
|
+
| `DECISIONS.md` | 3+ decisions accumulate in PROJECT.md | Dedicated decisions log |
|
|
71
|
+
| `WORKLOG.md` | PROJECT.md exceeds ~300 lines with completed items | Archive of completed work |
|
|
72
|
+
|
|
73
|
+
The `/project update` procedure handles creation and migration automatically — see `updating.md` for details.
|
|
74
|
+
|
|
65
75
|
---
|
|
66
76
|
|
|
67
77
|
## Creating from Codex
|
|
@@ -32,7 +32,8 @@
|
|
|
32
32
|
- Confirm which project was loaded
|
|
33
33
|
- Summarize key context (2-3 sentences)
|
|
34
34
|
- Use project contents for all subsequent work in the session
|
|
35
|
-
- **Do NOT read CHANGELOG.md
|
|
35
|
+
- **Do NOT read companion docs by default** — CHANGELOG.md, DECISIONS.md, and WORKLOG.md exist for on-demand lookup only. PROJECT.md already references them; that is enough context.
|
|
36
|
+
- If the user asks about decisions, past work, or history, THEN read the relevant companion doc.
|
|
36
37
|
|
|
37
38
|
7. **If `-- {instruction}` provided:** Execute the follow-up instruction against the loaded project
|
|
38
39
|
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
# Project Templates
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## Markdown Preset (default)
|
|
6
|
-
|
|
7
|
-
### PROJECT.md
|
|
3
|
+
## PROJECT.md
|
|
8
4
|
|
|
9
5
|
```markdown
|
|
10
6
|
---
|
|
7
|
+
type: project
|
|
11
8
|
status: active
|
|
9
|
+
created: {today}
|
|
10
|
+
updated: {today}
|
|
12
11
|
---
|
|
13
12
|
|
|
14
13
|
# Project: {Name}
|
|
@@ -33,15 +32,16 @@ status: active
|
|
|
33
32
|
|
|
34
33
|
{Architecture, key files, patterns}
|
|
35
34
|
|
|
35
|
+
## Related
|
|
36
|
+
|
|
37
|
+
- {Links to related notes}
|
|
38
|
+
|
|
36
39
|
## Changelog
|
|
37
40
|
|
|
38
41
|
See [CHANGELOG.md](CHANGELOG.md) for full history.
|
|
39
|
-
|
|
40
|
-
### 0.1.0 - {today}
|
|
41
|
-
- Initial project setup
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
## CHANGELOG.md
|
|
45
45
|
|
|
46
46
|
```markdown
|
|
47
47
|
# Changelog
|
|
@@ -54,58 +54,6 @@ All notable changes to the {Name} project.
|
|
|
54
54
|
|
|
55
55
|
---
|
|
56
56
|
|
|
57
|
-
## Obsidian Preset
|
|
58
|
-
|
|
59
|
-
### PROJECT.md
|
|
60
|
-
|
|
61
|
-
```markdown
|
|
62
|
-
---
|
|
63
|
-
type: project
|
|
64
|
-
status: active
|
|
65
|
-
created: {today}
|
|
66
|
-
updated: {today}
|
|
67
|
-
---
|
|
68
|
-
|
|
69
|
-
# Project: {Name}
|
|
70
|
-
|
|
71
|
-
{Brief description}
|
|
72
|
-
|
|
73
|
-
| | |
|
|
74
|
-
|---|---|
|
|
75
|
-
| **Version** | 0.1.0 |
|
|
76
|
-
| **Started** | {today} |
|
|
77
|
-
| **Status** | Active |
|
|
78
|
-
|
|
79
|
-
## Overview
|
|
80
|
-
|
|
81
|
-
{**What** this project does, **why** it exists}
|
|
82
|
-
|
|
83
|
-
## Goals
|
|
84
|
-
|
|
85
|
-
- {Goal 1}
|
|
86
|
-
|
|
87
|
-
## Technical Details
|
|
88
|
-
|
|
89
|
-
{Architecture, key files, patterns}
|
|
90
|
-
|
|
91
|
-
## Related
|
|
92
|
-
|
|
93
|
-
- {Links to related notes}
|
|
94
|
-
|
|
95
|
-
## Changelog
|
|
96
|
-
|
|
97
|
-
See [[CHANGELOG|full history]].
|
|
98
|
-
|
|
99
|
-
### 0.1.0 - {today}
|
|
100
|
-
- Initial project setup
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
### CHANGELOG.md
|
|
104
|
-
|
|
105
|
-
Same as markdown preset.
|
|
106
|
-
|
|
107
|
-
---
|
|
108
|
-
|
|
109
57
|
## Template Variables
|
|
110
58
|
|
|
111
59
|
| Variable | Expands To |
|
|
@@ -115,19 +63,23 @@ Same as markdown preset.
|
|
|
115
63
|
| `{name}` | Project name (lowercase) |
|
|
116
64
|
| `{kebab-name}` | Folder name (kebab-case) |
|
|
117
65
|
|
|
118
|
-
##
|
|
66
|
+
## Link Style
|
|
67
|
+
|
|
68
|
+
Templates show standard markdown links. When `preset` is `obsidian`, substitute wikilinks:
|
|
119
69
|
|
|
120
|
-
|
|
|
121
|
-
|
|
122
|
-
|
|
|
123
|
-
|
|
|
124
|
-
|
|
|
70
|
+
| Standard (markdown) | Wikilink (obsidian) |
|
|
71
|
+
|---------------------|---------------------|
|
|
72
|
+
| `[CHANGELOG.md](CHANGELOG.md)` | `[[CHANGELOG]]` |
|
|
73
|
+
| `[DECISIONS.md](DECISIONS.md)` | `[[DECISIONS]]` |
|
|
74
|
+
| `[WORKLOG.md](WORKLOG.md)` | `[[WORKLOG]]` |
|
|
75
|
+
|
|
76
|
+
This is the only difference between presets — structure, frontmatter, and sections are identical.
|
|
125
77
|
|
|
126
78
|
---
|
|
127
79
|
|
|
128
80
|
## Seeded from Codex
|
|
129
81
|
|
|
130
|
-
When creating with `--from codex:{name}`, use this template variant.
|
|
82
|
+
When creating with `--from codex:{name}`, use this template variant.
|
|
131
83
|
|
|
132
84
|
### Additional Variables
|
|
133
85
|
|
|
@@ -145,7 +97,10 @@ When creating with `--from codex:{name}`, use this template variant. Works with
|
|
|
145
97
|
|
|
146
98
|
```markdown
|
|
147
99
|
---
|
|
100
|
+
type: project
|
|
148
101
|
status: active
|
|
102
|
+
created: {today}
|
|
103
|
+
updated: {today}
|
|
149
104
|
codex_source: projects/{codex-name}
|
|
150
105
|
---
|
|
151
106
|
|
|
@@ -190,9 +145,6 @@ Personal working memory for {Name}, seeded from shared codex context.
|
|
|
190
145
|
## Changelog
|
|
191
146
|
|
|
192
147
|
See [CHANGELOG.md](CHANGELOG.md) for full history.
|
|
193
|
-
|
|
194
|
-
### 0.1.0 - {today}
|
|
195
|
-
- Project created from codex:{codex-name}
|
|
196
148
|
```
|
|
197
149
|
|
|
198
150
|
### CHANGELOG.md (Seeded)
|
|
@@ -218,3 +170,95 @@ When extracting content from codex files:
|
|
|
218
170
|
|
|
219
171
|
If a section is missing, use placeholder text:
|
|
220
172
|
- `{To be extracted from codex or filled manually}`
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Companion Doc Templates
|
|
177
|
+
|
|
178
|
+
Companion docs are **never** created at project start. They emerge when a project grows enough to benefit from them. See `creating.md` for when each is created.
|
|
179
|
+
|
|
180
|
+
### DECISIONS.md
|
|
181
|
+
|
|
182
|
+
Create when 3+ decisions have accumulated in PROJECT.md.
|
|
183
|
+
|
|
184
|
+
**Table format (default)** — scales well for projects with many decisions:
|
|
185
|
+
|
|
186
|
+
```markdown
|
|
187
|
+
---
|
|
188
|
+
type: decisions
|
|
189
|
+
project: {Name}
|
|
190
|
+
created: {today}
|
|
191
|
+
updated: {today}
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
# Decisions
|
|
195
|
+
|
|
196
|
+
Key decisions for the {Name} project.
|
|
197
|
+
|
|
198
|
+
| # | Decision | Date | Context |
|
|
199
|
+
|---|----------|------|---------|
|
|
200
|
+
| 1 | {Decision title} | {YYYY-MM-DD} | {Brief rationale or link to discussion} |
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
**Rich format (alternative)** — for fewer, more significant decisions:
|
|
204
|
+
|
|
205
|
+
```markdown
|
|
206
|
+
---
|
|
207
|
+
type: decisions
|
|
208
|
+
project: {Name}
|
|
209
|
+
created: {today}
|
|
210
|
+
updated: {today}
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
# Decisions
|
|
214
|
+
|
|
215
|
+
Key decisions for the {Name} project.
|
|
216
|
+
|
|
217
|
+
## 1. {Decision Title}
|
|
218
|
+
|
|
219
|
+
**Date:** {YYYY-MM-DD}
|
|
220
|
+
**Status:** Accepted
|
|
221
|
+
|
|
222
|
+
{2-3 sentences of context and rationale. Link to plan or research doc if one exists.}
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
Choose the format that fits the project. Table for many small decisions, rich for fewer important ones. Mixing is fine — start with table, expand significant entries to rich format if needed.
|
|
226
|
+
|
|
227
|
+
### WORKLOG.md
|
|
228
|
+
|
|
229
|
+
Create when PROJECT.md exceeds ~300 lines with completed work items that can be archived.
|
|
230
|
+
|
|
231
|
+
```markdown
|
|
232
|
+
---
|
|
233
|
+
type: worklog
|
|
234
|
+
project: {Name}
|
|
235
|
+
created: {today}
|
|
236
|
+
updated: {today}
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
# Worklog
|
|
240
|
+
|
|
241
|
+
Completed work for the {Name} project. Newest first.
|
|
242
|
+
|
|
243
|
+
## {Title of completed work}
|
|
244
|
+
|
|
245
|
+
{YYYY-MM-DD} · PR #{number} · [plan link if exists]
|
|
246
|
+
|
|
247
|
+
{1-3 sentence narrative of what was done and why it mattered.}
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
## {Older completed work}
|
|
252
|
+
|
|
253
|
+
{YYYY-MM-DD}
|
|
254
|
+
|
|
255
|
+
{Brief narrative.}
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
### Worklog Entry Guidelines
|
|
259
|
+
|
|
260
|
+
- **Title:** Descriptive, in past tense ("Restructured PROJECT.md", "Added permission controls")
|
|
261
|
+
- **Metadata line:** Date is required, PR and plan links are optional
|
|
262
|
+
- **Narrative:** Brief — it's an index, not a retelling. Link out to plans, research, PRs for detail.
|
|
263
|
+
- **Order:** Reverse chronological (newest first)
|
|
264
|
+
- **Separator:** Use `---` between entries for readability
|
|
@@ -17,18 +17,25 @@
|
|
|
17
17
|
- Important file paths or code locations
|
|
18
18
|
- Bug fixes or gotchas encountered
|
|
19
19
|
|
|
20
|
-
3. **
|
|
20
|
+
3. **Size check** (read current PROJECT.md and count lines):
|
|
21
|
+
- **Under ~300 lines:** Proceed normally
|
|
22
|
+
- **300–400 lines:** Look for archival opportunities — mention them in your proposal
|
|
23
|
+
- **Over 400 lines:** Actively identify content to archive (see "Archival to WORKLOG.md" below)
|
|
24
|
+
|
|
25
|
+
4. **If significant new information found:**
|
|
21
26
|
- Propose specific sections/content to add or update
|
|
27
|
+
- Include archival proposals if the size check warrants it
|
|
22
28
|
- Show what will be changed
|
|
23
29
|
- Ask for confirmation before proceeding
|
|
24
30
|
|
|
25
|
-
|
|
31
|
+
5. **If no obvious updates:**
|
|
26
32
|
- Ask what the user would like to update
|
|
27
33
|
- Suggest sections: metadata, implementation details, technical decisions, notes
|
|
28
34
|
|
|
29
|
-
|
|
35
|
+
6. **After approval:**
|
|
30
36
|
- Read current project file
|
|
31
37
|
- Make approved updates, preserving existing structure
|
|
38
|
+
- Route decisions appropriately (see "Decisions Routing" below)
|
|
32
39
|
- Determine version bump (see `versioning.md`)
|
|
33
40
|
- Add changelog entry (see `changelog.md`)
|
|
34
41
|
- Confirm what was updated
|
|
@@ -46,7 +53,74 @@ Good project updates include:
|
|
|
46
53
|
| **Progress** | "Completed validation layer, starting on UI" |
|
|
47
54
|
| **File locations** | "Key files: `src/services/template.service.ts`" |
|
|
48
55
|
|
|
49
|
-
##
|
|
56
|
+
## Decisions Routing
|
|
57
|
+
|
|
58
|
+
Decisions are captured differently depending on whether the project has a DECISIONS.md companion doc:
|
|
59
|
+
|
|
60
|
+
1. **DECISIONS.md exists** → Add new decisions there. Add a brief reference in PROJECT.md only when the decision directly affects active work.
|
|
61
|
+
2. **DECISIONS.md does not exist AND 3+ decisions in PROJECT.md** → Offer to create DECISIONS.md (from template in `templates.md`) and migrate existing decisions. Keep a summary reference in PROJECT.md.
|
|
62
|
+
3. **Fewer than 3 decisions** → Keep inline in PROJECT.md as usual.
|
|
63
|
+
|
|
64
|
+
When migrating, preserve the original decision date and context. Remove the detailed decision content from PROJECT.md, leaving just a "See DECISIONS.md" reference in the relevant section.
|
|
65
|
+
|
|
66
|
+
## Archival to WORKLOG.md
|
|
67
|
+
|
|
68
|
+
When the size check identifies archival opportunities, propose moving completed work items to a WORKLOG.md companion doc.
|
|
69
|
+
|
|
70
|
+
### What to archive
|
|
71
|
+
|
|
72
|
+
- **Completed** Current Work items (fully shipped, no active follow-ups)
|
|
73
|
+
- **Previous Work** or **Done** sections
|
|
74
|
+
- Inline decision tables with 5+ entries (migrate to DECISIONS.md instead)
|
|
75
|
+
- Historical context that's useful for reference but not needed in active context
|
|
76
|
+
|
|
77
|
+
### What NOT to archive
|
|
78
|
+
|
|
79
|
+
- Active or in-progress work items
|
|
80
|
+
- Technical details still relevant to current work
|
|
81
|
+
- Architectural patterns or constraints that guide ongoing development
|
|
82
|
+
- The Overview, Goals, or metadata sections
|
|
83
|
+
|
|
84
|
+
### Archival procedure
|
|
85
|
+
|
|
86
|
+
1. **Identify candidates** — List completed items with their approximate line counts
|
|
87
|
+
2. **Propose archival** — Show before/after line counts so the user sees the impact:
|
|
88
|
+
```
|
|
89
|
+
PROJECT.md is currently 427 lines. Proposed archival:
|
|
90
|
+
- "Completed: Permission Controls" (~35 lines) → WORKLOG.md
|
|
91
|
+
- "Completed: Template Rendering" (~28 lines) → WORKLOG.md
|
|
92
|
+
- Inline decisions table (12 entries) → DECISIONS.md
|
|
93
|
+
|
|
94
|
+
After: ~340 lines (saved ~87 lines)
|
|
95
|
+
```
|
|
96
|
+
3. **Create companion doc** if needed — Use templates from `templates.md`
|
|
97
|
+
4. **Convert to worklog entries** — Condense each item to title + metadata line + 1-3 sentence narrative (see template guidelines)
|
|
98
|
+
5. **Remove from PROJECT.md** — Delete the detailed content, not the section headers
|
|
99
|
+
6. **Verify** — Confirm the archived content is preserved in the companion doc
|
|
100
|
+
|
|
101
|
+
### Example
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
User: /project update
|
|
105
|
+
|
|
106
|
+
Claude: I'll update #project-transaction-templates with learnings from this session.
|
|
107
|
+
|
|
108
|
+
PROJECT.md is 382 lines — I also found archival opportunities.
|
|
109
|
+
|
|
110
|
+
Proposed changes:
|
|
111
|
+
- Add "Batch Processing" to Current Work with the patterns we established
|
|
112
|
+
- Note the decision to use streaming for large payloads
|
|
113
|
+
|
|
114
|
+
Proposed archival (saves ~45 lines):
|
|
115
|
+
- "Permission Controls" (completed 2026-01-15) → WORKLOG.md
|
|
116
|
+
- "Template Validation" (completed 2026-02-01) → WORKLOG.md
|
|
117
|
+
|
|
118
|
+
This is a minor version bump (0.16.0 → 0.17.0).
|
|
119
|
+
|
|
120
|
+
Proceed with these updates?
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Example (standard update)
|
|
50
124
|
|
|
51
125
|
```
|
|
52
126
|
User: /project update
|