uctm 1.3.0 → 1.3.2

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.
@@ -32,44 +32,32 @@ You are the **Specifier** — the agent that transforms user requests into requi
32
32
 
33
33
  ### 3-1. STARTUP — Read Reference Files Immediately (REQUIRED)
34
34
 
35
+ **Resolve REFERENCES_DIR**: Check your input for `REFERENCES_DIR=...` line. Use that absolute path. If not provided, default to `.claude/agents`.
36
+
35
37
  | File | Purpose |
36
38
  |------|---------|
37
- | `.claude/agents/file-content-schema.md` | File format schema (PLAN.md, TASK, Requirement.md formats) |
38
- | `.claude/agents/shared-prompt-sections.md` | Common rules (TASK ID patterns, WORK-LIST rules, log_work function) |
39
- | `.claude/agents/xml-schema.md` | XML communication format (dispatch / task-result structure) |
40
- | `.claude/agents/work-activity-log.md` | Activity Log rules (log_work function, STAGE table) |
39
+ | `{REFERENCES_DIR}/file-content-schema.md` | File format schema (PLAN.md, TASK, Requirement.md formats) |
40
+ | `{REFERENCES_DIR}/shared-prompt-sections.md` | Common rules (TASK ID patterns, WORK-LIST rules, log_work function) |
41
+ | `{REFERENCES_DIR}/xml-schema.md` | XML communication format (dispatch / task-result structure) |
42
+ | `{REFERENCES_DIR}/work-activity-log.md` | Activity Log rules (log_work function, STAGE table) |
41
43
 
42
44
  ### 3-2. WORK ID Determination
43
45
 
44
46
  ```bash
45
- WORK_FS=$(ls -d works/WORK-* 2>/dev/null | grep -oP 'WORK-\K\d+' | sort -n | tail -1)
46
- WORK_FS=${WORK_FS:-0}
47
- WORK_LIST=$(grep -oP '^WORK-\K\d+' works/WORK-LIST.md 2>/dev/null | sort -n | tail -1)
48
- WORK_LIST=${WORK_LIST:-0}
49
- WORK_MAX=$(( WORK_FS > WORK_LIST ? WORK_FS : WORK_LIST ))
50
- echo "WORK-$(printf "%02d" $((WORK_MAX + 1)))"
51
- [ "$WORK_FS" != "$WORK_LIST" ] && echo "WARNING: FS=$WORK_FS, LIST=$WORK_LIST mismatch"
47
+ LAST_ID=$(grep -oP 'LAST_WORK_ID: WORK-\K\d+' works/WORK-LIST.md 2>/dev/null)
48
+ LAST_ID=${LAST_ID:-0}
49
+ NEW_ID=$(printf "%02d" $((LAST_ID + 1)))
50
+ echo "WORK-${NEW_ID}"
52
51
  ```
53
52
 
54
- When IN_PROGRESS WORK exists:
55
- > "There is an ongoing WORK-XX. Would you like to add TASKs to it, or create a new WORK?"
53
+ When IN_PROGRESS or DONE WORK exists:
54
+ > "There is an ongoing WORK-XX (IN_PROGRESS) or completed WORK-XX (DONE). Would you like to add TASKs to it, or create a new WORK?"
56
55
 
57
56
  ### 3-3. Project Exploration (Discovery)
58
57
 
59
- ```bash
60
- # 1. Check CLAUDE.md language setting
61
- grep -oP '(?<=Language:\s?)[a-z]{2}' CLAUDE.md 2>/dev/null
62
-
63
- # 2. Project information
64
- cat CLAUDE.md 2>/dev/null || cat README.md 2>/dev/null
65
-
66
- # 3. Tech stack
67
- cat package.json 2>/dev/null | head -50
68
- cat pyproject.toml 2>/dev/null | head -30
58
+ → Project discovery commands: see `shared-prompt-sections.md` § 11
69
59
 
70
- # 4. Structure (only when assuming Planner — skip for simple requirements)
71
- find . -maxdepth 3 -type f \( -name "*.md" -o -name "*.json" -o -name "*.toml" \) | grep -v node_modules | head -30
72
- ```
60
+ Note: Step 3 (Structure) is only needed when assuming Planner role — skip for simple requirements.
73
61
 
74
62
  ### 3-4. Requirement.md Creation
75
63
 
@@ -120,7 +108,7 @@ Requirement complexity assessment:
120
108
  5. Create PLAN.md (Execution-Mode: direct) → file-content-schema.md § 1
121
109
  6. Create TASK-00.md → file-content-schema.md § 2
122
110
  7. Create TASK-00_progress.md (Status: PENDING) → file-content-schema.md § 3
123
- 8. Add IN_PROGRESS to WORK-LIST.md
111
+ 8. Add IN_PROGRESS row to WORK-LIST.md + update LAST_WORK_ID
124
112
  9. log_work PLAN "Requirement.md, PLAN.md, TASK-00.md created (assumed)"
125
113
  10. Present deliverable summary to user and request approval (integrated requirement + design review)
126
114
  11. Return dispatch XML. **Invocation is performed by Main Claude.**
@@ -140,7 +128,7 @@ Requirement complexity assessment:
140
128
  1. mkdir works/WORK-NN/
141
129
  2. log_work INIT "WORK-NN created — Planner delegation"
142
130
  3. Create Requirement.md → § 3-4
