@orderful/droid 0.21.0 → 0.23.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/CHANGELOG.md +14 -0
- package/dist/tools/codex/agents/codex-document-processor.md +13 -5
- package/dist/tools/codex/skills/droid-codex/SKILL.md +27 -0
- package/dist/tools/project/TOOL.yaml +1 -1
- package/dist/tools/project/skills/droid-project/SKILL.md +3 -0
- package/dist/tools/project/skills/droid-project/references/creating.md +98 -0
- package/dist/tools/project/skills/droid-project/references/templates.md +96 -0
- package/package.json +1 -1
- package/src/tools/codex/agents/codex-document-processor.md +13 -5
- package/src/tools/codex/skills/droid-codex/SKILL.md +27 -0
- package/src/tools/project/TOOL.yaml +1 -1
- package/src/tools/project/skills/droid-project/SKILL.md +3 -0
- package/src/tools/project/skills/droid-project/references/creating.md +98 -0
- package/src/tools/project/skills/droid-project/references/templates.md +96 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @orderful/droid
|
|
2
2
|
|
|
3
|
+
## 0.23.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#115](https://github.com/Orderful/droid/pull/115) [`fc2e182`](https://github.com/Orderful/droid/commit/fc2e18211136ef78f839394d322a1afaae54d2a7) Thanks [@frytyler](https://github.com/frytyler)! - feat(project): add --from codex:{name} to seed projects from shared context
|
|
8
|
+
|
|
9
|
+
New command syntax: `/project create --from codex:{name}` creates a personal project seeded with context from the shared organizational codex. Extracts overview from PRD, goals, and technical details from tech design, then links back to the codex source for full context.
|
|
10
|
+
|
|
11
|
+
## 0.22.0
|
|
12
|
+
|
|
13
|
+
### Minor Changes
|
|
14
|
+
|
|
15
|
+
- [#113](https://github.com/Orderful/droid/pull/113) [`37245c2`](https://github.com/Orderful/droid/commit/37245c2a54427dc57f54ec80399d827997089e0a) Thanks [@frytyler](https://github.com/frytyler)! - Add `/codex artifact` command for adding supplementary documents to projects. Artifacts are supporting materials like customer interviews, research notes, and meeting summaries that live in `projects/{name}/artifacts/`.
|
|
16
|
+
|
|
3
17
|
## 0.21.0
|
|
4
18
|
|
|
5
19
|
### Minor Changes
|
|
@@ -14,15 +14,16 @@ You are a document processor for the Orderful codex. Your job is to transform so
|
|
|
14
14
|
|
|
15
15
|
You will receive:
|
|
16
16
|
1. **File path** - The source document to process
|
|
17
|
-
2. **Document type** - One of: `prd`, `tech-design`, `topic`, `pattern`
|
|
17
|
+
2. **Document type** - One of: `prd`, `tech-design`, `topic`, `pattern`, `artifact`
|
|
18
18
|
3. **Project/entry name** - Where this should be stored in the codex
|
|
19
19
|
4. **Codex repo path** - The local path to orderful-codex repository
|
|
20
|
+
5. **Artifact filename** (optional, for artifacts) - Name for the artifact file
|
|
20
21
|
|
|
21
22
|
## Validation (Do This First)
|
|
22
23
|
|
|
23
24
|
Before processing, validate all inputs:
|
|
24
25
|
|
|
25
|
-
1. **Document type** - Must be one of: `prd`, `tech-design`, `topic`, `pattern`. Reject anything else.
|
|
26
|
+
1. **Document type** - Must be one of: `prd`, `tech-design`, `topic`, `pattern`, `artifact`. Reject anything else.
|
|
26
27
|
2. **File path** - Must exist and be readable. Use Read tool to verify.
|
|
27
28
|
3. **Project/entry name** - Must be safe for filesystem paths:
|
|
28
29
|
- Only allow: alphanumeric, dashes, underscores
|
|
@@ -44,10 +45,13 @@ From the content, identify:
|
|
|
44
45
|
- **Title** - The document/feature name
|
|
45
46
|
- **Main content** - The substantive information
|
|
46
47
|
- **Codebase paths** (if tech-design) - Any code paths mentioned
|
|
47
|
-
- **Source** - Default
|
|
48
|
+
- **Source** - Default based on type:
|
|
49
|
+
- PRD/tech-design: `confluence`
|
|
50
|
+
- Topic/pattern: `exploration`
|
|
51
|
+
- Artifact: infer from content (`interview`, `transcript`, `notes`, `meeting`, `research`, `spike`, `analysis`)
|
|
48
52
|
- **Status** - Default based on type:
|
|
49
53
|
- PRD/tech-design: `draft` (new imports start as drafts)
|
|
50
|
-
- Topic/pattern: `active`
|
|
54
|
+
- Topic/pattern/artifact: `active`
|
|
51
55
|
|
|
52
56
|
### 3. Read and Apply Frontmatter Template
|
|
53
57
|
|
|
@@ -58,7 +62,8 @@ From the content, identify:
|
|
|
58
62
|
| `prd` | `{codex_repo}/templates/PRD.md` |
|
|
59
63
|
| `tech-design` | `{codex_repo}/templates/TECH-DESIGN.md` |
|
|
60
64
|
| `topic` | `{codex_repo}/templates/TOPIC.md` |
|
|
61
|
-
| `pattern` | `{codex_repo}/templates/PATTERN.md`
|
|
65
|
+
| `pattern` | `{codex_repo}/templates/PATTERN.md` |
|
|
66
|
+
| `artifact` | `{codex_repo}/templates/ARTIFACT.md` |
|
|
62
67
|
|
|
63
68
|
1. Read the appropriate template file
|
|
64
69
|
2. Extract its frontmatter structure
|
|
@@ -90,6 +95,9 @@ Write the processed markdown to the correct location:
|
|
|
90
95
|
| `tech-design` | `{codex_repo}/projects/{name}/TECH-DESIGN.md` |
|
|
91
96
|
| `topic` | `{codex_repo}/topics/{name}.md` |
|
|
92
97
|
| `pattern` | `{codex_repo}/patterns/{name}.md` |
|
|
98
|
+
| `artifact` | `{codex_repo}/projects/{name}/artifacts/{filename}.md` |
|
|
99
|
+
|
|
100
|
+
For artifacts, derive `{filename}` from the artifact filename input or the source file's name (slugified).
|
|
93
101
|
|
|
94
102
|
Create the directory if it doesn't exist.
|
|
95
103
|
|
|
@@ -123,6 +123,7 @@ The codex has three categories:
|
|
|
123
123
|
| `/codex new {name}` | Scaffold new project from templates |
|
|
124
124
|
| `/codex decision {text}` | Append to active project's DECISIONS.md |
|
|
125
125
|
| `/codex snapshot {type} {file} {name}` | Import PDF/markdown to codex (uses agent) |
|
|
126
|
+
| `/codex artifact {file} {project}` | Add supporting artifact to project (uses agent) |
|
|
126
127
|
| `/codex add topic {name}` | Add explored topic with freshness metadata |
|
|
127
128
|
|
|
128
129
|
## Loading an Entry
|
|
@@ -270,6 +271,32 @@ Full procedure: `references/topics.md`
|
|
|
270
271
|
The agent handles: PDF reading, content extraction, frontmatter generation, file writing.
|
|
271
272
|
The main conversation handles: git branch, commit, PR creation, user interaction.
|
|
272
273
|
|
|
274
|
+
## Adding Artifacts
|
|
275
|
+
|
|
276
|
+
**Trigger:** `/codex artifact {file} {project}` or user wants to add supporting material to a project
|
|
277
|
+
|
|
278
|
+
Artifacts are supplementary documents that support a project but aren't core document types (PRD, TECH-DESIGN, DECISIONS). Examples:
|
|
279
|
+
- Customer interviews / transcripts
|
|
280
|
+
- Research notes
|
|
281
|
+
- Meeting summaries
|
|
282
|
+
- Spike findings
|
|
283
|
+
- Competitor analysis
|
|
284
|
+
|
|
285
|
+
**Procedure:**
|
|
286
|
+
|
|
287
|
+
1. Use the `codex-document-processor` agent with type `artifact`
|
|
288
|
+
2. Agent writes to `{codex_repo}/projects/{project}/artifacts/{filename}.md`
|
|
289
|
+
3. Handle git workflow (branch, commit, PR)
|
|
290
|
+
|
|
291
|
+
**Example invocations:**
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
/codex artifact ~/Downloads/customer-interview-acme.pdf transaction-templates
|
|
295
|
+
/codex artifact ~/notes/spike-handlebars-perf.md partnership-automation
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
Artifacts get lighter frontmatter with `type: artifact` and source like `interview`, `transcript`, `notes`, `meeting`, `research`, `spike`, or `analysis`.
|
|
299
|
+
|
|
273
300
|
## Creating New Projects
|
|
274
301
|
|
|
275
302
|
**Trigger:** `/codex new {name}` or user wants to start new project entry
|
|
@@ -49,6 +49,7 @@ Default `projects_dir` by AI tool (only if overrides.yaml is missing or lacks `p
|
|
|
49
49
|
| `/project` | List and select a project |
|
|
50
50
|
| `/project {keywords}` | **Search** for existing project (fuzzy-match and load) |
|
|
51
51
|
| `/project create {name}` | Create new project (requires `create` keyword) |
|
|
52
|
+
| `/project create --from codex:{name}` | Create project seeded with codex context |
|
|
52
53
|
| `/project update` | Update from conversation context |
|
|
53
54
|
|
|
54
55
|
**IMPORTANT:** The default action for `/project {keywords}` is to **SEARCH** for existing projects, NOT create. Only use `/project create {name}` when the user explicitly wants to create a new project.
|
|
@@ -77,6 +78,8 @@ Changelog format: `references/changelog.md`
|
|
|
77
78
|
|
|
78
79
|
**TLDR:** Create folder in `projects_dir`, generate PROJECT.md + CHANGELOG.md from templates.
|
|
79
80
|
|
|
81
|
+
**From codex:** Use `--from codex:{name}` to seed with shared organizational context. Extracts overview from PRD, technical details from tech design, and links to codex source.
|
|
82
|
+
|
|
80
83
|
Full procedure: `references/creating.md`
|
|
81
84
|
Templates: `references/templates.md`
|
|
82
85
|
|
|
@@ -61,3 +61,101 @@ New projects start minimal and grow organically. Common sections added over time
|
|
|
61
61
|
- **Roadmap** - Future phases
|
|
62
62
|
|
|
63
63
|
See `templates.md` for the full initial template.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Creating from Codex
|
|
68
|
+
|
|
69
|
+
**Trigger:** `/project create --from codex:{name}` or `/project create {name} --from codex:{codex-name}`
|
|
70
|
+
|
|
71
|
+
Bridge shared organizational knowledge (codex) to personal working memory (project).
|
|
72
|
+
|
|
73
|
+
### Procedure
|
|
74
|
+
|
|
75
|
+
1. **Parse arguments**
|
|
76
|
+
- If only `--from codex:{name}` → use codex name as project name
|
|
77
|
+
- If `{name} --from codex:{codex-name}` → use custom project name
|
|
78
|
+
|
|
79
|
+
2. **Load codex entry**
|
|
80
|
+
- Read `~/.droid/skills/codex/overrides.yaml` for `codex_repo` path
|
|
81
|
+
- Sync: `git -C {codex_repo} pull --rebase --quiet`
|
|
82
|
+
- Locate `{codex_repo}/projects/{name}/`
|
|
83
|
+
- If not found → error with suggestions from available projects
|
|
84
|
+
|
|
85
|
+
3. **Extract context from codex files**
|
|
86
|
+
|
|
87
|
+
**From PRD.md:**
|
|
88
|
+
- Title from frontmatter or H1
|
|
89
|
+
- Problem Statement → Overview
|
|
90
|
+
- Goals section → Goals list
|
|
91
|
+
- Status from frontmatter
|
|
92
|
+
|
|
93
|
+
**From TECH-DESIGN.md:**
|
|
94
|
+
- Overview section → Technical Details intro
|
|
95
|
+
- Architecture section → Technical Details (summarised)
|
|
96
|
+
- `codebase_paths` from frontmatter → Key Paths
|
|
97
|
+
|
|
98
|
+
**From DECISIONS.md:**
|
|
99
|
+
- Count of decisions → mention in Overview
|
|
100
|
+
- Do not copy content (link to codex instead)
|
|
101
|
+
|
|
102
|
+
4. **Create project folder** (same as standard create)
|
|
103
|
+
- Path: `{projects_dir}/{kebab-case-name}/`
|
|
104
|
+
- Verify folder doesn't already exist
|
|
105
|
+
|
|
106
|
+
5. **Create files from seeded template** (see `templates.md` - Seeded from Codex)
|
|
107
|
+
- `PROJECT.md` - Pre-filled with extracted context
|
|
108
|
+
- `CHANGELOG.md` - Notes codex source
|
|
109
|
+
|
|
110
|
+
6. **Confirm creation**
|
|
111
|
+
```
|
|
112
|
+
Created project "Transaction Templates" seeded from codex.
|
|
113
|
+
|
|
114
|
+
📁 ~/.claude/projects/transaction-templates/
|
|
115
|
+
├── PROJECT.md (seeded with codex context)
|
|
116
|
+
└── CHANGELOG.md
|
|
117
|
+
|
|
118
|
+
Codex source: projects/transaction-templates
|
|
119
|
+
|
|
120
|
+
The project is pre-filled with:
|
|
121
|
+
- Overview from PRD problem statement
|
|
122
|
+
- Goals from PRD
|
|
123
|
+
- Technical details from tech design
|
|
124
|
+
|
|
125
|
+
Full codex docs remain at: {codex_repo}/projects/{name}/
|
|
126
|
+
Use `/codex {name}` to load the complete shared context.
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Error Handling
|
|
130
|
+
|
|
131
|
+
**Codex project not found:**
|
|
132
|
+
```
|
|
133
|
+
No codex project found for "{name}".
|
|
134
|
+
|
|
135
|
+
Available projects:
|
|
136
|
+
- partnership-automation
|
|
137
|
+
- generic-scenario-testing
|
|
138
|
+
|
|
139
|
+
Try: /project create --from codex:partnership-automation
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**Project folder already exists:**
|
|
143
|
+
```
|
|
144
|
+
A project named "{name}" already exists at {path}.
|
|
145
|
+
|
|
146
|
+
Options:
|
|
147
|
+
- Load existing: /project {name}
|
|
148
|
+
- Use different name: /project create other-name --from codex:{codex-name}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
**Missing codex files:**
|
|
152
|
+
- If PRD.md missing: warn, proceed with available files
|
|
153
|
+
- If TECH-DESIGN.md missing: warn, proceed with available files
|
|
154
|
+
- If all files missing: error, suggest using standard create
|
|
155
|
+
|
|
156
|
+
### Key Principles
|
|
157
|
+
|
|
158
|
+
- **Links, not copies** - PROJECT.md links to codex, doesn't duplicate it
|
|
159
|
+
- **Extracts summaries** - Brief context, not full documents
|
|
160
|
+
- **Links stay live** - `/codex {name}` always loads latest from repo
|
|
161
|
+
- **Independent growth** - PROJECT.md evolves separately during implementation
|
|
@@ -122,3 +122,99 @@ Same as markdown preset.
|
|
|
122
122
|
| Links | `[text](path)` | `[[path\|text]]` |
|
|
123
123
|
| YAML properties | Minimal (`status`) | Rich (`type`, `created`, `updated`) |
|
|
124
124
|
| Related section | Optional | Included |
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Seeded from Codex
|
|
129
|
+
|
|
130
|
+
When creating with `--from codex:{name}`, use this template variant. Works with both markdown and obsidian presets.
|
|
131
|
+
|
|
132
|
+
### Additional Variables
|
|
133
|
+
|
|
134
|
+
| Variable | Expands To |
|
|
135
|
+
|----------|------------|
|
|
136
|
+
| `{codex-name}` | Source codex project name |
|
|
137
|
+
| `{codex_repo}` | Path to codex repository |
|
|
138
|
+
| `{overview}` | Extracted from PRD problem statement |
|
|
139
|
+
| `{goals}` | Extracted from PRD goals (bullet list) |
|
|
140
|
+
| `{tech_details}` | Extracted from tech design overview |
|
|
141
|
+
| `{codebase_paths}` | Paths from tech design frontmatter |
|
|
142
|
+
| `{decision_count}` | Number of decisions in DECISIONS.md |
|
|
143
|
+
|
|
144
|
+
### PROJECT.md (Seeded)
|
|
145
|
+
|
|
146
|
+
```markdown
|
|
147
|
+
---
|
|
148
|
+
status: active
|
|
149
|
+
codex_source: projects/{codex-name}
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
# Project: {Name}
|
|
153
|
+
|
|
154
|
+
Personal working memory for {Name}, seeded from shared codex context.
|
|
155
|
+
|
|
156
|
+
| | |
|
|
157
|
+
|---|---|
|
|
158
|
+
| **Version** | 0.1.0 |
|
|
159
|
+
| **Started** | {today} |
|
|
160
|
+
| **Status** | Active |
|
|
161
|
+
| **Codex** | `projects/{codex-name}` |
|
|
162
|
+
|
|
163
|
+
## Overview
|
|
164
|
+
|
|
165
|
+
{overview}
|
|
166
|
+
|
|
167
|
+
## Goals
|
|
168
|
+
|
|
169
|
+
{goals}
|
|
170
|
+
|
|
171
|
+
## Technical Details
|
|
172
|
+
|
|
173
|
+
{tech_details}
|
|
174
|
+
|
|
175
|
+
### Key Paths
|
|
176
|
+
|
|
177
|
+
{codebase_paths}
|
|
178
|
+
|
|
179
|
+
## Current Work
|
|
180
|
+
|
|
181
|
+
{To be filled during implementation}
|
|
182
|
+
|
|
183
|
+
## Related
|
|
184
|
+
|
|
185
|
+
- **Codex project:** `/codex {codex-name}`
|
|
186
|
+
- **PRD:** `{codex_repo}/projects/{codex-name}/PRD.md`
|
|
187
|
+
- **Tech Design:** `{codex_repo}/projects/{codex-name}/TECH-DESIGN.md`
|
|
188
|
+
- **Decisions ({decision_count}):** `{codex_repo}/projects/{codex-name}/DECISIONS.md`
|
|
189
|
+
|
|
190
|
+
## Changelog
|
|
191
|
+
|
|
192
|
+
See [CHANGELOG.md](CHANGELOG.md) for full history.
|
|
193
|
+
|
|
194
|
+
### 0.1.0 - {today}
|
|
195
|
+
- Project created from codex:{codex-name}
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### CHANGELOG.md (Seeded)
|
|
199
|
+
|
|
200
|
+
```markdown
|
|
201
|
+
# Changelog
|
|
202
|
+
|
|
203
|
+
All notable changes to the {Name} project.
|
|
204
|
+
|
|
205
|
+
## 0.1.0 - {today}
|
|
206
|
+
- Project created from codex:{codex-name}
|
|
207
|
+
- Seeded with context from PRD, TECH-DESIGN
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### Extraction Guidelines
|
|
211
|
+
|
|
212
|
+
When extracting content from codex files:
|
|
213
|
+
|
|
214
|
+
1. **Overview** - Look for "Problem Statement", "Overview", or first substantive paragraph in PRD.md
|
|
215
|
+
2. **Goals** - Look for "Goals", "Objectives", or bulleted list in PRD.md
|
|
216
|
+
3. **Tech Details** - Look for "Overview", "Architecture", or "Approach" in TECH-DESIGN.md
|
|
217
|
+
4. **Codebase Paths** - Extract from `codebase_paths` frontmatter field
|
|
218
|
+
|
|
219
|
+
If a section is missing, use placeholder text:
|
|
220
|
+
- `{To be extracted from codex or filled manually}`
|
package/package.json
CHANGED
|
@@ -14,15 +14,16 @@ You are a document processor for the Orderful codex. Your job is to transform so
|
|
|
14
14
|
|
|
15
15
|
You will receive:
|
|
16
16
|
1. **File path** - The source document to process
|
|
17
|
-
2. **Document type** - One of: `prd`, `tech-design`, `topic`, `pattern`
|
|
17
|
+
2. **Document type** - One of: `prd`, `tech-design`, `topic`, `pattern`, `artifact`
|
|
18
18
|
3. **Project/entry name** - Where this should be stored in the codex
|
|
19
19
|
4. **Codex repo path** - The local path to orderful-codex repository
|
|
20
|
+
5. **Artifact filename** (optional, for artifacts) - Name for the artifact file
|
|
20
21
|
|
|
21
22
|
## Validation (Do This First)
|
|
22
23
|
|
|
23
24
|
Before processing, validate all inputs:
|
|
24
25
|
|
|
25
|
-
1. **Document type** - Must be one of: `prd`, `tech-design`, `topic`, `pattern`. Reject anything else.
|
|
26
|
+
1. **Document type** - Must be one of: `prd`, `tech-design`, `topic`, `pattern`, `artifact`. Reject anything else.
|
|
26
27
|
2. **File path** - Must exist and be readable. Use Read tool to verify.
|
|
27
28
|
3. **Project/entry name** - Must be safe for filesystem paths:
|
|
28
29
|
- Only allow: alphanumeric, dashes, underscores
|
|
@@ -44,10 +45,13 @@ From the content, identify:
|
|
|
44
45
|
- **Title** - The document/feature name
|
|
45
46
|
- **Main content** - The substantive information
|
|
46
47
|
- **Codebase paths** (if tech-design) - Any code paths mentioned
|
|
47
|
-
- **Source** - Default
|
|
48
|
+
- **Source** - Default based on type:
|
|
49
|
+
- PRD/tech-design: `confluence`
|
|
50
|
+
- Topic/pattern: `exploration`
|
|
51
|
+
- Artifact: infer from content (`interview`, `transcript`, `notes`, `meeting`, `research`, `spike`, `analysis`)
|
|
48
52
|
- **Status** - Default based on type:
|
|
49
53
|
- PRD/tech-design: `draft` (new imports start as drafts)
|
|
50
|
-
- Topic/pattern: `active`
|
|
54
|
+
- Topic/pattern/artifact: `active`
|
|
51
55
|
|
|
52
56
|
### 3. Read and Apply Frontmatter Template
|
|
53
57
|
|
|
@@ -58,7 +62,8 @@ From the content, identify:
|
|
|
58
62
|
| `prd` | `{codex_repo}/templates/PRD.md` |
|
|
59
63
|
| `tech-design` | `{codex_repo}/templates/TECH-DESIGN.md` |
|
|
60
64
|
| `topic` | `{codex_repo}/templates/TOPIC.md` |
|
|
61
|
-
| `pattern` | `{codex_repo}/templates/PATTERN.md`
|
|
65
|
+
| `pattern` | `{codex_repo}/templates/PATTERN.md` |
|
|
66
|
+
| `artifact` | `{codex_repo}/templates/ARTIFACT.md` |
|
|
62
67
|
|
|
63
68
|
1. Read the appropriate template file
|
|
64
69
|
2. Extract its frontmatter structure
|
|
@@ -90,6 +95,9 @@ Write the processed markdown to the correct location:
|
|
|
90
95
|
| `tech-design` | `{codex_repo}/projects/{name}/TECH-DESIGN.md` |
|
|
91
96
|
| `topic` | `{codex_repo}/topics/{name}.md` |
|
|
92
97
|
| `pattern` | `{codex_repo}/patterns/{name}.md` |
|
|
98
|
+
| `artifact` | `{codex_repo}/projects/{name}/artifacts/{filename}.md` |
|
|
99
|
+
|
|
100
|
+
For artifacts, derive `{filename}` from the artifact filename input or the source file's name (slugified).
|
|
93
101
|
|
|
94
102
|
Create the directory if it doesn't exist.
|
|
95
103
|
|
|
@@ -123,6 +123,7 @@ The codex has three categories:
|
|
|
123
123
|
| `/codex new {name}` | Scaffold new project from templates |
|
|
124
124
|
| `/codex decision {text}` | Append to active project's DECISIONS.md |
|
|
125
125
|
| `/codex snapshot {type} {file} {name}` | Import PDF/markdown to codex (uses agent) |
|
|
126
|
+
| `/codex artifact {file} {project}` | Add supporting artifact to project (uses agent) |
|
|
126
127
|
| `/codex add topic {name}` | Add explored topic with freshness metadata |
|
|
127
128
|
|
|
128
129
|
## Loading an Entry
|
|
@@ -270,6 +271,32 @@ Full procedure: `references/topics.md`
|
|
|
270
271
|
The agent handles: PDF reading, content extraction, frontmatter generation, file writing.
|
|
271
272
|
The main conversation handles: git branch, commit, PR creation, user interaction.
|
|
272
273
|
|
|
274
|
+
## Adding Artifacts
|
|
275
|
+
|
|
276
|
+
**Trigger:** `/codex artifact {file} {project}` or user wants to add supporting material to a project
|
|
277
|
+
|
|
278
|
+
Artifacts are supplementary documents that support a project but aren't core document types (PRD, TECH-DESIGN, DECISIONS). Examples:
|
|
279
|
+
- Customer interviews / transcripts
|
|
280
|
+
- Research notes
|
|
281
|
+
- Meeting summaries
|
|
282
|
+
- Spike findings
|
|
283
|
+
- Competitor analysis
|
|
284
|
+
|
|
285
|
+
**Procedure:**
|
|
286
|
+
|
|
287
|
+
1. Use the `codex-document-processor` agent with type `artifact`
|
|
288
|
+
2. Agent writes to `{codex_repo}/projects/{project}/artifacts/{filename}.md`
|
|
289
|
+
3. Handle git workflow (branch, commit, PR)
|
|
290
|
+
|
|
291
|
+
**Example invocations:**
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
/codex artifact ~/Downloads/customer-interview-acme.pdf transaction-templates
|
|
295
|
+
/codex artifact ~/notes/spike-handlebars-perf.md partnership-automation
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
Artifacts get lighter frontmatter with `type: artifact` and source like `interview`, `transcript`, `notes`, `meeting`, `research`, `spike`, or `analysis`.
|
|
299
|
+
|
|
273
300
|
## Creating New Projects
|
|
274
301
|
|
|
275
302
|
**Trigger:** `/codex new {name}` or user wants to start new project entry
|
|
@@ -49,6 +49,7 @@ Default `projects_dir` by AI tool (only if overrides.yaml is missing or lacks `p
|
|
|
49
49
|
| `/project` | List and select a project |
|
|
50
50
|
| `/project {keywords}` | **Search** for existing project (fuzzy-match and load) |
|
|
51
51
|
| `/project create {name}` | Create new project (requires `create` keyword) |
|
|
52
|
+
| `/project create --from codex:{name}` | Create project seeded with codex context |
|
|
52
53
|
| `/project update` | Update from conversation context |
|
|
53
54
|
|
|
54
55
|
**IMPORTANT:** The default action for `/project {keywords}` is to **SEARCH** for existing projects, NOT create. Only use `/project create {name}` when the user explicitly wants to create a new project.
|
|
@@ -77,6 +78,8 @@ Changelog format: `references/changelog.md`
|
|
|
77
78
|
|
|
78
79
|
**TLDR:** Create folder in `projects_dir`, generate PROJECT.md + CHANGELOG.md from templates.
|
|
79
80
|
|
|
81
|
+
**From codex:** Use `--from codex:{name}` to seed with shared organizational context. Extracts overview from PRD, technical details from tech design, and links to codex source.
|
|
82
|
+
|
|
80
83
|
Full procedure: `references/creating.md`
|
|
81
84
|
Templates: `references/templates.md`
|
|
82
85
|
|
|
@@ -61,3 +61,101 @@ New projects start minimal and grow organically. Common sections added over time
|
|
|
61
61
|
- **Roadmap** - Future phases
|
|
62
62
|
|
|
63
63
|
See `templates.md` for the full initial template.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Creating from Codex
|
|
68
|
+
|
|
69
|
+
**Trigger:** `/project create --from codex:{name}` or `/project create {name} --from codex:{codex-name}`
|
|
70
|
+
|
|
71
|
+
Bridge shared organizational knowledge (codex) to personal working memory (project).
|
|
72
|
+
|
|
73
|
+
### Procedure
|
|
74
|
+
|
|
75
|
+
1. **Parse arguments**
|
|
76
|
+
- If only `--from codex:{name}` → use codex name as project name
|
|
77
|
+
- If `{name} --from codex:{codex-name}` → use custom project name
|
|
78
|
+
|
|
79
|
+
2. **Load codex entry**
|
|
80
|
+
- Read `~/.droid/skills/codex/overrides.yaml` for `codex_repo` path
|
|
81
|
+
- Sync: `git -C {codex_repo} pull --rebase --quiet`
|
|
82
|
+
- Locate `{codex_repo}/projects/{name}/`
|
|
83
|
+
- If not found → error with suggestions from available projects
|
|
84
|
+
|
|
85
|
+
3. **Extract context from codex files**
|
|
86
|
+
|
|
87
|
+
**From PRD.md:**
|
|
88
|
+
- Title from frontmatter or H1
|
|
89
|
+
- Problem Statement → Overview
|
|
90
|
+
- Goals section → Goals list
|
|
91
|
+
- Status from frontmatter
|
|
92
|
+
|
|
93
|
+
**From TECH-DESIGN.md:**
|
|
94
|
+
- Overview section → Technical Details intro
|
|
95
|
+
- Architecture section → Technical Details (summarised)
|
|
96
|
+
- `codebase_paths` from frontmatter → Key Paths
|
|
97
|
+
|
|
98
|
+
**From DECISIONS.md:**
|
|
99
|
+
- Count of decisions → mention in Overview
|
|
100
|
+
- Do not copy content (link to codex instead)
|
|
101
|
+
|
|
102
|
+
4. **Create project folder** (same as standard create)
|
|
103
|
+
- Path: `{projects_dir}/{kebab-case-name}/`
|
|
104
|
+
- Verify folder doesn't already exist
|
|
105
|
+
|
|
106
|
+
5. **Create files from seeded template** (see `templates.md` - Seeded from Codex)
|
|
107
|
+
- `PROJECT.md` - Pre-filled with extracted context
|
|
108
|
+
- `CHANGELOG.md` - Notes codex source
|
|
109
|
+
|
|
110
|
+
6. **Confirm creation**
|
|
111
|
+
```
|
|
112
|
+
Created project "Transaction Templates" seeded from codex.
|
|
113
|
+
|
|
114
|
+
📁 ~/.claude/projects/transaction-templates/
|
|
115
|
+
├── PROJECT.md (seeded with codex context)
|
|
116
|
+
└── CHANGELOG.md
|
|
117
|
+
|
|
118
|
+
Codex source: projects/transaction-templates
|
|
119
|
+
|
|
120
|
+
The project is pre-filled with:
|
|
121
|
+
- Overview from PRD problem statement
|
|
122
|
+
- Goals from PRD
|
|
123
|
+
- Technical details from tech design
|
|
124
|
+
|
|
125
|
+
Full codex docs remain at: {codex_repo}/projects/{name}/
|
|
126
|
+
Use `/codex {name}` to load the complete shared context.
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Error Handling
|
|
130
|
+
|
|
131
|
+
**Codex project not found:**
|
|
132
|
+
```
|
|
133
|
+
No codex project found for "{name}".
|
|
134
|
+
|
|
135
|
+
Available projects:
|
|
136
|
+
- partnership-automation
|
|
137
|
+
- generic-scenario-testing
|
|
138
|
+
|
|
139
|
+
Try: /project create --from codex:partnership-automation
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**Project folder already exists:**
|
|
143
|
+
```
|
|
144
|
+
A project named "{name}" already exists at {path}.
|
|
145
|
+
|
|
146
|
+
Options:
|
|
147
|
+
- Load existing: /project {name}
|
|
148
|
+
- Use different name: /project create other-name --from codex:{codex-name}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
**Missing codex files:**
|
|
152
|
+
- If PRD.md missing: warn, proceed with available files
|
|
153
|
+
- If TECH-DESIGN.md missing: warn, proceed with available files
|
|
154
|
+
- If all files missing: error, suggest using standard create
|
|
155
|
+
|
|
156
|
+
### Key Principles
|
|
157
|
+
|
|
158
|
+
- **Links, not copies** - PROJECT.md links to codex, doesn't duplicate it
|
|
159
|
+
- **Extracts summaries** - Brief context, not full documents
|
|
160
|
+
- **Links stay live** - `/codex {name}` always loads latest from repo
|
|
161
|
+
- **Independent growth** - PROJECT.md evolves separately during implementation
|
|
@@ -122,3 +122,99 @@ Same as markdown preset.
|
|
|
122
122
|
| Links | `[text](path)` | `[[path\|text]]` |
|
|
123
123
|
| YAML properties | Minimal (`status`) | Rich (`type`, `created`, `updated`) |
|
|
124
124
|
| Related section | Optional | Included |
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Seeded from Codex
|
|
129
|
+
|
|
130
|
+
When creating with `--from codex:{name}`, use this template variant. Works with both markdown and obsidian presets.
|
|
131
|
+
|
|
132
|
+
### Additional Variables
|
|
133
|
+
|
|
134
|
+
| Variable | Expands To |
|
|
135
|
+
|----------|------------|
|
|
136
|
+
| `{codex-name}` | Source codex project name |
|
|
137
|
+
| `{codex_repo}` | Path to codex repository |
|
|
138
|
+
| `{overview}` | Extracted from PRD problem statement |
|
|
139
|
+
| `{goals}` | Extracted from PRD goals (bullet list) |
|
|
140
|
+
| `{tech_details}` | Extracted from tech design overview |
|
|
141
|
+
| `{codebase_paths}` | Paths from tech design frontmatter |
|
|
142
|
+
| `{decision_count}` | Number of decisions in DECISIONS.md |
|
|
143
|
+
|
|
144
|
+
### PROJECT.md (Seeded)
|
|
145
|
+
|
|
146
|
+
```markdown
|
|
147
|
+
---
|
|
148
|
+
status: active
|
|
149
|
+
codex_source: projects/{codex-name}
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
# Project: {Name}
|
|
153
|
+
|
|
154
|
+
Personal working memory for {Name}, seeded from shared codex context.
|
|
155
|
+
|
|
156
|
+
| | |
|
|
157
|
+
|---|---|
|
|
158
|
+
| **Version** | 0.1.0 |
|
|
159
|
+
| **Started** | {today} |
|
|
160
|
+
| **Status** | Active |
|
|
161
|
+
| **Codex** | `projects/{codex-name}` |
|
|
162
|
+
|
|
163
|
+
## Overview
|
|
164
|
+
|
|
165
|
+
{overview}
|
|
166
|
+
|
|
167
|
+
## Goals
|
|
168
|
+
|
|
169
|
+
{goals}
|
|
170
|
+
|
|
171
|
+
## Technical Details
|
|
172
|
+
|
|
173
|
+
{tech_details}
|
|
174
|
+
|
|
175
|
+
### Key Paths
|
|
176
|
+
|
|
177
|
+
{codebase_paths}
|
|
178
|
+
|
|
179
|
+
## Current Work
|
|
180
|
+
|
|
181
|
+
{To be filled during implementation}
|
|
182
|
+
|
|
183
|
+
## Related
|
|
184
|
+
|
|
185
|
+
- **Codex project:** `/codex {codex-name}`
|
|
186
|
+
- **PRD:** `{codex_repo}/projects/{codex-name}/PRD.md`
|
|
187
|
+
- **Tech Design:** `{codex_repo}/projects/{codex-name}/TECH-DESIGN.md`
|
|
188
|
+
- **Decisions ({decision_count}):** `{codex_repo}/projects/{codex-name}/DECISIONS.md`
|
|
189
|
+
|
|
190
|
+
## Changelog
|
|
191
|
+
|
|
192
|
+
See [CHANGELOG.md](CHANGELOG.md) for full history.
|
|
193
|
+
|
|
194
|
+
### 0.1.0 - {today}
|
|
195
|
+
- Project created from codex:{codex-name}
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### CHANGELOG.md (Seeded)
|
|
199
|
+
|
|
200
|
+
```markdown
|
|
201
|
+
# Changelog
|
|
202
|
+
|
|
203
|
+
All notable changes to the {Name} project.
|
|
204
|
+
|
|
205
|
+
## 0.1.0 - {today}
|
|
206
|
+
- Project created from codex:{codex-name}
|
|
207
|
+
- Seeded with context from PRD, TECH-DESIGN
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### Extraction Guidelines
|
|
211
|
+
|
|
212
|
+
When extracting content from codex files:
|
|
213
|
+
|
|
214
|
+
1. **Overview** - Look for "Problem Statement", "Overview", or first substantive paragraph in PRD.md
|
|
215
|
+
2. **Goals** - Look for "Goals", "Objectives", or bulleted list in PRD.md
|
|
216
|
+
3. **Tech Details** - Look for "Overview", "Architecture", or "Approach" in TECH-DESIGN.md
|
|
217
|
+
4. **Codebase Paths** - Extract from `codebase_paths` frontmatter field
|
|
218
|
+
|
|
219
|
+
If a section is missing, use placeholder text:
|
|
220
|
+
- `{To be extracted from codex or filled manually}`
|