papercliped
CLAUDE.md12 starsChanged 38 days agoMITView on GitHub
Papercliped connects AI apps (Claude, ChatGPT, Codex, any MCP client) to a Paperclip instance. This file is read by Claude Code (CLAUDE.md) and Codex (AGENTS.md); keep the two identical. Use the release skill (.claude/skills/release/SKILL.md, .agents/skills/release/SKILL.md) before every push to main: pick Major.Minor.Patch, add the user-facing entry under ## Unreleased in CHANGELOG.md, run node scripts/version.mjs <major|minor|patch> "<title>", and write the commit description as the release note. CI publishes to npm, tags the commit and creates the GitHub release.
The file
We split this CLAUDE.md into the rules it gives an agent
3 rules. About 0 are common, 1 is distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Very specific: line 7
Use the release skill (.claude/skills/release/SKILL.md, .agents/skills/release/SKILL.md) before every push to main: pick Major.Minor.Patch, …
- Very specific: line 32
Never commit secrets. Never weaken a security check, test or the website's CSP (script-src 'self'.
- Distinctive: line 37
Don't put AI model names in commits, code or docs.
≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Working on Papercliped
Papercliped connects AI apps (Claude, ChatGPT, Codex, any MCP client) to a Paperclip instance. This file is read by Claude Code (CLAUDE.md) and Codex (AGENTS.md); keep the two identical.
Every push is a release
Use the release skill (.claude/skills/release/SKILL.md, .agents/skills/release/SKILL.md) before every push to main: pick Major.Minor.Patch, add the user-facing entry under ## Unreleased in CHANGELOG.md, run node scripts/version.mjs <major|minor|patch> "<title>", and write the commit description as the release note. CI publishes to npm, tags the commit and creates the GitHub release.
Map
| Path | What |
src/ | The bridge: MCP + HTTP server, OAuth (src/oauth/), tools (src/tools.ts), manage API (src/manage/), public API, website serving (src/web/) |
plugin/ | Papercliped plugin for Paperclip (own package; Node 24.11+) |
web/ | Website and docs site (React + Tailwind, Vite) |
site/docs/ | User docs in Markdown (rendered by the website and the bridge) |
migrations/ | Postgres schema; regenerate docs/supabase-schema.sql with npm run schema:sql |
.claude-plugin/, .codex-plugin/, .agents/plugins/, .mcp.json, skills/, commands/ | The Claude Code and Codex plugins and marketplaces |
Checks
npm run typecheck && npm test # bridge (Postgres tests need TEST_DATABASE_URL)
npm --prefix plugin run typecheck && npm --prefix plugin test && npm --prefix plugin run build
npm --prefix web test && npm --prefix web run build && npm --prefix web run check:routes
node scripts/check-packages.mjs # after building root and plugin
node scripts/version.mjs checkRules
- Never commit secrets. Never weaken a security check, test or the website's CSP (
script-src 'self'; style-src 'self', no inline code, no third-party loads, no analytics) to make something pass. - Access levels are exactly two: Read only (
paperclip:read) and Full control (paperclip:control, every tool). - The public stats API is aggregate-only; it never exposes identities.
- Community links stay empty until the real accounts exist; don't invent handles.
- Domain: papercliped.co (site), docs.papercliped.co (docs at
/<page>), mcp.papercliped.co (connector/mcp). - Don't put AI model names in commits, code or docs.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

