/code @devintern/pm DevIntern + Markdown
Skip the PM account entirely. DevIntern reads and writes local Markdown task files in your repo, ideal for solo operators, spikes, and teams that want specs versioned next to code.
How it works
What DevIntern does with Markdown
Each product path keeps Markdown as the handoff surface. No rip-and-replace, no new dashboard.
/pm Write Markdown task files
- 1 Set TASK_TRACKER=markdown and point MARKDOWN_TASKS_DIR at your tasks folder.
- 2 Draft a spec interactively or from a prompt.
- 3 Save the .md file into your repo for Code to pick up.
/code Implement Markdown tasks
- 1 Point devintern at a .md file path.
- 2 Agent reads the spec from disk and gathers repo context.
- 3 Implements, commits, and opens a PR against your branch.
Capabilities
Built for real Markdown workflows
No Jira, Linear, or SaaS PM account required
Task specs versioned alongside code in git
Batch runs by frontmatter filters (status=todo) via --query
Works offline once configured
Fastest path for solo pilots and internal spikes
Same agent harness options as tracker-backed runs
A single run
From Markdown ticket to reviewed pull request
A single run takes a local .md spec from file to reviewed pull request. There is no tracker API involved: when every argument is a file path, no tracker credentials are needed at all.
- 1
Read the spec
Pass a .md file path directly, or set TASK_TRACKER=markdown with MARKDOWN_TASKS_DIR and pass short task keys. The title comes from the first H1 heading, and optional YAML frontmatter controls the task key and status tracking.
- 2
Feasibility gate
The agent checks the spec for enough detail to implement before touching code. An underspecified file halts the run with an assessment and the concrete questions that need answering first.
- 3
Status flips to In Progress
If the file has a status: frontmatter field, DevIntern updates it in place just before the agent runs. Commit the file to version control if you want the transitions tracked.
- 4
Implement and self-review
Your coding agent implements the change on a feature/{key} branch (the frontmatter key, or the filename stem), then reviews and fixes its own diff before any human sees it.
- 5
Deliver
With --create-pr, DevIntern opens a pull request. On success the status: field is set to Done; incomplete runs leave it at In Progress so you can see what needs another pass.
What gets written back to Markdown
There is no tracker to comment on, so run outcomes are written into the task file's frontmatter instead.
Run starts
status: set to In Progress in the file, edited in place
Successful implementation
status: set to Done, detected by the presence of implementation-summary.md
Incomplete run
status: left at In Progress so unfinished work stays visible
Batch runs
Work through Markdown in batches
In TASK_TRACKER=markdown mode, batch selection filters task files by their frontmatter fields, with free text matched against titles. Direct file path runs need no configuration at all.
A file path, no tracker config needed
$ devintern ./tasks/feature-spec.md --create-pr Mix a tracker ticket and a local file
$ devintern PROJ-123 ./extra-context.md Drain every todo task file
$ devintern --query "status=todo" --create-pr Requires TASK_TRACKER=markdown with MARKDOWN_TASKS_DIR set.
Frontmatter filters plus text
$ devintern --query 'status="In Progress" type=bug login' --create-pr Each key=value pair must match the file's frontmatter; values compare case-insensitively.
Markdown specifics at a glance
Credentials
None; no tracker account or API key involved
Query language
Frontmatter filters (status=todo type=bug) plus title text via --query
Status updates
status: frontmatter field edited in place; commit the file to track transitions
Branch naming
feature/{key} from the key: frontmatter field or the filename stem
Estimation
Not supported; there is no tracker to hold an estimate
Offline
Works offline once configured; specs live in git next to the code
Get connected
Setup guides and configuration
Credentials stay in project-local .env files. DevIntern runs on your machine or server, not a shared implementation cloud.
FAQ
Common questions about Markdown
Where should Markdown tasks live?
Configure MARKDOWN_TASKS_DIR in .env relative to your project root. Many teams use a tasks/ or docs/tasks/ directory committed to the repo.
Can Markdown tasks sync to a tracker later?
Yes. Teams often start with Markdown for pilots, then move to Jira or Linear once the workflow is proven.
Can I mix tracker tickets and local files in one run?
Yes. Any argument ending in .md or containing a path separator is treated as a file; everything else routes to your configured tracker. devintern PROJ-123 ./extra-context.md processes both in one run.
How is the git branch named?
feature/{key}, where key is the key: frontmatter field if set, otherwise the filename stem (my-task.md produces feature/my-task). Special characters are replaced with hyphens.
Does batch --query work with file paths?
Batch selection requires TASK_TRACKER=markdown with MARKDOWN_TASKS_DIR, where --query filters files by frontmatter. Direct file path runs process exactly the files you pass.
Try DevIntern with Markdown
Connect Markdown, run your first workflow, and keep the trackers, repos, and reviewers your team already trusts.
Free for interactive use · FSL source-available · BYO model keys