@hanzlaa/rcode 4.3.2 โ 4.3.3
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/AGENTS.md +1 -1
- package/CONTRIBUTING.md +1 -0
- package/README.md +38 -9
- package/cli/install.js +14 -0
- package/dist/rcode.js +48 -48
- package/package.json +1 -1
- package/rcode/bin/rcode-hooks.cjs +347 -9
- package/rcode/commands/lens-audit.md +8 -6
- package/rcode/skills/SKILLS_INDEX.md +3 -2
- package/rcode/skills/actions/4-implementation/rcode-herdr-orchestration/SKILL.md +12 -0
- package/rcode/skills/actions/4-implementation/rcode-herdr-orchestration/rules/backlog-building.md +13 -0
- package/rcode/skills/actions/4-implementation/rcode-herdr-orchestration/rules/merge-strategy.md +17 -0
- package/rcode/skills/actions/4-implementation/rcode-herdr-orchestration/rules/orchestrator-rhythm.md +9 -0
- package/rcode/skills/actions/4-implementation/rcode-herdr-orchestration/rules/wave-design.md +21 -0
- package/rcode/skills/core/rcode-lazy/SKILL.md +149 -0
- package/rcode/templates/settings-hooks.json +12 -1
- package/rcode/workflows/do.md +1 -0
- package/rcode/workflows/enable-hooks.md +3 -2
- package/rcode/workflows/lens-audit.md +49 -8
- package/server/dashboard.js +6 -2
- package/server/lib/api.js +35 -20
- package/server/lib/html/client/components/OrchPanel.js +43 -2
- package/server/lib/html/client/components/dashboard/InProgress.js +5 -4
- package/server/lib/html/client/components/shared.js +14 -0
- package/server/lib/html/client/orchestrator.js +13 -0
- package/server/lib/html/client/views/KanbanView.js +33 -4
- package/server/lib/html/css.js +57 -3
- package/server/lib/scanner.js +40 -4
- package/server/orchestrator.js +42 -0
- package/rcode/skills/core/rcode-init/scripts/__pycache__/rcode_init.cpython-38.pyc +0 -0
- package/rcode/skills/core/rcode-init/scripts/tests/__pycache__/test_rcode_init.cpython-38.pyc +0 -0
package/AGENTS.md
CHANGED
|
@@ -24,7 +24,7 @@ If a user says "just keep going" or "don't stop until done", that authorization
|
|
|
24
24
|
|
|
25
25
|
- Follow [Conventional Commits](https://www.conventionalcommits.org/) format: `type(scope): subject`
|
|
26
26
|
- Types allowed: `feat`, `fix`, `docs`, `style`, `refactor`, `test`, `chore`, `perf`, `revert`
|
|
27
|
-
- Scopes allowed: `agents`, `skills`, `workflows`, `templates`, `dashboard`, `docs`, `config`, `github`, `commands`, `memory`, `brand`, `cli`, `ci`, `release`, `meta`, `tasks`, `migrations`, `refs`, `state`, `hooks`, `install`, `parity`, `triggers`, `dogfood`, `namespace`, `planning`, `insights`, `help`, `roadmap`, `session`, `audits`, `execute`, `executor`, `plan`, `planner`, `readme`, `sync`, `sprint`, `agent-exp`, `extensibility`, `lens-audit`, `tiers`, `build`, `council`, `doctor`, `postinstall`, `progress`, `security`, `tools`, `uninstall`, `update`, `test`, `changelog`, `scopes`, `phases`, `references`, `kanban`, `orchestrator`, `orchpanel`, `status`, `bin`, `brain`, `dogfeed`, `new-project`, `package`, `rcode-tools`, `rihal-tools`, `team`, `usp`, `v4`, `observability`, `audit`, `agent-rules`, `cursor`, `i18n`, `phase`, `scaffold`, `campaign`, `ship`, plus numeric phase/sprint scopes (e.g. `docs(15)`, `feat(8.3)`)
|
|
27
|
+
- Scopes allowed: `agents`, `skills`, `workflows`, `templates`, `dashboard`, `docs`, `config`, `github`, `commands`, `memory`, `brand`, `cli`, `ci`, `release`, `meta`, `tasks`, `migrations`, `refs`, `state`, `hooks`, `install`, `parity`, `triggers`, `dogfood`, `namespace`, `planning`, `insights`, `help`, `roadmap`, `session`, `audits`, `execute`, `executor`, `plan`, `planner`, `readme`, `sync`, `sprint`, `agent-exp`, `extensibility`, `lens-audit`, `tiers`, `build`, `council`, `doctor`, `postinstall`, `progress`, `security`, `tools`, `uninstall`, `update`, `test`, `changelog`, `scopes`, `phases`, `references`, `kanban`, `orchestrator`, `orchpanel`, `status`, `bin`, `brain`, `dogfeed`, `new-project`, `package`, `rcode-tools`, `rihal-tools`, `team`, `usp`, `v4`, `observability`, `audit`, `agent-rules`, `cursor`, `i18n`, `phase`, `scaffold`, `campaign`, `ship`, `getting-started`, plus numeric phase/sprint scopes (e.g. `docs(15)`, `feat(8.3)`)
|
|
28
28
|
- Subject: lowercase first letter, imperative mood, no trailing period, under 72 chars
|
|
29
29
|
- **NEVER add Claude/AI attribution to commit messages.** No "Generated with Claude Code", no "Co-Authored-By: Claude", no "๐ค Generated". The user does not want this.
|
|
30
30
|
- **NEVER use `--no-verify`** to bypass hooks. If hooks fail, fix the underlying issue.
|
package/CONTRIBUTING.md
CHANGED
|
@@ -279,6 +279,7 @@ We use [Conventional Commits](https://www.conventionalcommits.org/) format. The
|
|
|
279
279
|
- `templates` โ memory bank or pitch templates
|
|
280
280
|
- `dashboard` โ Majlis/Diwan server
|
|
281
281
|
- `docs` โ README, METHODOLOGY, SKILLS_INDEX, USER-GUIDE, FAQ
|
|
282
|
+
- `getting-started` โ the `docs/getting-started.md` onboarding guide
|
|
282
283
|
- `config` โ team.yaml, config.yaml
|
|
283
284
|
- `github` โ CI/CD, issue templates, PR templates
|
|
284
285
|
- `cli` โ `cli/*.js` and `rcode/bin/rcode-tools.cjs`
|
package/README.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
<div dir="rtl">ุทุฑููุฉ ุฑุญุงู</div>
|
|
4
4
|
|
|
5
|
+
<p align="center"><img src="brand/hero-receipt.png" alt="rcode benchmark output: 497 tests, 0 failing ยท 45 agents, 116 commands ยท 1 runtime dependency" width="760"></p>
|
|
6
|
+
|
|
7
|
+
### 497 tests. Zero failing. Read the script.
|
|
8
|
+
|
|
9
|
+
*An engineering org in a folder โ and every number below is reproducible with one command (`node benchmarks/facts.cjs`). Marketing rounds up; this repo ships the receipts.*
|
|
10
|
+
|
|
5
11
|
> **A curated composition of the best AI-development practices โ shipped as files.** Surgical-change discipline, parallel-agent orchestration, persistent Memory Bank patterns, phase-driven planning โ packaged as one workflow for Claude Code power users. No multi-agent harness. No vector DB. Your IDE keeps the methodology; the project keeps the memory.
|
|
6
12
|
|
|
7
13
|
```bash
|
|
@@ -10,10 +16,10 @@ pnpm dlx @hanzlaa/rcode install
|
|
|
10
16
|
|
|
11
17
|
[](https://www.npmjs.com/package/@hanzlaa/rcode)
|
|
12
18
|
[](https://www.npmjs.com/package/@hanzlaa/rcode)
|
|
13
|
-
[](https://github.com/hanzlahabib/rcode/actions/workflows/test.yml)
|
|
14
20
|
[](LICENSE)
|
|
15
21
|
|
|
16
|
-
Status: `@hanzlaa/rcode` v4.
|
|
22
|
+
Status: `@hanzlaa/rcode` v4.3.2 on npm. 497 automated tests (100% green) across 61 files ยท 45 agents ยท 116 commands ยท 129 workflows ยท 88 skills ยท **1 runtime dependency**. Every number here is reproducible โ run `node benchmarks/facts.cjs`. Actively dogfooded on real projects every week.
|
|
17
23
|
|
|
18
24
|
---
|
|
19
25
|
|
|
@@ -31,18 +37,20 @@ That means two things:
|
|
|
31
37
|
- **The dogfood loop is the test suite.** Every release is run against fresh projects (calories-counter RN, reelspeed services) before publish. Bugs surface as GitHub issues, get fixed, ship.
|
|
32
38
|
- **The tool grows from real friction, not theory.** Half the v3.6.20 fixes came from a single dogfeed session where 3 parallel agents found 50+ real bugs in 4 hours.
|
|
33
39
|
|
|
34
|
-
If you're a solo dev or small team using Claude Code (or Cursor,
|
|
40
|
+
If you're a solo dev or small team using Claude Code (or Cursor, Codex, VS Code), rcode gives you the **scaffolding a 10-person engineering org would have**: code review standards, sprint cadence, decision archives, onboarding context โ without hiring the org.
|
|
35
41
|
|
|
36
42
|
---
|
|
37
43
|
|
|
38
44
|
## What it actually is
|
|
39
45
|
|
|
46
|
+
<p align="center"><img src="brand/hero-org-in-folder.png" alt="rcode is an engineering org in a folder: agents, commands, workflows, and skills as plain markdown" width="760"></p>
|
|
47
|
+
|
|
40
48
|
Three layers, specialised for software delivery:
|
|
41
49
|
|
|
42
50
|
| Layer | What lives here | Example |
|
|
43
51
|
|-------|-----------------|---------|
|
|
44
52
|
| **Memory** | `.rcode/memory/` โ git-tracked markdown, lossless distillates | "We chose Postgres over Mongo because of JSON-B + RLS โ see ADR-007" |
|
|
45
|
-
| **Skills** | `rcode/skills/` โ
|
|
53
|
+
| **Skills** | `rcode/skills/` โ 88 phrase-activated playbooks | `rcode-sprint-checker` validates file/symbol refs before execute |
|
|
46
54
|
| **Workflows** | `rcode/workflows/` โ orchestrated multi-step paths | `/rcode-plan` runs research โ planner โ checker โ confirm |
|
|
47
55
|
|
|
48
56
|
Single agent navigates the structure. No LangChain, no AutoGen, no orchestrator process. Just folders the model can read.
|
|
@@ -84,10 +92,10 @@ What you won't get:
|
|
|
84
92
|
|
|
85
93
|
I dogfood this hard, so the honest version:
|
|
86
94
|
|
|
87
|
-
- **Not a chatbot wrapper.** Zero opinions about which LLM. Works with Claude Code, Cursor,
|
|
95
|
+
- **Not a chatbot wrapper.** Zero opinions about which LLM. Works with Claude Code, Cursor, Codex, VS Code, Antigravity, Windsurf. Bring your own keys.
|
|
88
96
|
- **Not a multi-agent framework.** No agent-to-agent message bus. One agent reads markdown structure and navigates it.
|
|
89
97
|
- **Not a no-code tool.** You will read markdown files. You will write commit messages. You will type slash commands.
|
|
90
|
-
- **Not finished.** v4 is solid for solo and small-team work. Open issues are tracked at the [issues page](https://github.com/hanzlahabib/
|
|
98
|
+
- **Not finished.** v4 is solid for solo and small-team work. Open issues are tracked at the [issues page](https://github.com/hanzlahabib/rcode/issues) โ most P1 bugs get fixed within 48 hours of a dogfeed run.
|
|
91
99
|
- **Not replacing senior engineers.** It gives you their scaffolding (review standards, sprint hygiene, decision archives). You still need judgment for the hard calls.
|
|
92
100
|
|
|
93
101
|
---
|
|
@@ -100,13 +108,34 @@ I dogfood this hard, so the honest version:
|
|
|
100
108
|
| **Specialist agents** | 1 generalist | Define in Python | Define in Python | 45 shipped |
|
|
101
109
|
| **Install** | IDE extension | `pip install` + config | `pip install` + code | `pnpm dlx` โ one command |
|
|
102
110
|
| **Infrastructure** | Cloud API | Python server | Vector store + indexer | Zero โ pure files |
|
|
103
|
-
| **IDE lock-in** | Cursor only | Framework-specific | Framework-specific | Claude / Cursor /
|
|
111
|
+
| **IDE lock-in** | Cursor only | Framework-specific | Framework-specific | Claude / Cursor / Codex / VS Code / Antigravity / Windsurf |
|
|
104
112
|
| **Auditability** | Chat scrollback | Tracing dashboard | Tracing dashboard | `git log` |
|
|
105
113
|
|
|
106
114
|
The point isn't "I beat LangChain." The point is **you don't need LangChain for software delivery**. You need a methodology that survives session resets, and a methodology lives in files.
|
|
107
115
|
|
|
108
116
|
---
|
|
109
117
|
|
|
118
|
+
## By the numbers
|
|
119
|
+
|
|
120
|
+
> **Marketing teams round up. This repo ships the script.** Every figure below is computed by [`benchmarks/facts.cjs`](benchmarks/facts.cjs) from files on disk and local CLI timings โ no network, no LLM calls, no hand-entered numbers. Clone the repo and run it:
|
|
121
|
+
>
|
|
122
|
+
> ```bash
|
|
123
|
+
> node benchmarks/facts.cjs
|
|
124
|
+
> ```
|
|
125
|
+
|
|
126
|
+
| Metric | Value | Why it's not a vanity number |
|
|
127
|
+
|---|---|---|
|
|
128
|
+
| **Portable methodology corpus** | **94,481 lines** of markdown | A 10-person eng org's playbooks (agents + commands + workflows + skills + references) โ as files you own and grep, not a SaaS you rent. |
|
|
129
|
+
| **Automated tests** | **497**, 100% passing across 61 files | The methodology is *guarded*, not vibes. CI runs them on every push; `node --test` reproduces locally in seconds. |
|
|
130
|
+
| **Tested CLI engine** | **9,005 lines** (`rcode-tools.cjs` + `lib/`) | The deterministic brain โ routing, state, planning math โ is real code under test, not prompt soup. |
|
|
131
|
+
| **Runtime dependencies** | **1** (`ws`, for the dashboard socket) | The view-only dashboard is pure Node stdlib. Almost nothing to audit, nothing to CVE-scan, nothing to break on `npm install`. |
|
|
132
|
+
| **Specialist agents / commands / workflows / skills** | **45 / 116 / 129 / 88** | An entire engineering org, phrase-activated, that travels with you across Claude Code, Cursor, Codex, VS Code, Antigravity, Windsurf. |
|
|
133
|
+
| **Core-op latency** | **~33 ms**, **0 LLM tokens** (best-of-7) | Intent routing, state reads, and milestone-health are deterministic *local* compute โ a few ms over Node's own cold-start floor. The orchestration layer doesn't burn API tokens on bookkeeping the way pure-LLM agent frameworks do. |
|
|
134
|
+
|
|
135
|
+
**The headline:** an entire software-delivery methodology โ 94k lines of it โ guarded by 497 tests, riding on a single runtime dependency, with an orchestration brain that costs **zero tokens** to think. Not a viral prompt. A system you can verify line by line.
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
110
139
|
## Quickstart
|
|
111
140
|
|
|
112
141
|
```bash
|
|
@@ -159,9 +188,9 @@ The non-goal: building yet another agent framework. There are enough. rcode stay
|
|
|
159
188
|
|
|
160
189
|
## Honest state of things
|
|
161
190
|
|
|
162
|
-
- **v4.
|
|
191
|
+
- **v4.3.2** is the current release โ Memory Bank now ships populated by default, brain-pull is live, and 50+ bug fixes landed from the most recent 3-project dogfeed run.
|
|
163
192
|
- **Open issues**: ~50 โ half are feature requests, the rest are backlog bugs ranked by severity.
|
|
164
|
-
- **Test suite**:
|
|
193
|
+
- **Test suite**: 497 automated tests across 61 files, 100% pass on every release (run `node --test`). Coverage is structural (compliance + artifact schema + workflow behavioral), not line-coverage.
|
|
165
194
|
- **Real users**: I run it on 4 projects daily. A handful of others run it on theirs. If you find a bug, file it โ most P1s ship within 48 hours.
|
|
166
195
|
- **Funding**: none. This is solo work. If your company wants commercial support, [email me](mailto:hanzla.dev@gmail.com).
|
|
167
196
|
|
package/cli/install.js
CHANGED
|
@@ -158,6 +158,9 @@ const ConfigSchema = z.object({
|
|
|
158
158
|
git: z.object({
|
|
159
159
|
branching_strategy: z.string().optional(),
|
|
160
160
|
}).optional(),
|
|
161
|
+
// Declared for validation only โ default ('every') lives in the hook (rcode-hooks.cjs prompt-router).
|
|
162
|
+
// Install does NOT write this key; the feature stays dormant until hooks are opted into via /rcode-enable-hooks.
|
|
163
|
+
prompt_nudge: z.enum(['every', 'once-per-intent', 'when-stale', 'off']).optional(),
|
|
161
164
|
}).passthrough();
|
|
162
165
|
|
|
163
166
|
/**
|
|
@@ -2111,6 +2114,13 @@ async function installInner(opts) {
|
|
|
2111
2114
|
// Codex installs to .claude/ and AGENTS.md; lifecycle via rcode workflow bridge.
|
|
2112
2115
|
if (opts.ides.includes('codex')) {
|
|
2113
2116
|
console.log(' ' + dim('Codex โ installing to .claude/ paths + AGENTS.md. Use `rcode workflow show <name>` to feed workflows to Codex.'));
|
|
2117
|
+
// #908: /rcode-* slash commands in Codex are wired via the UserPromptSubmit
|
|
2118
|
+
// hook in ~/.codex/hooks.json, which installNativeHomeSlashCommands() only
|
|
2119
|
+
// writes on a GLOBAL install. A project-local install silently leaves Codex
|
|
2120
|
+
// with no working slash commands โ warn instead of implying success.
|
|
2121
|
+
if (!opts.global) {
|
|
2122
|
+
console.log(' ' + warn('Codex /rcode-* slash commands need a GLOBAL install โ re-run with `--global` to wire the ~/.codex/hooks.json router. This project-local install does NOT enable them.'));
|
|
2123
|
+
}
|
|
2114
2124
|
}
|
|
2115
2125
|
|
|
2116
2126
|
// Gemini IDE support deferred
|
|
@@ -2128,6 +2138,10 @@ async function installInner(opts) {
|
|
|
2128
2138
|
if (opts.ides.includes('antigravity')) {
|
|
2129
2139
|
console.log(' ' + warn('Antigravity install is experimental. Files land at .antigravity/rcode/{agents,commands}/.'));
|
|
2130
2140
|
console.log(' ' + dim('If Antigravity expects a different path, adjust .rcode/config.yaml and re-run.'));
|
|
2141
|
+
// #908: same as Codex โ the UserPrompt hook is only wired on a global install.
|
|
2142
|
+
if (!opts.global) {
|
|
2143
|
+
console.log(' ' + warn('Antigravity /rcode-* slash commands need a GLOBAL install โ re-run with `--global`. This project-local install does NOT wire the hook.'));
|
|
2144
|
+
}
|
|
2131
2145
|
}
|
|
2132
2146
|
|
|
2133
2147
|
// Validate requested modules exist
|