@orderful/droid 0.10.2 → 0.10.4

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.
@@ -26,7 +26,7 @@ brain_dir: ~/path/to/your/vault
26
26
  **Optional:** Configure folders in `~/.droid/skills/brain-obsidian/overrides.yaml`:
27
27
 
28
28
  | Setting | Default | Description |
29
- |--------------------|---------------|---------------------------------|
29
+ | ------------------ | ------------- | ------------------------------- |
30
30
  | `inbox_folder` | `0-Inbox` | Where new docs are created |
31
31
  | `archive_folder` | `4-Archives` | Where stale/done docs go |
32
32
  | `para_structure` | `false` | Enable full PARA organization |
@@ -37,7 +37,7 @@ brain_dir: ~/path/to/your/vault
37
37
  ## What This Adds
38
38
 
39
39
  | Feature | Description |
40
- |---------------------|--------------------------------------------|
40
+ | ------------------- | ------------------------------------------ |
41
41
  | YAML frontmatter | Type, status, dates, project links, tags |
42
42
  | Wikilinks | `[[note-name]]` syntax for linking |
43
43
  | Folder organization | Inbox + Archive always; full PARA optional |
@@ -45,14 +45,26 @@ brain_dir: ~/path/to/your/vault
45
45
 
46
46
  ## Folder Organization
47
47
 
48
- **Always available:**
49
- - `inbox_folder` - New docs land here
50
- - `archive_folder` - Stale/completed docs
48
+ **Docs are organized by type within the inbox:**
51
49
 
52
- **With `para_structure: true`:**
53
50
  ```
54
51
  vault/
55
- ├── {inbox_folder}/ # New docs (default: 0-Inbox)
52
+ └── {inbox_folder}/ # (default: 0-Inbox)
53
+ ├── plans/ # Planning docs
54
+ ├── research/ # Research docs
55
+ ├── reviews/ # Review docs
56
+ └── ideas/ # Quick captures
57
+ ```
58
+
59
+ **With `para_structure: true`** (adds archive + organization folders):
60
+
61
+ ```
62
+ vault/
63
+ ├── {inbox_folder}/ # New docs by type (default: 0-Inbox)
64
+ │ ├── plans/
65
+ │ ├── research/
66
+ │ ├── reviews/
67
+ │ └── ideas/
56
68
  ├── {projects_folder}/ # Active project docs (default: 1-Projects)
57
69
  ├── {areas_folder}/ # Area docs (default: 2-Areas)
58
70
  ├── {resources_folder}/ # Reference material (default: 3-Resources)
@@ -69,12 +81,12 @@ All docs get YAML frontmatter:
69
81
 
70
82
  ```yaml
71
83
  ---
72
- type: plan | research | review | note
84
+ type: plan | research | review | idea
73
85
  status: exploring | drafting | decided | done
74
86
  created: YYYY-MM-DD
75
87
  updated: YYYY-MM-DD
76
- project: "[[project-name]]" # Optional
77
- tags: [] # Optional
88
+ project: "[[project-name]]" # Optional
89
+ tags: [] # Optional
78
90
  ---
79
91
  ```
80
92
 
@@ -82,12 +94,17 @@ See `references/templates.md` for full templates.
82
94
 
83
95
  ### File Location
84
96
 
85
- Docs are created in your vault's inbox folder:
86
- - `{brain_dir}/{inbox_folder}/{filename}.md`
97
+ Docs are created in type-specific folders within your vault's inbox:
98
+
99
+ - `{brain_dir}/{inbox_folder}/plans/{filename}.md`
100
+ - `{brain_dir}/{inbox_folder}/research/{filename}.md`
101
+ - `{brain_dir}/{inbox_folder}/reviews/{filename}.md`
102
+ - `{brain_dir}/{inbox_folder}/ideas/{filename}.md`
87
103
 
88
104
  ### Finalizing
89
105
 
90
106
  When running `/brain done`:
107
+
91
108
  1. Updates status to `done` in frontmatter
92
109
  2. Suggests moving to archive (or projects/resources if PARA enabled)
93
110
  3. Confirms before moving
@@ -96,10 +113,10 @@ When running `/brain done`:
96
113
 
97
114
  Same commands as brain skill, but with Obsidian output:
98
115
 
99
- | Command | Obsidian Behavior |
100
- |---------------------------|--------------------------------------------|
101
- | `/brain plan {topic}` | Creates in inbox with frontmatter |
102
- | `/brain research {topic}` | Creates in inbox with frontmatter |
103
- | `/brain review {topic}` | Creates in inbox with frontmatter |
104
- | `/brain note {text}` | Quick capture to inbox |
105
- | `/brain done` | Updates status, suggests archive/PARA move |
116
+ | Command | Obsidian Behavior |
117
+ | ------------------------- | --------------------------------------------- |
118
+ | `/brain plan {topic}` | Creates in `plans/` with frontmatter |
119
+ | `/brain research {topic}` | Creates in `research/` with frontmatter |
120
+ | `/brain review {topic}` | Creates in `reviews/` with frontmatter |
121
+ | `/brain idea {text}` | Quick capture to `ideas/` |
122
+ | `/brain done` | Updates status, suggests archive/PARA move |
@@ -8,8 +8,8 @@ Templates with YAML frontmatter and wikilink support.
8
8
  ---
9
9
  type: plan
10
10
  status: exploring
11
- created: {date}
12
- updated: {date}
11
+ created: { date }
12
+ updated: { date }
13
13
  project: "[[{project}]]"
14
14
  tags: []
15
15
  ---
@@ -41,8 +41,8 @@ What we chose and why.
41
41
  ---
42
42
  type: research
43
43
  status: exploring
44
- created: {date}
45
- updated: {date}
44
+ created: { date }
45
+ updated: { date }
46
46
  project: "[[{project}]]"
47
47
  tags: []
48
48
  ---
@@ -75,8 +75,8 @@ Key takeaways.
75
75
  ---
76
76
  type: review
77
77
  status: exploring
78
- created: {date}
79
- updated: {date}
78
+ created: { date }
79
+ updated: { date }
80
80
  project: "[[{project}]]"
81
81
  tags: []
82
82
  ---
@@ -102,12 +102,12 @@ Suggested changes or actions.
102
102
  Overall assessment.
103
103
  ```
104
104
 
105
- ## Note Template
105
+ ## Idea Template
106
106
 
107
107
  ```markdown
108
108
  ---
109
- type: note
110
- created: {date}
109
+ type: idea
110
+ created: { date }
111
111
  tags: []
112
112
  ---
113
113
 
@@ -118,24 +118,24 @@ tags: []
118
118
 
119
119
  ## Template Variables
120
120
 
121
- | Variable | Description | Example |
122
- |----------|-------------|---------|
123
- | `{Topic}` | Doc title from user input | "Auth Refactor" |
124
- | `{date}` | Current date (YYYY-MM-DD) | "2025-01-15" |
125
- | `{brief description}` | Context from conversation | "refactoring the authentication system" |
126
- | `{project}` | Active project name (if any) | "transaction-templates" |
127
- | `{content}` | User-provided text | (for notes) |
121
+ | Variable | Description | Example |
122
+ | --------------------- | ---------------------------- | --------------------------------------- |
123
+ | `{Topic}` | Doc title from user input | "Auth Refactor" |
124
+ | `{date}` | Current date (YYYY-MM-DD) | "2025-01-15" |
125
+ | `{brief description}` | Context from conversation | "refactoring the authentication system" |
126
+ | `{project}` | Active project name (if any) | "transaction-templates" |
127
+ | `{content}` | User-provided text | (for notes) |
128
128
 
129
129
  ## Frontmatter Fields
130
130
 
131
- | Field | Type | Description |
132
- |-------|------|-------------|
133
- | `type` | string | Doc type: `plan`, `research`, `review`, `note` |
134
- | `status` | string | Lifecycle: `exploring`, `drafting`, `decided`, `done`, `stale` |
135
- | `created` | date | Creation date (YYYY-MM-DD) |
136
- | `updated` | date | Last modification date |
137
- | `project` | wikilink | Link to related project: `"[[project-name]]"` |
138
- | `tags` | list | Tags for filtering: `[tag1, tag2]` |
131
+ | Field | Type | Description |
132
+ | --------- | -------- | -------------------------------------------------------------- |
133
+ | `type` | string | Doc type: `plan`, `research`, `review`, `idea` |
134
+ | `status` | string | Lifecycle: `exploring`, `drafting`, `decided`, `done`, `stale` |
135
+ | `created` | date | Creation date (YYYY-MM-DD) |
136
+ | `updated` | date | Last modification date |
137
+ | `project` | wikilink | Link to related project: `"[[project-name]]"` |
138
+ | `tags` | list | Tags for filtering: `[tag1, tag2]` |
139
139
 
140
140
  ## Wikilink Conventions
141
141
 
@@ -12,10 +12,13 @@ Obsidian-specific procedures that override brain defaults.
12
12
  - `brain_dir` from brain skill (your vault path)
13
13
  - `inbox_folder` from brain-obsidian (default: `0-Inbox`)
14
14
 
15
- 2. **Target folder:** `{brain_dir}/{inbox_folder}/`
15
+ 2. **Determine target folder based on type:**
16
+ - `plan` → `{brain_dir}/{inbox_folder}/plans/`
17
+ - `research` → `{brain_dir}/{inbox_folder}/research/`
18
+ - `review` → `{brain_dir}/{inbox_folder}/reviews/`
16
19
 
17
20
  3. **Generate filename** using brain's naming conventions:
18
- - Format: `{type}-{topic-slug}.md`
21
+ - Format: `{topic-slug}.md` (no type prefix - folder indicates type)
19
22
 
20
23
  4. **Check for active project:**
21
24
  - If `/project` was loaded this session, use its name for `project` field
@@ -26,7 +29,7 @@ Obsidian-specific procedures that override brain defaults.
26
29
  - Set `created` and `updated` to today
27
30
  - Set `status: exploring`
28
31
 
29
- 6. **Create the file** in vault
32
+ 6. **Create the file** in vault (create type folder if needed)
30
33
 
31
34
  7. **Set as active doc** (same as brain)
32
35
 
@@ -37,6 +40,7 @@ Obsidian-specific procedures that override brain defaults.
37
40
  **Steps:**
38
41
 
39
42
  1. **Search in brain_dir** (your vault):
43
+
40
44
  ```
41
45
  Glob: {brain_dir}/**/*{topic}*.md
42
46
  ```
@@ -82,25 +86,27 @@ When modifying any brain doc:
82
86
  4. **Confirm move with user** before relocating
83
87
 
84
88
  5. **Move the file** if confirmed:
89
+
85
90
  ```bash
86
91
  mv "{brain_dir}/{inbox_folder}/{file}" "{brain_dir}/{destination}/{file}"
87
92
  ```
88
93
 
89
94
  6. **Clear active doc** from session
90
95
 
91
- ## Quick Notes
96
+ ## Quick Ideas
92
97
 
93
- **Overrides:** brain's Notes workflow
98
+ **Overrides:** brain's Ideas workflow
94
99
 
95
100
  **Steps:**
96
101
 
97
- 1. **Create in inbox:** `{brain_dir}/{inbox_folder}/note-{date}-{slug}.md`
102
+ 1. **Create in ideas folder:** `{brain_dir}/{inbox_folder}/ideas/{date}-{slug}.md`
103
+
104
+ 2. **Use idea template** with minimal frontmatter:
98
105
 
99
- 2. **Use note template** with minimal frontmatter:
100
106
  ```yaml
101
107
  ---
102
- type: note
103
- created: {date}
108
+ type: idea
109
+ created: { date }
104
110
  tags: []
105
111
  ---
106
112
  ```
@@ -110,6 +116,7 @@ When modifying any brain doc:
110
116
  ## Project Integration (Optional)
111
117
 
112
118
  **Requires:** `project` skill. If not installed, suggest:
119
+
113
120
  > "Linking to projects requires the project skill. Install it with `droid` → Skills → project"
114
121
 
115
122
  When a project is loaded via `/project {name}`:
@@ -123,6 +130,7 @@ When a project is loaded via `/project {name}`:
123
130
  **Trigger:** User says "add this to the project", "link this to project", or "capture in project"
124
131
 
125
132
  **Requires:** `project` skill. If not installed, suggest:
133
+
126
134
  > "Linking to projects requires the project skill. Install it with `droid` → Skills → project"
127
135
 
128
136
  For linking a brain doc (research, notes, design) to an existing project.
@@ -150,6 +158,7 @@ For linking a brain doc (research, notes, design) to an existing project.
150
158
  **Trigger:** User says "promote to project", "make this a project", or "convert to project"
151
159
 
152
160
  **Requires:** `project` skill. If not installed, suggest:
161
+
153
162
  > "Promoting to project requires the project skill. Install it with `droid` → Skills → project"
154
163
 
155
164
  For graduating a full tech design or plan into its own project.
@@ -184,9 +193,10 @@ For graduating a full tech design or plan into its own project.
184
193
 
185
194
  **Overrides:** brain's Listing workflow
186
195
 
187
- Search in vault:
196
+ Search in type folders within vault:
197
+
188
198
  ```
