ericrisco/rsc-harness

Developer Tools

Builds a documented, skill-equipped harness around your existing coding assistant so project decisions and tools persist across sessions.

418
58
JavaScript
MIT
5 months old

What rsc-harness does

Coding assistants start each session with no project memory and no reliable access to real tools. rsc-harness is a CLI that installs and maintains a harness around an existing assistant: a local knowledge wiki, a convention for documented tool connections, a selected set of skills from a 274-skill catalog, and working rules and hooks where the provider supports them.

It targets people already using an assistant such as Claude Code, Codex, Gemini CLI, Cursor or Copilot inside a real project. You keep your editor and model; rsc supplies the setup around them. Installations are planned rather than improvised: every component is selected, deferred or excluded with a reason, and you accept the plan before anything is written.

Install and onboard

Run this inside the project you are equipping, not inside a clone of the rsc repository:

npx @ericrisco/rsc@latest onboard

The wizard asks how technical the conversation should be, what the project is for, its goal and which assistants to target. It then prints the full plan; a first pass writes nothing and returns a SHA-256 plan id. Accept the exact plan to apply it.

For non-interactive use, collect the answers first and rerun with the printed id:

npx @ericrisco/rsc@latest onboard --technical-level technical \
  --project-kind software --goal "small compound-interest website" \
  --software-scope small --target codex
npx @ericrisco/rsc@latest onboard --technical-level technical \
  --project-kind software --goal "small compound-interest website" \
  --software-scope small --target codex --accept-plan <PLAN_ID>

If project evidence changes between preview and acceptance, rsc returns RSC_PLAN_CHANGED and requires a fresh review. Afterwards the harness lives in the project: skill files go to .rsc/skills/<id>/ with symlinks (copies on Windows) per assistant, and rsc doctor reports harness health and onboarding readiness. rsc repair fixes a miswired install, and rsc reassess reports newly justified deferred components without installing them.

A short rsc command is available after npm install -g @ericrisco/rsc. See the usage and CLI reference for the full command list and the project site for an overview.

How the workflow is organized

Each turn takes one of three lanes: a read-only answer, a fast-track change (FTD) with one feature document tracking intent and evidence, or a ten-phase spec-driven chain (SDD) for coupled decisions. The agent picks and names the lane; you can ask for another.

Project context lives outside the chat in 02-DOCS/, which can be opened as an Obsidian vault, and tool connections are documented under 01-TOOLS/ with credentials examples and a connection test. Skills load progressively, so only their descriptions cost context until a task needs them.

Constraints on what is enforced

  • Hooks run only in Claude Code. There, they enforce the lane decision, refuse commits on a closed main, and confirm destructive commands. In Codex, Gemini, Cursor and OpenCode the same rules travel in skills and session memory: they are followed but not mechanically enforced.
  • Git permissions vary by assistant. A fresh harness allows git commit, git push and gh pr create without asking; force-push still asks. Safe per-command allow lists exist for Claude Code, Codex, Gemini and OpenCode, but not for Cursor or DeepSeek Harness.
  • Session memory is local only. On supported targets the runtime makes no network request and stores no prompts, responses, tool output, file contents or secrets; it keeps 30 days and injects at most 4,096 bytes. Cursor desktop is only assisted through an always-on rule.
  • Model and external-service costs stay with their providers, and the checks in the skill rubrics do not guarantee business outcomes.
  • Sharing requires committing managed files. A clone needs .rsc.json and, for Claude Code, .claude/settings.json and .claude/rsc-bootstrap.mjs; others run npx @ericrisco/rsc@<catalogVersion> sync to rebuild the harness at the pinned catalog version.

The project is MIT licensed.

HotRepo's take

In the week ending 2026-11-01, rsc-harness entered HotRepo's JavaScript weekly list at position 6 with 147 stars gained, bringing it to 418 stars and 58 forks. The ranking measures one week of growth, not adoption or quality; no all-language daily rank is recorded.

What the record supports is a fast initial reception for a tool whose pitch is maintenance rather than raw capability. The README is unusually explicit about its limits — hooks only in Claude Code, no per-command allow list in Cursor — which makes the comparison with lighter prompt-file approaches concrete: you are buying a documented, inspectable setup with enforced guards on one target and advisory rules elsewhere.

Written by AI from the project's README, updated . The project's own docs are the source of truth.