@hanzlaa/rcode 2.6.3 → 2.6.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hanzlaa/rcode",
3
- "version": "2.6.3",
3
+ "version": "2.6.4",
4
4
  "description": "Rihal Code (rcode) — installable context-brain for Rihalians. 43 agents, 99 slash commands, 56 skills, pullable Rihal standards. Unified install for Claude Code, Cursor, and Gemini.",
5
5
  "main": "cli/index.js",
6
6
  "bin": {
@@ -0,0 +1,129 @@
1
+ # Verb Dictionary — multilingual intent matching
2
+
3
+ **Purpose:** single source of truth for action verbs across all Rihal workflows that do intent matching. Without this, each workflow's matcher diverges and Roman Urdu / Hindi instructions silently miss.
4
+
5
+ **How to use from a workflow:** include this file via `@.rihal/references/verb-dictionary.md` and reference categories by name (e.g. *"verbs from §Create"*) instead of restating English-only lists inline.
6
+
7
+ ---
8
+
9
+ ## §Create — make / start / new / open
10
+
11
+ Match if `$QUESTION` contains any of these (case-insensitive):
12
+
13
+ - **English:** `create`, `make`, `start`, `build`, `set up`, `setup`, `kick off`, `spin up`, `open`, `begin`, `draft`, `generate`, `produce`, `initialize`, `init`, `bootstrap`, `establish`, `form`
14
+ - **Roman Urdu / Hindi:** `bnao`, `banao`, `bana do`, `bnado`, `banaa`, `banade`, `banayein`, `banadijiye`, `shuru karo`, `shuro karo`, `start karo`, `create karo`, `naya banao`, `nya banao`, `draft karo`, `banalo`, `khol do`, `khol lo`, `kholiye`
15
+ - **Arabic transliteration:** `ansha'`, `inshaa'`, `a3mal`, `ibda'`
16
+
17
+ ## §Add — append / include / attach / extend
18
+
19
+ - **English:** `add`, `append`, `include`, `attach`, `insert`, `extend`, `expand`, `register`
20
+ - **Roman Urdu / Hindi:** `add karo`, `daal do`, `daalo`, `daal de`, `jor do`, `jor de`, `lagao`, `lagado`, `shamil karo`, `shaamil karo`, `barhao`
21
+ - **Arabic transliteration:** `azif`, `dam'`
22
+
23
+ ## §Plan — design / scope / outline
24
+
25
+ - **English:** `plan`, `design`, `draft`, `scope`, `outline`, `architect`, `lay out`, `schedule`
26
+ - **Roman Urdu / Hindi:** `plan karo`, `design karo`, `sochlo`, `soch lo`, `layout banao`, `tarteeb do`, `tartib karo`
27
+ - **Arabic transliteration:** `khattit`, `tasmim`
28
+
29
+ ## §Execute — run / build / ship / implement / do
30
+
31
+ - **English:** `execute`, `run`, `build`, `ship`, `complete`, `do`, `implement`, `deliver`, `finish`, `wrap up`, `compile`
32
+ - **Roman Urdu / Hindi:** `chalao`, `chala do`, `run karo`, `kar do`, `kardo`, `kar lo`, `karlo`, `implement karo`, `mukammal karo`, `complete karo`, `khatam karo`, `pura karo`
33
+ - **Arabic transliteration:** `naffidh`, `aakmel`, `nafidh`
34
+
35
+ ## §Review — audit / check / inspect / verify / validate
36
+
37
+ - **English:** `review`, `audit`, `check`, `inspect`, `verify`, `validate`, `examine`, `assess`, `evaluate`
38
+ - **Roman Urdu / Hindi:** `dekho`, `dekh lo`, `dekhlo`, `check karo`, `audit karo`, `verify karo`, `validate karo`, `parkho`, `parakhh`, `mulahiza karo`, `nazar dalo`, `jaiza lo`
39
+ - **Arabic transliteration:** `raji'`, `tahaqqaq`, `dakhq`
40
+
41
+ ## §Show — list / display / get / fetch / see
42
+
43
+ - **English:** `show`, `list`, `display`, `get`, `fetch`, `see`, `view`, `print`, `output`, `summarize`
44
+ - **Roman Urdu / Hindi:** `dikhao`, `dikha do`, `dikhado`, `dikha de`, `list karo`, `batao`, `bata do`, `bata de`, `kholo`, `khol do`
45
+ - **Arabic transliteration:** `azhir`, `arini`, `aktub`
46
+
47
+ ## §Remove — delete / drop / undo / revert / kill
48
+
49
+ - **English:** `remove`, `delete`, `drop`, `undo`, `revert`, `rollback`, `kill`, `purge`, `uninstall`, `clear`, `wipe`, `erase`
50
+ - **Roman Urdu / Hindi:** `hatao`, `hata do`, `hatado`, `mita do`, `mita lo`, `mitao`, `delete karo`, `ulto`, `revert karo`, `nikalo`, `nikal do`, `khaali karo`
51
+ - **Arabic transliteration:** `ihdhif`, `azhil`, `imhu`
52
+
53
+ ## §Update — modify / change / edit / refresh / fix
54
+
55
+ - **English:** `update`, `modify`, `change`, `edit`, `refresh`, `fix`, `patch`, `tweak`, `adjust`, `correct`, `repair`
56
+ - **Roman Urdu / Hindi:** `update karo`, `badlo`, `badal do`, `badal de`, `change karo`, `edit karo`, `theek karo`, `theek kar do`, `thiek karo`, `fix karo`, `behtar karo`, `behter karo`, `improve karo`
57
+ - **Arabic transliteration:** `ghair`, `aslih`, `hadith`
58
+
59
+ ## §Pause — stop / wait / hold / cancel
60
+
61
+ - **English:** `pause`, `stop`, `wait`, `hold`, `cancel`, `abort`, `halt`, `freeze`, `defer`
62
+ - **Roman Urdu / Hindi:** `ruko`, `ruk jao`, `band karo`, `band kardo`, `cancel karo`, `roko`, `rok do`, `rok de`, `pause karo`, `wapas karo`
63
+ - **Arabic transliteration:** `tawaqaf`, `intazir`
64
+
65
+ ## §Resume — continue / pick up / restart
66
+
67
+ - **English:** `resume`, `continue`, `pick up`, `restart`, `re-run`, `replay`, `re-do`, `keep going`, `proceed`
68
+ - **Roman Urdu / Hindi:** `phir se shuru karo`, `aage barho`, `aage chalao`, `continue karo`, `wapas chalao`, `dobara chalao`, `dobara karo`
69
+ - **Arabic transliteration:** `astamir`, `i'ad`
70
+
71
+ ---
72
+
73
+ ## Scope nouns (paired with verbs to detect intent)
74
+
75
+ These are matched alongside §Create / §Add / §Plan verbs to determine the dispatch route.
76
+
77
+ | Scope noun | Aliases (English + Urdu) | Maps to (workflow) |
78
+ |---|---|---|
79
+ | milestone | `milestone`, `milestones`, `release`, `version`, `cycle` | `/rihal:new-milestone` |
80
+ | phase | `phase`, `phases` (singular intent — "add a phase") | `/rihal:add-phase` |
81
+ | story | `story`, `stories`, `user story`, `kahani` | `/rihal:create-story` |
82
+ | epic | `epic`, `epics`, `epics and stories` | `/rihal:create-epics-and-stories` |
83
+ | sprint | `sprint`, `iteration` | `/rihal:sprint-planning` |
84
+ | PRD | `PRD`, `requirements doc`, `product requirements` | `/rihal:create-prd` |
85
+ | roadmap | `roadmap`, `plan` (top-level) | `/rihal:create-milestone` |
86
+ | council | `council`, `majlis`, `panel`, `mashwara`, `salah` | `/rihal:council` |
87
+ | plan (verb form — "plan phase N") | `plan` | `/rihal:plan` |
88
+ | story (impl) | `dev story`, `implement story`, `build story` | `/rihal:dev-story` |
89
+ | brainstorm | `brainstorm`, `ideas`, `sochain`, `sochna` | `/rihal:brainstorm` |
90
+ | review (code) | `code review`, `karpathy`, `check my diff` | `/rihal:karpathy-audit` / `/rihal:code-review` |
91
+ | debug | `debug`, `fix`, `bug`, `error`, `crash`, `kharab`, `theek` | `/rihal:debug` |
92
+
93
+ ---
94
+
95
+ ## Usage examples
96
+
97
+ **From a workflow (e.g. `do.md`):**
98
+
99
+ ```markdown
100
+ ## Step: Match intent
101
+
102
+ Apply §Create + scope-noun match per @.rihal/references/verb-dictionary.md.
103
+
104
+ If `$QUESTION` contains any verb from §Create AND any scope noun from the
105
+ table above, dispatch directly to the mapped workflow without an
106
+ ambiguity prompt.
107
+
108
+ Example: "milestone bnao" → §Create matches "bnao", scope matches
109
+ "milestone" → /rihal:new-milestone (with state-aware redirect to
110
+ /rihal:add-phase if a milestone is already active).
111
+ ```
112
+
113
+ **From an agent file (e.g. `rihal-codebase-mapper.md`) when interpreting the orchestrator prompt:**
114
+
115
+ ```markdown
116
+ @.rihal/references/verb-dictionary.md
117
+
118
+ ## Workflow
119
+
120
+ Recognize §Show / §Review / §Update verbs against the codebase. Honor
121
+ multilingual phrasing — never silently fall through because a Roman
122
+ Urdu instruction was the verb form.
123
+ ```
124
+
125
+ ---
126
+
127
+ ## Maintenance
128
+
129
+ Every entry must be a verb actually observed in user input — not invented. When you discover a new phrasing that broke matching, add it to the relevant category here rather than to the consuming workflow's local list. Single source of truth.
@@ -1,44 +1,88 @@
1
1
  <purpose>
2
- Execute a trivial task inline without subagent overhead. No SPRINT.md, no Task spawning,
3
- no research, no plan checking. Just: understand → do → commit → log.
2
+ Execute small ad-hoc tasks with guarantees. Two real modes the workflow auto-detects:
4
3
 
5
- For tasks like: fix a typo, update a config value, add a missing import, rename a
6
- variable, commit uncommitted work, add a .gitignore entry, bump a version number.
4
+ - **Trivial inline** single 3-file change, finishes in 1-2 minutes, no planning needed.
5
+ - **Bulk-task auto-route** — when the input contains many tasks (numbered list with 5+ items, or several distinct bugs/asks), automatically route to /rihal:add-phase with the task list pre-extracted, so the user doesn't have to copy-paste their list a second time.
7
6
 
8
- Use /rihal:quick for anything that needs multi-step planning or research.
7
+ Closes the gap where /rihal:quick used to refuse + show a 4-option menu when given many tasks (forcing the user to re-enter the same list into another command).
9
8
  </purpose>
10
9
 
10
+ <required_reading>
11
+ @.rihal/references/verb-dictionary.md
12
+ </required_reading>
13
+
11
14
  <process>
12
15
 
13
16
  <step name="parse_task">
14
- Parse `$ARGUMENTS` for the task description.
17
+ Parse `$ARGUMENTS` for the task description. If empty, ask:
15
18
 
16
- If empty, ask:
17
19
  ```
18
- What's the quick fix? (one sentence)
20
+ What's the quick fix? (one sentence — or paste a bug list and I'll auto-route)
19
21
  ```
20
22
 
21
23
  Store as `$TASK`.
22
24
  </step>
23
25
 
24
- <step name="scope_check">
25
- **Before doing anything, verify this is actually trivial.**
26
+ <step name="bulk_detection" priority="first-match">
27
+ **Detect 'many tasks in one input'** auto-route instead of refusing.
28
+
29
+ Match if `$TASK` contains ANY of:
30
+
31
+ - 5+ numbered list items (`/^\s*\d+\.\s/m` with ≥ 5 matches)
32
+ - 5+ bullet items (`/^\s*[-*]\s/m` with ≥ 5 matches)
33
+ - 3+ "Bug Report:" / "Issue:" / "Severity:" headers
34
+ - 3+ separate "Status:" or "Priority:" lines
35
+ - > 60 lines total
36
+ - Contains the phrase "buht zada bugs" / "many bugs" / "list of bugs" / "bug list" / "saare bugs" / "all these bugs"
37
+
38
+ If matched, **AUTO-ROUTE to `/rihal:add-phase`** without asking. Do not refuse, do not show a menu, do not ask the user to repaste.
39
+
40
+ Procedure:
41
+
42
+ 1. Detect active milestone (per `do.md` state-aware logic):
43
+ ```bash
44
+ ACTIVE_MILESTONE=$(grep -m1 '^## Current Milestone' .planning/PROJECT.md 2>/dev/null | sed 's/^## Current Milestone[: ]*//' | xargs)
45
+ ```
46
+ 2. Generate a phase slug from the bulk content topic:
47
+ - If most items mention "bug" / "fix" / "broken" → `09-ui-bug-cleanup` (use next phase number)
48
+ - If most mention "feature" / "add" / "new" → `09-feature-batch`
49
+ - Otherwise → `09-task-batch`
50
+ 3. Print the auto-route banner:
51
+ ```
52
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
53
+ /rihal:quick — AUTO-ROUTING
54
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
55
+
56
+ Detected: {N} tasks in input — too many for inline.
57
+ Active milestone: {ACTIVE_MILESTONE or "none"}
58
+ Routing to: /rihal:add-phase {phase-slug}
59
+ Reason: bulk-detection threshold ({matched signal}) — auto-route avoids
60
+ refusing and forcing you to re-paste the list.
61
+ ```
62
+ 4. Dispatch `/rihal:add-phase {phase-slug}` and pass `$TASK` verbatim. The add-phase workflow uses the pre-extracted task list as the phase task list — no user re-entry needed.
63
+ 5. STOP this workflow — add-phase takes over from here.
64
+
65
+ If the bulk detection does NOT match, continue to scope_check.
66
+ </step>
26
67
 
27
- A task is trivial if it can be completed in:
68
+ <step name="scope_check">
69
+ **Lightweight trivial-task gate** for the inline path. Reasonable scope for inline:
28
70
  - ≤ 3 file edits
29
- - ≤ 1 minute of work
71
+ - ≤ 2 minutes of work
30
72
  - No new dependencies or architecture changes
31
- - No research needed
73
+ - No multi-file research needed
32
74
 
33
- If the task seems non-trivial (multi-file refactor, new feature, needs research),
34
- say:
75
+ If the task seems non-trivial but did NOT trigger bulk_detection above (e.g., a single complex task — not a list), redirect:
35
76
 
36
77
  ```
37
- This looks like it needs planning. Use /rihal:quick instead:
38
- /rihal:quick "{task description}"
78
+ This is a single task but looks non-trivial. Recommended:
79
+ /rihal:add-phase for multi-file refactor / new feature / structural change
80
+ /rihal:plan — when scope is clear, jump straight to a SPRINT.md plan
81
+
82
+ Or paste --force-inline at the end of your input to override and try inline anyway.
39
83
  ```
40
84
 
41
- And stop.
85
+ If `$TASK` contains `--force-inline`, skip this gate and continue.
42
86
  </step>
43
87
 
44
88
  <step name="execute_inline">
@@ -46,33 +90,30 @@ Do the work directly:
46
90
 
47
91
  1. Read the relevant file(s)
48
92
  2. Make the change(s)
49
- 3. Verify the change works (run existing tests if applicable, or do a quick sanity check)
93
+ 3. Verify (run existing tests if applicable, or quick sanity check)
50
94
 
51
- **No SPRINT.md.** Just do it.
95
+ **No SPRINT.md. No subagents. Just do it.**
52
96
  </step>
53
97
 
54
98
  <step name="commit">
55
- Commit the change atomically:
99
+ Commit atomically with conventional commit format (`fix:`, `feat:`, `docs:`, `chore:`, `refactor:`):
56
100
 
57
101
  ```bash
58
102
  git add -A
59
- git commit -m "fix: {concise description of what changed}"
103
+ git commit -m "{type}: {concise description of what changed}"
60
104
  ```
61
-
62
- Use conventional commit format: `fix:`, `feat:`, `docs:`, `chore:`, `refactor:` as appropriate.
63
105
  </step>
64
106
 
65
107
  <step name="log_to_state">
66
- If `.planning/STATE.md` exists, append to the "Quick Tasks Completed" table.
67
- If the table doesn't exist, skip this step silently.
108
+ If `.planning/STATE.md` exists with a "Quick Tasks Completed" table, append:
68
109
 
69
110
  ```bash
70
- # Check if STATE.md has quick tasks table
71
111
  if grep -q "Quick Tasks Completed" .planning/STATE.md 2>/dev/null; then
72
- # Append entry workflow handles the format
73
- echo "| $(date +%Y-%m-%d) | fast | $TASK | ✅ |" >> .planning/STATE.md
112
+ echo "| $(date +%Y-%m-%d) | quick | $TASK | ✅ |" >> .planning/STATE.md
74
113
  fi
75
114
  ```
115
+
116
+ Skip silently if the table doesn't exist.
76
117
  </step>
77
118
 
78
119
  <step name="done">
@@ -81,7 +122,7 @@ Report completion:
81
122
  ```
82
123
  ✅ Done: {what was changed}
83
124
  Commit: {short hash}
84
- Files: {list of changed files}
125
+ Files: {list of changed files}
85
126
  ```
86
127
 
87
128
  No next-step suggestions. No workflow routing. Just done.
@@ -90,16 +131,16 @@ No next-step suggestions. No workflow routing. Just done.
90
131
  </process>
91
132
 
92
133
  <guardrails>
93
- - NEVER spawn a Task/subagent — this runs inline
94
- - NEVER create SPRINT.md or SUMMARY.md files
95
- - NEVER run research or plan-checking
96
- - If the task takes more than 3 file edits, STOP and redirect to /rihal:quick
97
- - If you're unsure how to implement it, STOP and redirect to /rihal:quick
134
+ - NEVER spawn a Task/subagent — this runs inline (except via the add-phase auto-route, which is itself a workflow dispatch, not a Task spawn)
135
+ - NEVER create SPRINT.md or SUMMARY.md files directly (add-phase will, when bulk-routed)
136
+ - NEVER run research or plan-checking inline
137
+ - If bulk_detection matches, auto-route silently do not stop and ask
138
+ - If a single non-bulk task exceeds 3 file edits and the user did NOT pass `--force-inline`, redirect to /rihal:add-phase or /rihal:plan
98
139
  </guardrails>
99
140
 
100
141
  <success_criteria>
101
- - [ ] Task completed in current context (no subagents)
102
- - [ ] Atomic git commit with conventional message
142
+ - [ ] Bulk inputs are auto-routed to /rihal:add-phase without forcing the user to re-paste
143
+ - [ ] Trivial inputs are completed inline (single context, ≤3 files, conventional commit)
103
144
  - [ ] STATE.md updated if it exists
104
- - [ ] Total operation under 2 minutes wall time
145
+ - [ ] No self-referential redirects (the old quick.md redirected to /rihal:quick — that infinite loop is closed)
105
146
  </success_criteria>