Linear Setup Guide
Linear Setup Guide
This guide covers the one-time setup of Linear for Surfc project management.
1. Create your workspace and project
- Go to linear.app and sign in
- Create a new Team called
Surfc - Under the team, create a Project called
Surfc App
2. Configure issue labels
Create the following labels (these match the GitHub issue templates):
Type labels:
feature— greenbug— redchore— greydocs— bluerefactor— purple
Priority labels (Linear has built-in priority — use that instead of custom labels):
- Urgent (p0)
- High (p1)
- Medium (p2)
- Low (p3)
3. Set up the kanban board
Linear’s default workflow states work well. Adjust to:
| State | Meaning |
|---|---|
| Backlog | Captured but not yet scheduled |
| Todo | Scheduled for current or next milestone |
| In Progress | Claude Code is actively working on it |
| In Review | Branch pushed, PR open, awaiting review |
| Done | Merged and deployed |
| Cancelled | Won’t do |
4. Create Milestones (Cycles in Linear)
Create the following Cycles:
- v1.1 — Foundation
- v1.2 — Import & Share
- v1.3 — Platform
5. Connect GitHub
- Go to Settings → Integrations → GitHub
- Connect your GitHub account
- Select the
surfcrepository - Enable: Sync issue states, Link PRs to issues
Once connected:
- Opening a PR with an issue ID in the branch name or description auto-links them
- Merging the PR moves the Linear issue to Done automatically
6. Create the initial issues
Create one issue per roadmap item using the details in docs/product-roadmap.md.
Use this naming convention: SUR-1, SUR-2 etc. (Linear assigns these automatically).
Reference the issue ID in commit messages:
feat(notes): add readwise api token field in settings [SUR-2]7. Daily workflow
Starting work:
- Move the Linear issue to “In Progress”
- In Claude Code:
create a branch for SUR-1 and start the App.jsx refactor
Finishing work:
- Claude Code pushes the branch and opens a PR
- Move the Linear issue to “In Review”
- Review and merge the PR
- Linear auto-moves the issue to Done (if GitHub integration is active)
- Update CHANGELOG if user-visible
Linear vs GitHub Issues
Both are in use:
- Linear — day-to-day task management, kanban board, sprint planning
- GitHub Issues — the permanent record linked to PRs and commits
When you create an issue in Linear, also create the corresponding GitHub Issue (or use the Linear GitHub integration to sync them automatically). This keeps the git history fully traceable.