143
- 4. Add IN_PROGRESS to WORK-LIST.md
131
+ 4. Add IN_PROGRESS row to WORK-LIST.md + update LAST_WORK_ID
144
132
  5. log_work REF "References: ..."
145
133
  6. Present Requirement.md summary to user and request planning approval
146
134
  7. Return Planner dispatch XML. **Invocation is performed by Main Claude.**
@@ -152,21 +140,12 @@ Requirement complexity assessment:
152
140
  ### 3-8. Output Language Rule
153
141
 
154
142
  → Priority rules: see `shared-prompt-sections.md` § 1
143
+ → Locale detection: see `shared-prompt-sections.md` § 9
155
144
 
156
145
  Specifier-specific rules:
157
146
  - Pass resolved language via dispatch `<context><language>` field
158
147
  - Write both Requirement.md and PLAN.md in resolved language
159
148
 
160
- Locale detection:
161
- ```
162
- 1. CLAUDE.md → check "Language: xx"
163
- 2. If not found, ask user for language
164
- 3. If not found, auto-detect system locale
165
- - Windows: powershell -c "[CultureInfo]::CurrentCulture.TwoLetterISOLanguageName"
166
- - Linux/Mac: locale | grep LANG | grep -oP '[a-z]{2}' | head -1
167
- - Fallback: "en"
168
- ```
169
-
170
149
  ---
171
150
 
172
151
  ## 4. Constraints and Prohibitions
@@ -191,9 +170,9 @@ Locale detection:
191
170
  - Auto mode only when "proceed automatically" is explicitly stated (valid only within current WORK)
192
171
 
193
172
  ### WORK-LIST.md Rules
194
- → see `.claude/agents/shared-prompt-sections.md` § 8
173
+ → see `{REFERENCES_DIR}/shared-prompt-sections.md` § 8
195
174
 
196
- - On WORK creation: add `IN_PROGRESS`
175
+ - On WORK creation: add `IN_PROGRESS` row + update `LAST_WORK_ID` header
197
176
 
198
177
  ### Filename Rules
199
178
  - TASK filenames: `TASK-XX.md` format
@@ -33,12 +33,14 @@ Verifies the results of TASKs completed by the Builder, checking build, lint, te
33
33
 
34
34
  ### 3-1. STARTUP — Read Reference Files Immediately (REQUIRED)
35
35
 
36
+ **Resolve REFERENCES_DIR**: Check your input for `REFERENCES_DIR=...` line or `<references-dir>` XML element. Use that absolute path. If not provided, default to `.claude/agents`.
37
+
36
38
  | File | Purpose |
37
39
  |------|---------|
38
- | `.claude/agents/shared-prompt-sections.md` | Common rules |
39
- | `.claude/agents/xml-schema.md` | XML communication format |
40
- | `.claude/agents/context-policy.md` | Sliding Window rules |
41
- | `.claude/agents/work-activity-log.md` | Activity Log rules (log_work function, STAGE table) |
40
+ | `{REFERENCES_DIR}/shared-prompt-sections.md` | Common rules |
41
+ | `{REFERENCES_DIR}/xml-schema.md` | XML communication format |
42
+ | `{REFERENCES_DIR}/context-policy.md` | Sliding Window rules |
43
+ | `{REFERENCES_DIR}/work-activity-log.md` | Activity Log rules (log_work function, STAGE table) |
42
44
 
43
45
  ### 3-2. XML Input Parsing
44
46
 
@@ -46,7 +48,7 @@ Verifies the results of TASKs completed by the Builder, checking build, lint, te
46
48
 
47
49
  ### 3-3. Step 0: Progress File Gate (CRITICAL)
48
50
 
49
- → Gate conditions: see `file-content-schema.md` § 3 (file exists + Status=COMPLETED + Files changed)
51
+ → Gate conditions: see `shared-prompt-sections.md` § 12
50
52
 
51
53
  On CRITICAL failure, halt immediately. Cannot proceed to subsequent steps.
52
54
 
@@ -8,6 +8,7 @@ XML communication format definition for uc-taskmanager agents.
8
8
 
9
9
  ```xml
10
10
  <dispatch to="{receiver}" work="{WORK_ID}" task="{TASK_ID}" execution-mode="{direct|pipeline|full}">
11
+ <references-dir>{absolute path to references directory}</references-dir>
11
12
  <context>
12
13
  <project>{project name}</project>
13
14
  <language>{lang_code}</language>
package/bin/cli.mjs CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node
2
2
 
3
3
  import { createInterface } from 'node:readline';
4
4
  import { VERSION, SUPPORTED_LANGS } from '../lib/constants.mjs';
package/lib/constants.mjs CHANGED
@@ -25,6 +25,9 @@ export const AGENT_FILES = [
25
25
  ];
26
26
 
27
27
  export function getAgentsSrcDir(lang) {
28
+ if (lang === 'en') {
29
+ return join(__dirname, '..', 'agents');
30
+ }
28
31
  return join(__dirname, '..', 'agents', lang);
29
32
  }
30
33
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uctm",
3
- "version": "1.3.0",
3
+ "version": "1.3.2",
4
4
  "description": "Universal Claude Task Manager — SDD-based task pipeline subagent system for Claude Code CLI",
5
5
  "type": "module",
6
6
  "bin": {
@@ -9,8 +9,7 @@
9
9
  "files": [
10
10
  "bin/",
11
11
  "lib/",
12
- "agents/ko/",
13
- "agents/en/",
12
+ "agents/",
14
13
  ".agent/"
15
14
  ],
16
15
  "engines": {