189
- Glob: {brain_dir}/**/*.md
199
+ Glob: {brain_dir}/{inbox_folder}/{plans,research,reviews,ideas}/**/*.md
190
200
  ```
191
201
 
192
- Filter to brain doc types by checking frontmatter for `type: plan|research|review|note`.
202
+ Filter to brain doc types by checking frontmatter for `type: plan|research|review|idea`.
@@ -31,21 +31,23 @@ The AI will respond with `> @{user_mention}` (configured in droid setup, e.g., `
31
31
  **CRITICAL: The `@mention` is who you're talking TO, not who is speaking.**
32
32
 
33
33
  Think of it like addressing someone in conversation:
34
+
34
35
  - "Hey @droid, what do you think?" → User talking TO the AI
35
36
  - "Good point @fry, here's my take..." → AI talking TO the user
36
37
 
37
38
  | When you see... | Who wrote it | Who it's addressed to |
38
- |-----------------|--------------|----------------------|
39
- | `> @droid ...` | User | AI (droid) |
40
- | `> @fry ...` | AI | User (fry) |
39
+ | --------------- | ------------ | --------------------- |
40
+ | `> @droid ...` | User | AI (droid) |
41
+ | `> @fry ...` | AI | User (fry) |
41
42
 
42
43
  **Examples:**
44
+
43
45
  ```markdown
44
- > @droid Can you explain this function? ← User asking AI
46
+ > @droid Can you explain this function? ← User asking AI
45
47
  > @fry This function calculates the hash... ← AI responding to user
46
48
 
47
- > @droid Should we refactor this? ← User asking AI
48
- > @fry Yes, I'd suggest extracting... ← AI responding to user
49
+ > @droid Should we refactor this? ← User asking AI
50
+ > @fry Yes, I'd suggest extracting... ← AI responding to user
49
51
  ```
50
52
 
51
53
  **Never flip this.** When responding to a `@droid` comment, always use `@{user}` (e.g., `@fry`) because you're addressing the user, not yourself.
@@ -76,13 +78,19 @@ When you find a `@droid` marker:
76
78
  ## Behavior
77
79
 
78
80
  ### On `/comments check`:
79
- 1. Search for `> @droid` (and any configured `ai_mentions`) in the specified scope
80
- 2. If there's a `git diff`, check those files first for relevant context
81
- 3. For each comment, determine intent:
82
- - **Action request** ("do X", "add Y", "fix Z") Execute the action, remove the comment
83
- - **Question** ("what do you think", "should we") → Respond with `> @{user_mention}`, keep original comment
81
+
82
+ 1. **Read config first:** Check `~/.droid/skills/comments/overrides.yaml` for `preserve_comments` setting (default: `true`)
83
+ 2. Search for `> @droid` (and any configured `ai_mentions`) in the specified scope
84
+ 3. If there's a `git diff`, check those files first for relevant context
85
+ 4. For each comment, determine intent:
86
+ - **Action request** ("do X", "add Y", "fix Z") → Execute the action
87
+ - **Question** ("what do you think", "should we") → Respond with `> @{user_mention}`
88
+ 5. **Handle original comment based on `preserve_comments`:**
89
+ - If `preserve_comments: true` → Keep the original `@droid` comment (add response below it)
90
+ - If `preserve_comments: false` → Remove the original comment after addressing
84
91
 
85
92
  ### On `/comments cleanup`:
93
+
86
94
  1. Find AI tag and `> @{user_mention}` pairs where conversation appears resolved
87
95
  2. Remove both markers
88
96
  3. Output a summary of what was discussed/decided