@ericrisco/rsc 1.1.6 → 1.2.0
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/README.md +62 -4
- package/manifest.json +834 -2
- package/package.json +3 -2
- package/schema/ecc-originality.json +16 -0
- package/schema/ecc-originality.u64 +0 -0
- package/scripts/build-manifest.js +43 -3
- package/scripts/doctor.js +47 -1
- package/scripts/install-apply.js +148 -31
- package/scripts/lib/capabilities.js +21 -0
- package/scripts/lib/manifest-file.js +4 -1
- package/scripts/originality-check.js +137 -0
- package/scripts/rsc.js +122 -14
- package/targets/agent-catalog.js +220 -0
- package/targets/agent-sources.json +48 -0
- package/targets/agents.js +61 -13
- package/targets/commands.js +212 -0
- package/targets/memory.js +276 -0
- package/targets/opencode-memory-plugin.js +65 -0
- package/targets/session-memory-adapter.mjs +117 -0
- package/targets/session-memory-core.mjs +477 -0
- package/targets/session-memory.mjs +27 -0
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
<img src="https://raw.githubusercontent.com/ericrisco/rsc-harness/main/site/og.png" alt="rsc — your agent needs a memory (02-DOCS/, or it invents what it cannot remember), arms (01-TOOLS/, or it never touches your database), a trade (272 skills, or it guesses how the job is done), and reflexes (deterministic hooks, or it forgets the rule mid-session). One meta-harness for 17 coding assistants." width="960">
|
|
4
4
|
|
|
5
|
-
# `rsc` — 272
|
|
5
|
+
# `rsc` — 272 skills, 33 agents, one CLI
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/@ericrisco/rsc)
|
|
8
8
|
[](https://www.npmjs.com/package/@ericrisco/rsc)
|
|
@@ -75,6 +75,12 @@ one is the opposite bet:
|
|
|
75
75
|
- **Not code-only.** First-class support for running a *company*: bookkeeping,
|
|
76
76
|
invoicing, hiring, GDPR, pitch decks, SEO, a YouTube/TikTok/LinkedIn presence —
|
|
77
77
|
each wired to a `02-DOCS/` knowledge loop that learns from your own results.
|
|
78
|
+
- **Specialists follow the stack.** The four base agents stay small; installing a
|
|
79
|
+
supported stack adds only its reviewer and build resolver. `rsc add go`, for
|
|
80
|
+
example, adds the Go pair without pulling reviewers for every other language.
|
|
81
|
+
- **A new local session continues the old one.** Claude Code, Codex, Gemini CLI
|
|
82
|
+
and OpenCode load a bounded checkpoint for the current branch and worktree at
|
|
83
|
+
session start. Cursor desktop uses an assisted read-before-action fallback.
|
|
78
84
|
- **Honestly good.** Every skill was built by a research → spec → implement →
|
|
79
85
|
*adversarial review* pipeline and had to clear an objective rubric
|
|
80
86
|
(`scripts/skill-rubric.md`, written *before* any skill existed). The bar was
|
|
@@ -85,6 +91,30 @@ over: you start with a tiny floor and grow one piece at a time.
|
|
|
85
91
|
|
|
86
92
|
---
|
|
87
93
|
|
|
94
|
+
## New sessions pick up the latest local work
|
|
95
|
+
|
|
96
|
+
On supported local targets, rsc checkpoints observable repository state at safe
|
|
97
|
+
boundaries: branch, worktree, HEAD, changed paths, commits and SDD ledger status.
|
|
98
|
+
When a new session opens in the same checkout, that state is injected before the
|
|
99
|
+
first agent action. A completed edit is preserved even if the previous client
|
|
100
|
+
closed before its normal session-end event.
|
|
101
|
+
|
|
102
|
+
- **Full:** Claude Code, Codex, Gemini CLI and OpenCode. Codex asks you to inspect
|
|
103
|
+
and trust the project hook once with `/hooks`; until then `doctor` reports that
|
|
104
|
+
trust is still required.
|
|
105
|
+
- **Assisted:** Cursor desktop. Its start hook is fire-and-forget, so rsc also
|
|
106
|
+
installs a local always-on rule that performs the read before acting.
|
|
107
|
+
- **Never cloud:** Cursor Cloud, Codex Cloud, remote agents, cloud storage and
|
|
108
|
+
synchronization are intentionally unsupported. The memory runtime makes no
|
|
109
|
+
network request.
|
|
110
|
+
|
|
111
|
+
The journal never stores prompts, responses, tool output, file contents or
|
|
112
|
+
secrets. It stays in a git-excluded project-local path, retains 30 days, and
|
|
113
|
+
injects at most 4,096 bytes. Disable every memory surface for a project with
|
|
114
|
+
`rsc memory off`; re-enable it with `rsc memory on`.
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
88
118
|
## Install
|
|
89
119
|
|
|
90
120
|
```bash
|
|
@@ -130,6 +160,9 @@ Everything stays **in the project**, and the real skill files are written
|
|
|
130
160
|
**once** to `.rsc/skills/<id>/`. Each assistant you pick gets a lightweight
|
|
131
161
|
symlink back to that shared base — no copy is duplicated across IDEs. (If the
|
|
132
162
|
filesystem can't symlink, it falls back to a real copy automatically.)
|
|
163
|
+
On targets with file-based agents, the four base agents are installed too;
|
|
164
|
+
stack specialists remain selective. Native command targets receive only entry
|
|
165
|
+
points whose backing skill, agent or local-memory capability actually exists.
|
|
133
166
|
|
|
134
167
|
---
|
|
135
168
|
|
|
@@ -192,8 +225,14 @@ rsc install --profile full # everything (all 272 skills)
|
|
|
192
225
|
rsc install --profile full --without go
|
|
193
226
|
rsc consult "I want to launch a SaaS" # recommend only, no install
|
|
194
227
|
rsc registry refresh # write .rsc/skill-registry.{json,md}
|
|
195
|
-
rsc list #
|
|
196
|
-
rsc
|
|
228
|
+
rsc list # installed skills, agents and commands
|
|
229
|
+
rsc capabilities # installed/available surfaces + memory mode
|
|
230
|
+
rsc doctor # health, missing backing, hooks and local memory
|
|
231
|
+
rsc memory status # full / assisted / unsupported / degraded
|
|
232
|
+
rsc memory save --session handoff # force a deterministic local checkpoint
|
|
233
|
+
rsc memory resume # print this branch/worktree continuation
|
|
234
|
+
rsc memory learn --text "…" --evidence "…" --confidence 0.8 --approve
|
|
235
|
+
rsc memory off # disable hooks, commands and injection project-wide
|
|
197
236
|
rsc sync --target claude,codex # refresh managed skills/hooks from the current package version
|
|
198
237
|
rsc backups # list project-local snapshots
|
|
199
238
|
rsc restore latest --dry-run # preview restoring the newest snapshot
|
|
@@ -221,7 +260,8 @@ The harness travels by git, but not all of it — and the split is the point.
|
|
|
221
260
|
|
|
222
261
|
| | Why |
|
|
223
262
|
| --- | --- |
|
|
224
|
-
| `.rsc/` | Machine state: hook scripts, seals, logs |
|
|
263
|
+
| `.rsc/` | Machine state: hook scripts, seals, logs and fallback session memory |
|
|
264
|
+
| `02-DOCS/raw/worklog/.rsc-memory/` | Preferred session journal when a local wiki exists; protected with git's local exclude |
|
|
225
265
|
| The skill entries rsc manages | Symlinks on macOS/Linux, real copies on Windows — two incompatible shapes of one thing |
|
|
226
266
|
|
|
227
267
|
Whoever clones runs **one command** and ends up with the same harness:
|
|
@@ -486,6 +526,24 @@ duplicated. The wizard asks which ones; `--target a,b` does it non-interactively
|
|
|
486
526
|
> `codex`, `zed`, `amp`, `opencode` and `jules` all share the one root
|
|
487
527
|
> `AGENTS.md`; the block is idempotent, so picking several writes it once.
|
|
488
528
|
|
|
529
|
+
The richer surfaces are intentionally narrower than skill support:
|
|
530
|
+
|
|
531
|
+
| Targets | Stack agents | Native commands | Local session continuation |
|
|
532
|
+
| --- | --- | --- | --- |
|
|
533
|
+
| Claude Code | yes | agent + memory entries; skills already invoke natively | full |
|
|
534
|
+
| Codex | yes | no separate project-command surface | full after `/hooks` trust |
|
|
535
|
+
| Cursor desktop | yes | yes | assisted |
|
|
536
|
+
| Gemini CLI, OpenCode | yes | yes | full |
|
|
537
|
+
| GitHub Copilot | yes | yes | unsupported |
|
|
538
|
+
| Junie, Kiro | yes | unsupported | unsupported |
|
|
539
|
+
| Windsurf, Cline, Roo | unsupported | yes | unsupported |
|
|
540
|
+
| Antigravity, Zed, Continue, Amp, Jules, Aider | unsupported | unsupported | unsupported |
|
|
541
|
+
|
|
542
|
+
`manifest.json` is the generated public inventory: 33 agents (4 base + 29
|
|
543
|
+
selective specialists) and 53 command entries (20 fixed + 33 stack aliases).
|
|
544
|
+
Unsupported means rsc writes nothing for that surface; it does not emulate a
|
|
545
|
+
provider feature with an unverified file.
|
|
546
|
+
|
|
489
547
|
---
|
|
490
548
|
|
|
491
549
|
## Skill format
|