
Linear Coding Agent Harness
https://github.com/coleam00/Linear-Coding-Agent-Harness- Category
- AI Agents
- Rank
- No. 1123Tools index
- Pricing
- Open Source
- Type
- AGENT
- Builder
- coleam00
- GitHub
- 229 stars
- Date
About
Harness that turns a Linear issue into work for an autonomous coding agent — assign, code, PR, done.
What it does
This Python harness runs fresh Claude coding sessions against a shared Linear project. An initializer converts an application specification into detailed issues and project scaffolding. Later sessions choose priority work, verify earlier features through Puppeteer, implement changes, and preserve context in issue comments, statuses, and a dedicated handoff issue.
Why it's ranked here
The design tackles a real weakness of long-running agents: context disappears between sessions. Linear becomes durable memory and a visible control surface, while browser checks and git commits add discipline. The result is compelling as a concrete reference implementation, though its fixed assumptions and narrow toolchain make it less suitable as a general automation framework.
What's good
Every session begins with explicit orientation and checks existing work before starting another feature. Issues carry acceptance steps, comments record implementation details, and interrupted work remains visible through status. The security setup combines sandboxing, project-scoped file permissions, an allowed-command list, and extra validation for sensitive development commands.
Tradeoffs
Setup requires Claude Code, its Python SDK, a Claude OAuth token, a Linear workspace, and a read-write Linear API key. Initialization creates 50 issues and may take over ten minutes. The loop retries errors indefinitely unless iterations are capped. Browser verification targets web applications, while command permissions are tuned narrowly for Node development.
How to use it well
Use it as a starting point for teams already managing substantial web builds in Linear and willing to encode detailed acceptance tests. Customize the application specification, issue count, model, and command policy before running. It earns a place in long, restartable implementation work. It does not replace product planning, general CI, or support for non-browser verification.
Technical notes+
autonomous_agent_demo.py provides the argparse CLI, checks both required tokens, and places relative targets under generations/. agent.py recreates ClaudeSDKClient context each iteration and selects initializer or continuation prompts using the marker state read by progress.py. client.py configures Linear over streamable HTTP, Puppeteer over stdio, project-scoped permissions, sandboxing, a Bash pre-tool hook, and max_turns=1000. security.py parses commands with shlex plus regular-expression segmentation, checks ALLOWED_COMMANDS, and applies dedicated validation to pkill, chmod, and init.sh. test_security.py exercises command extraction, allowed commands, blocked commands, and sensitive-command validators. requirements.txt declares only claude-code-sdk>=0.0.25.
Observed
- License
- MIT License
- Primary language
- Python
- Install surface
- Global Claude Code CLI installation plus pip installation from requirements.txt
- Interface
- Command-line application with project directory, iteration limit, and model options
- External interfaces
- Linear MCP over streamable HTTP and Puppeteer MCP over stdio
- Authentication
- Requires a Claude Code OAuth token and a Linear API key
- Testing structure
- Repository includes a standalone Python security test script
Read from README.md, requirements.txt, agent.py, client.py, prompts.py, progress.py, security.py, linear_config.py, test_security.py, autonomous_agent_demo.py, LICENSE, prompts/app_spec.txt, prompts/coding_prompt.md, prompts/initializer_prompt.md.
What it can do
Convert Linear issue to coding task
Linear issue → Structured coding task for autonomous agent
Automatically assign coding tasks to agent
Linear issue or coding task → Task assignment to coding agent
Generate code from issue requirements
Linear issue with requirements → Source code implementation
Create pull request from generated code
Generated code and original issue → Pull request in code repository
Automate end-to-end development workflow
Linear issue → Completed pull request ready for review
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.