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, creates settings.json for per-project configuration, and adds .devintern-code/.env to 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.

TrackerWhen to useSetup guide
Jira (default)Jira Cloud issues, JQL batch runs, story point estimationJira Integration
LinearLinear issues by ID or URL, IssueFilter batch runsLinear Integration
TrelloTrello cards by short link or URLTrello Integration
AsanaAsana tasks with project section transitionsAsana Integration
Azure DevOpsAzure DevOps work items by ID or URLAzure DevOps Integration
GitHub IssuesGitHub issues with status labels, PRs in the same repoGitHub Issues Integration
Markdown filesLocal .md specs, no PM account neededMarkdown 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:

  1. Fetches task details (description, comments, attachments where supported)
  2. Transitions the task (Jira status or Trello list, when configured in settings.json)
  3. Creates a feature branch (feature/proj-123)
  4. Runs a clarity check (skippable with --skip-clarity-check)
  5. Executes your AI agent with formatted task context
  6. Commits changes automatically after successful implementation
  7. Posts a summary back to your task tracker

What’s Next?