Skip to Content
IntegrationsPM Tools

PM Tools

Navigator can tie its task docs to an external project-management tool, so a ticket flows in as an implementation plan and the result flows back as a comment or closed issue. If you don’t use a tracker, Navigator works fully on local Markdown docs — "none" is the default.

Supported tools

project_managementHow it connectsWhat’s wired
"linear"Linear MCP serverRead issue, comment back on the issue
"github"gh CLIRead issue, comment / close via gh issue
"jira"Jira REST APIRead ticket, update via API
"gitlab"glab CLIRead issue, update via glab
"none"—Local .agent/tasks/ docs only (default)

GitHub is the most directly exercised path — nav-task and nav-pilot both shell out to gh issue (comment, create, close). Linear connects through its MCP server. Jira and GitLab are wired through their respective API/CLI; confirm auth (glab auth status, Jira token) before relying on them.

How tasks flow

The PM tool and .agent/tasks/ stay in sync at two points:

PM ticket ──read──▶ .agent/tasks/TASK-XX-<slug>.md (nav-task generates plan) │ implement │ .agent/tasks doc ──comment/close──▶ PM ticket (finish protocol)
  • The PM ticket is the source of intent; the task doc is the working spec and historical record.
  • nav-task names the doc using task_prefix, so set the prefix to match your tracker’s IDs when you want them aligned (e.g. GH-123).
  • On completion, the configured tool gets a comment linking the implementation plan, or the issue is closed — Linear via create_comment, GitHub via gh issue comment.

Configuration

{ "project_management": "github", "task_prefix": "GH" }

Set project_management to your tracker and task_prefix to the ID scheme you want for generated docs. Leave both unset (or "none" / "TASK") for a pure local-docs flow.

Example

User: "Start TASK from GH-142" → gh issue view 142 (read ticket) → nav-task writes .agent/tasks/GH-142-rate-limiting.md → implement against the plan → gh issue comment 142 -b "Implementation plan: .agent/tasks/GH-142-rate-limiting.md"