openspec-stack-init 1.0.0 → 1.0.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openspec-stack-init",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Initialize OpenSpec + Beads + claude-mem + skills in any project",
5
5
  "author": {
6
6
  "name": "VirtualMaestro",
@@ -28,6 +28,12 @@
28
28
  "engines": {
29
29
  "node": ">=18.0.0"
30
30
  },
31
- "keywords": ["openspec", "beads", "claude-mem", "claude-code", "ai-stack"],
31
+ "keywords": [
32
+ "openspec",
33
+ "beads",
34
+ "claude-mem",
35
+ "claude-code",
36
+ "ai-stack"
37
+ ],
32
38
  "license": "MIT"
33
39
  }
@@ -55,6 +55,30 @@ Announce to the user:
55
55
 
56
56
  Spawn all 4 agents simultaneously using the Task tool:
57
57
 
58
+ > **GLOBAL RULE FOR ALL SCOUT AGENTS — DIRECTORY EXCLUSIONS**
59
+ >
60
+ > Before scanning anything, read `.gitignore` (and `.git/info/exclude` if present):
61
+ >
62
+ > ```bash
63
+ > cat .gitignore 2>/dev/null
64
+ > cat .git/info/exclude 2>/dev/null
65
+ > ```
66
+ >
67
+ > Every pattern listed in `.gitignore` must be respected — never read files or
68
+ > descend into ignored directories. This automatically covers `node_modules/`,
69
+ > `Library/`, `Temp/`, `dist/`, `__pycache__/`, `.env`, and anything else
70
+ > the project owner has already decided to exclude.
71
+ >
72
+ > Additionally, always exclude regardless of `.gitignore` content:
73
+ > - `.git/` — version control internals
74
+ > - `openspec/` — being written by this migration right now
75
+ > - `.beads/` `.beads-cache/` `.claude-mem/` — tool data
76
+ >
77
+ > When building `grep` exclude flags, parse `.gitignore` to extract directory
78
+ > patterns and convert them to `--exclude-dir=<name>` flags dynamically.
79
+ > Always include `--exclude-dir=.git` as a baseline.
80
+
81
+
58
82
  ### Scout Agent 1 — Project Structure & Tech Stack
59
83
 
60
84
  Task prompt:
@@ -163,9 +187,21 @@ Do NOT modify any files.
163
187
 
164
188
  1. SEARCH FOR DEBT MARKERS
165
189
  Run these searches across all source files:
166
- - grep -rn "TODO" --include="*.cs" --include="*.ts" --include="*.js" --include="*.py" --include="*.dart" --include="*.go" --include="*.rs" --include="*.lua" . | head -200
167
- - grep -rn "FIXME\|HACK\|BUG\|BROKEN\|WORKAROUND\|TEMPORARY\|TEMP\b" --include="*.cs" --include="*.ts" --include="*.js" --include="*.py" --include="*.dart" --include="*.go" --include="*.rs" --include="*.lua" . | head -200
168
- - grep -rn "DEPRECATED\|OBSOLETE\|REMOVE\|DELETE ME\|REFACTOR" --include="*.cs" --include="*.ts" --include="*.js" --include="*.py" --include="*.dart" --include="*.go" --include="*.rs" --include="*.lua" . | head -100
190
+ First, build exclusion flags from .gitignore:
191
+ ```bash
192
+ EXCLUDE="--exclude-dir=.git --exclude-dir=openspec"
193
+ while IFS= read -r line; do
194
+ # skip comments and empty lines, extract directory patterns
195
+ [[ "$line" =~ ^#.*$ || -z "$line" ]] && continue
196
+ dir="${line%/}" # strip trailing slash
197
+ [[ -d "$dir" ]] && EXCLUDE="$EXCLUDE --exclude-dir=$dir"
198
+ done < .gitignore
199
+ ```
200
+
201
+ Then run searches using $EXCLUDE:
202
+ - grep -rn "TODO" $EXCLUDE --include="*.cs" --include="*.ts" --include="*.js" --include="*.py" --include="*.dart" --include="*.go" --include="*.rs" --include="*.lua" . | head -200
203
+ - grep -rn "FIXME\|HACK\|BUG\|BROKEN\|WORKAROUND\|TEMPORARY\|TEMP\b" $EXCLUDE --include="*.cs" --include="*.ts" --include="*.js" --include="*.py" --include="*.dart" --include="*.go" --include="*.rs" --include="*.lua" . | head -200
204
+ - grep -rn "DEPRECATED\|OBSOLETE\|REMOVE\|DELETE ME\|REFACTOR" $EXCLUDE --include="*.cs" --include="*.ts" --include="*.js" --include="*.py" --include="*.dart" --include="*.go" --include="*.rs" --include="*.lua" . | head -100
169
205
  - Adapt file extensions to the actual tech stack of this project.
170
206
 
171
207
  2. CLASSIFY EACH ITEM into one of: