Get up and running with @devintern/code in minutes
Quick Start
@devintern/code is your AI intern for automatically implementing tasks from your task tracker. It fetches task details, creates feature branches, runs your AI agent, commits changes, and optionally creates pull requests, all from a single command.
Supported task trackers today: Jira (default), Linear, Trello, Asana, Azure DevOps, GitHub Issues, and local markdown files (no PM account required).
Prerequisites
- Bun runtime (required to run @devintern/code)
- Task tracker account with API access (Jira, Linear, Trello, Asana, Azure DevOps, or GitHub Issues), or local markdown files with no account at all
- AI agent CLI installed (e.g., Claude Code, OpenCode, Codex, Cursor)
- Git repository for your project
Installation
Install globally with Bun:
# Install Bun if not already installed
curl -fsSL https://bun.sh/install | bash
# Install @devintern/code globally
bun install -g @getdevintern/code
Initialize Configuration
Navigate to your project directory and run:
devintern init
In a terminal, this starts an interactive setup wizard that:
- Detects an existing @devintern/pm configuration (
.devintern-pm/.env) in the same project and offers to reuse those tracker credentials, so you skip straight to validation - Asks which task tracker you use (Jira, Linear, GitHub Issues, Azure DevOps, Asana, Trello, or markdown files)
- Links you directly to the provider’s token creation page and prompts for each credential, with a pointer to the matching setup guide in these docs
- Validates the connection with a real API call before finishing (you can retry, edit values, or skip)
- Offers an optional GitHub token for pull request creation
- Writes your answers to
.devintern-code/.env, createssettings.jsonfor per-project configuration, and adds.devintern-code/.envto your.gitignore(to prevent leaking credentials)
For scripted or CI setups, pass --yes (or --no-interactive) to skip the prompts and write a commented configuration template instead:
devintern init --yes
Connect Your Task Tracker
The wizard handles credentials for you. If you used --yes, or want to change trackers later, edit .devintern-code/.env for the tracker you use. Optionally edit .devintern-code/settings.json for status or list transitions after a run.
| Tracker | When to use | Setup guide |
|---|---|---|
| Jira (default) | Jira Cloud issues, JQL batch runs, story point estimation | Jira Integration |
| Linear | Linear issues by ID or URL, IssueFilter batch runs | Linear Integration |
| Trello | Trello cards by short link or URL | Trello Integration |
| Asana | Asana tasks with project section transitions | Asana Integration |
| Azure DevOps | Azure DevOps work items by ID or URL | Azure DevOps Integration |
| GitHub Issues | GitHub issues with status labels, PRs in the same repo | GitHub Issues Integration |
| Markdown files | Local .md specs, no PM account needed | Markdown File Tasks |
Jira: add JIRA_BASE_URL, JIRA_EMAIL, and JIRA_API_TOKEN. You do not need to set TASK_TRACKER (it defaults to jira).
Trello: set TASK_TRACKER=trello plus TRELLO_API_KEY and TRELLO_API_TOKEN.
Shared options (GitHub/Bitbucket PRs, agent harness, output directory) are covered in Configuration.
First Run
Run devintern with a task reference from your configured tracker:
Jira
devintern PROJ-123 --create-pr
Trello (TASK_TRACKER=trello in .devintern-code/.env)
devintern AbCdEf12 --create-pr
Every run:
- Fetches task details (description, comments, attachments where supported)
- Transitions the task (Jira status or Trello list, when configured in
settings.json) - Creates a feature branch (
feature/proj-123) - Runs a clarity check (skippable with
--skip-clarity-check) - Executes your AI agent with formatted task context
- Commits changes automatically after successful implementation
- Posts a summary back to your task tracker
What’s Next?
- Usage: CLI flags, query-based batch runs, git, and pull requests
- Automated task processing: scheduled runs with systemd or cron