Configure @devintern/pm for your project and PM tool

Configuration

@devintern/pm uses per-project configuration stored in .devintern-pm/.env in your project directory. This allows you to work with multiple projects without configuration conflicts.

Select a Backend

Set the PM_BACKEND environment variable to choose your PM tool. Defaults to jira if not specified.

Supported backends: jira, linear, trello, azure-devops, asana, github, markdown

PM_BACKEND=jira

Backend-Specific Configuration

Jira

PM_BACKEND=jira
JIRA_BASE_URL=https://your-org.atlassian.net
JIRA_EMAIL=your-email@example.com
JIRA_API_TOKEN=your-api-token
JIRA_DEFAULT_PROJECT_KEY=PROJ

Get your API token at https://id.atlassian.com/manage-profile/security/api-tokens

Linear

PM_BACKEND=linear
LINEAR_API_KEY=your-linear-api-key
LINEAR_DEFAULT_TEAM_KEY=TEAM  # optional

Trello

PM_BACKEND=trello
TRELLO_API_KEY=your-api-key
TRELLO_API_TOKEN=your-api-token
TRELLO_DEFAULT_BOARD_ID=optional
TRELLO_DEFAULT_LIST_ID=optional

Azure DevOps

PM_BACKEND=azure-devops
AZURE_DEVOPS_ORG=your-organization
AZURE_DEVOPS_PAT=your-personal-access-token
AZURE_DEVOPS_PROJECT=your-project

Asana

PM_BACKEND=asana
ASANA_API_TOKEN=your-api-token
ASANA_DEFAULT_PROJECT_GID=optional

GitHub Issues

PM_BACKEND=github
GITHUB_TOKEN=your-github-token
GITHUB_OWNER=your-org-or-user
GITHUB_REPO=your-repo

Markdown (local file export)

PM_BACKEND=markdown
PM_MARKDOWN_DIR=.devintern-pm/tasks  # optional, defaults to .devintern-pm/tasks

Common Configuration

# AI Agent CLI Configuration
CLAUDE_CLI_PATH=/path/to/claude

The AI agent CLI path depends on your chosen agent. Examples:

  • Claude Code: ~/.claude/local/claude or run which claude
  • Opencode: run which opencode
  • Codex: run which codex
  • Cursor: run which agent

Troubleshooting

“Missing required environment variables”

  • Make sure you’ve created a .env file with all required variables from .env.example
  • Verify you’ve set the correct variables for your selected PM_BACKEND

“API error (401)”

  • Verify your API token is correct for the selected backend
  • Check that your credentials match your account