Understand the difference between research-style tasks and real code tasks, and how the claude-code adapter bridges Paperclip and your codebase.
Understand why "dev assistant" tasks are fundamentally different from research tasks, and how the claude-code adapter turns Paperclip into something that can actually write, edit, and test code in your project.
Every issue you create in Paperclip falls into one of two categories:
| Research / Analysis task | Dev task | |
|---|---|---|
| Output | Text, summaries, plans | Changed files in a real codebase |
| Adapter | openai, http, shell |
claude-code |
| Agent "sees" | Only the prompt | Your actual source files |
| Result | Markdown in result column |
File diffs + explanation |
| Risk | Low — no side effects | Medium — edits real code |
A research task says: "Summarise PostgreSQL RLS in 3 paragraphs."
A dev task says: "Add a GET /api/users/:id/profile endpoint in src/routes/users.ts that returns id, name, and email from the users table. Add a unit test in src/routes/users.test.ts."
The second task results in actual file changes you can git diff and review.
The claude-code adapter is not just another LLM call. Under the hood it:
workingDir)Read, Write, Edit, BashIssue description
↓
claude-code adapter
↓
workingDir: ~/projects/my-app
↓
Claude Code (has Read / Write / Edit / Bash tools)
↓
Reads relevant files → makes changes → runs tests
↓
Result: { summary, changedFiles: [...], testsRan: true }
This is what makes Paperclip a dev assistant rather than a chatbot.
Think of Paperclip as an agent that works in your local checkout and hands the result back to you for review. You stay in control of what gets committed.
You write an issue
↓
Heartbeat triggers the claude-code adapter
↓
Agent reads your files, makes changes, runs tests
↓
Issue marked resolved — result contains changed files + summary
↓
You run: git diff
↓
Accept → git add / commit / push
Reject → add a follow-up issue with corrections
This loop is the core of everything in this module.