@ericrisco/rsc 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.
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  <div align="center">
2
2
 
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">
3
+ <img src="https://raw.githubusercontent.com/ericrisco/rsc-harness/main/site/og.png" alt="rsc-harness — You decide what to build. rsc-harness builds your agent’s harness, following strict best practices instead of improvising a Frankenstein stack." width="960">
4
4
 
5
- # `rsc` — 272 skills, 33 agents, one CLI
5
+ # `rsc-harness` — You decide what to build. It builds your agent's harness.
6
6
 
7
7
  [![npm](https://img.shields.io/npm/v/@ericrisco/rsc?color=63d68a&labelColor=12161c&label=npm)](https://www.npmjs.com/package/@ericrisco/rsc)
8
8
  [![downloads](https://img.shields.io/npm/dm/@ericrisco/rsc?color=63d68a&labelColor=12161c&label=downloads)](https://www.npmjs.com/package/@ericrisco/rsc)
@@ -10,31 +10,50 @@
10
10
  [![license](https://img.shields.io/badge/license-MIT-63d68a?labelColor=12161c)](LICENSE)
11
11
  [![stars](https://img.shields.io/github/stars/ericrisco/rsc-harness?color=63d68a&labelColor=12161c)](https://github.com/ericrisco/rsc-harness/stargazers)
12
12
 
13
- **A self-recommending skill catalog for 17 coding assistants** — Claude Code,
14
- Codex, GitHub Copilot, Cursor, Gemini, Windsurf, Cline, Antigravity, Zed and more.
15
- Describe what you want in plain language. It reads your repo, installs *only* the
16
- skills that fit — one at a time — into every assistant you pick, and keeps them
17
- equipped as you work.
13
+ **You decide what to build. rsc-harness builds your agent’s harness.** Tell it whether you are
14
+ shipping software, running operations, researching, creating content, or mixing them. Its wizard
15
+ reads the project, applies strict best practices, and shows the exact harness plan before writing.
18
16
 
19
- From *"document my company"* to *"ship a FastAPI service"* to *"grow my YouTube
20
- channel"* — **272 skills across 23 domains**, every one researched against live
21
- 2025-2026 sources and **adversarially scored ≥ 8.5/10** before it shipped.
17
+ Give this URL to your agent:
22
18
 
23
- ```bash
24
- npx @ericrisco/rsc@latest onboard # interview → exact plan → explicit acceptance → verified install
19
+ ```text
20
+ Read https://ericrisco.github.io/rsc-harness/ and set up rsc for this project.
21
+ Ask me the onboarding questions, show me the exact plan, and wait for my acceptance before writing.
25
22
  ```
26
23
 
27
- <br>
24
+ Or start from the terminal:
28
25
 
29
- <img src="https://raw.githubusercontent.com/ericrisco/rsc-harness/main/site/meta-harness.png" alt="rsc — the model (Claude, GPT, Gemini) is the brain your coding agent rents, and you already have that. Claude Code, Codex and opencode sit in the middle. Below them the rsc meta-harness adds everything the model lacks: memory (02-DOCS/) so it stops inventing, arms (01-TOOLS/) so it can execute, a trade (272 skills) so it stops guessing, and reflexes (deterministic hooks) so it cannot forget the rule mid-session." width="960">
26
+ ```bash
27
+ npx @ericrisco/rsc@latest onboard
28
+ ```
30
29
 
31
- **The model is the only part your agent already has.** `rsc` is the meta-harness that adds
32
- the rest: a **memory** so it stops inventing, **arms** so it can execute, a **trade** so it stops
33
- guessing, and **reflexes** so it cannot forget the rule mid-session — into whichever assistant
34
- you already use, and kept in sync as you work.
30
+ <img src="https://raw.githubusercontent.com/ericrisco/rsc-harness/main/site/meta-harness.png" alt="rsc-harness wizard turns an outcome into a verified plan: memory, tools, knowledge and rules selected, deferred or excluded according to evidence." width="960">
35
31
 
36
32
  </div>
37
33
 
34
+ ## Your agent needs a harness. It should not improvise one.
35
+
36
+ A model is only the brain. Real work also needs project memory, tools, domain knowledge, rules and
37
+ repeatable workflows. Add those pieces ad hoc and the result becomes a **Frankenstein harness**:
38
+ duplicated instructions, unrelated skills, premature hooks, unnecessary MCPs and no clear owner.
39
+
40
+ Open standards already cover individual parts — [Agent Skills](https://agentskills.io/specification),
41
+ [MCP](https://modelcontextprotocol.io/) and [AGENTS.md](https://agents.md/) — but they do not decide
42
+ which complete harness this project needs. rsc-harness does that job through one guided flow:
43
+
44
+ 1. **You state the outcome.** No skill, hook or MCP vocabulary required.
45
+ 2. **The wizard reads only the project root** and asks technical level, accompaniment, project kind,
46
+ goal and assistants.
47
+ 3. **A proportional plan explains every choice.** Selected, deferred and excluded pieces all have a
48
+ reason. Nothing writes before you accept the exact plan.
49
+ 4. **The result is verified.** Shared sources prevent duplication; knowledge loads progressively;
50
+ local state stays local; deterministic checks prove the installed harness matches the plan.
51
+ 5. **It grows from evidence.** A deferred capability is proposed later only when the project actually
52
+ develops the need for it.
53
+
54
+ That is what “best practices” means here: a small, separated, project-bound and auditable harness —
55
+ not a pile of whatever an agent happened to install.
56
+
38
57
  ---
39
58
 
40
59
  ## 🤖 For agents: "install this harness"
@@ -78,8 +97,8 @@ request routes through `specify` before any skill writes code.
78
97
 
79
98
  ## Why this exists
80
99
 
81
- Most skill packs dump hundreds of files into your context and call it a day. This
82
- one is the opposite bet:
100
+ An improvised harness tends to grow by accumulation: more files, more context and more rules, with
101
+ no method deciding whether each piece belongs. rsc-harness keeps that construction disciplined:
83
102
 
84
103
  - **Granular by default.** The unit of installation is *one skill*. Install
85
104
  `fastapi` without ever pulling `go`. Nothing you don't use touches your context.
package/manifest.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.3.0",
2
+ "version": "1.3.2",
3
3
  "counts": {
4
4
  "skills": 272,
5
5
  "agents": 33,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ericrisco/rsc",
3
- "version": "1.3.0",
4
- "description": "Eric Risco's agent-skills catalog as a granular, self-recommending CLI installer.",
3
+ "version": "1.3.2",
4
+ "description": "A guided harness builder that turns your goal into a minimal, verified AI-agent setup using strict best practices.",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "rsc": "scripts/rsc.js",
package/scripts/doctor.js CHANGED
@@ -145,7 +145,9 @@ export function doctor({ target, home, cwd }) {
145
145
  designStartingPoint: startingPointSummary(root),
146
146
  // An inert gate must never read as an armed one (the same rule the sello follows):
147
147
  // the gitmoji guard has a per-project kill switch, so say which state it is in.
148
- gitmojiGuard: existsSync(join(root, '.rsc', '.no-gitmoji')) ? 'opted-out' : 'armed',
148
+ gitmojiGuard: state.policy?.gitmojiGuard === false
149
+ ? 'deferred'
150
+ : existsSync(join(root, '.rsc', '.no-gitmoji')) ? 'opted-out' : 'armed',
149
151
  // Counted, never interpreted — by spec, the gap log's reader is the user.
150
152
  automationGaps: countGaps(root),
151
153
  memory,