If your team uses AI coding agents (Claude Code, Cursor, Copilot, etc.) and maintains rules files like CLAUDE.md or .cursor/rules/, you've hit this: the rules go stale, they differ across repos, new hires get nothing, and nobody can share updates without copy-pasting. Quiver is a package manager for those rules. You add a reference to your context file, and Quiver resolves it from a Git-backed registry.
# CLAUDE.md
+@quiver://community/react-patternsquiver resolve --write CLAUDE.md # done. no signup, no API key.Your committed file keeps the @quiver:// references. Quiver writes resolved content between markers that your agent reads:
<!-- quiver:start community/react-patterns -->
# React Patterns for AI Agents
[resolved content from the registry]
<!-- quiver:end community/react-patterns -->Resolved content is never committed.
# 1. Install (requires Elixir 1.19+)
git clone https://github.com/quiver-dev/quiver.git
cd quiver && make install && make build
cd apps/quiver_cli && mix escript.build
alias quiver="./quiver_cli"
# 2. In your project
cd ~/your-project
quiver init # sets up auto-resolve on session start
quiver resolve --write CLAUDE.md # resolve references now
# That's it. Start your agent.- Engineer discovers an error handling pattern
- Tells the agent: "Save this to our team skills"
- Agent calls
save_skillvia MCP, opens a PR to the registry - Teammate reviews, merges
- Next morning, every engineer's agent resolves the new pattern
The pattern goes from one engineer's session to a registry PR to every agent that references that registry.
quiver import .cursorrules --name my-rules --output ./my-registryThis splits the file into one skill per H2 heading. Commit the output as a registry, add it to Quiver, and your teammates can reference it.
# Setup
quiver init # scaffold hooks for auto-resolve
quiver registry add my-team org/repo # add a registry
quiver registry list # list registries
quiver registry remove my-team # remove a registry
# Resolution
quiver resolve CLAUDE.md # preview (dry-run)
quiver resolve --write CLAUDE.md # resolve and write artifacts
quiver status CLAUDE.md # per-skill token breakdown
quiver cache clear # clear fetch cache
# Migration
quiver import .cursorrules --name my-rules # import existing context file
# Skill authoring
quiver skill new my-pattern # scaffold a new skill
quiver skill new review-bot --type agent # scaffold an agent
quiver skill validate ./my-registry # validate structure
quiver skill diff ./registry my-skill # what changed since last cache
# MCP server
quiver mcp serve # start MCP server (stdio)MCP tools:
list_skills— browse available skills across registriesload_skill— fetch a skill mid-session without restartingsave_skill— create a PR to add a new skill to a registry
The community registry is always available. No config needed.
| Skill | Type | Description |
|---|---|---|
react-patterns |
context | React component patterns |
testing-patterns |
context | Testing best practices |
git-conventions |
context | Git workflow and commit conventions |
elixir-patterns |
context | Elixir conventions for AI agents |
python-modern |
context | Modern Python patterns |
api-design |
context | REST API design conventions |
code-review-guidelines |
context | Code review best practices |
tdd-practices |
context | Test-driven development patterns |
makefile-patterns |
context | Makefile conventions |
human-writing |
context | Clear, human writing style |
deploy-checklist |
skill | Pre-deployment verification checklist |
qa-check |
command | QA verification command |
security-reviewer |
agent | Security-focused code review agent |
elixir-pragdave |
context | Dave Thomas-style Elixir patterns |
These are opinionated. Fork the registry and adjust them to your team.
Requires Elixir 1.19.5 and OTP 28.4 (pinned in mise.toml).
make install # fetch deps
make check # compile + lint + test (all projects)
make test # all tests
make test-core # just quiver_core
make test-cli # just quiver_cli
make test-mcp # just quiver_mcp
make lint # format check + credo
make clean # nuke _build and depsApache License 2.0.