Documentation

Product Versions

Plan releases and track progress with version milestones.

Versions let you group features into releases and track progress toward milestones. Manifest uses semantic versioning (0.1, 0.2, 1.0) and organizes work with a Now / Next / Later model.

Now / Next / Later

Manifest automatically categorizes your versions into three planning horizons:

HorizonMeaning
NowThe first unreleased version (your current focus)
NextThe second unreleased version (what's queued up)
LaterAll other unreleased versions (the backlog)

You can ask an agent to show you features by upcoming version:

Show me what's in the next few versions
0.2 (now)
├── ● OAuth Integration
└── ○ Rate Limiting

0.3 (next)
└── ◇ Webhooks

Unversioned
└── ◇ GraphQL API
Claude Code slash command /manifest:versions

Use /manifest:versions to display the version roadmap with now/next/later status and feature counts.

Creating versions

You say:

Create version 0.2 for the auth release

Agent handles:

  • Creates the version milestone
  • Version becomes available for feature assignment

Use semantic versioning: 0.1, 0.2, 1.0. You can also use names like MVP or beta.

Assigning features

You say:

Put OAuth in 0.2

Agent handles:

  • Assigns the feature to the version
  • Feature now contributes to version progress
Claude Code slash command /manifest:assign [feature] [version]

Use /manifest:assign OAuth 0.2 to schedule a feature for a specific release.

How versions affect work order

Agents prioritize work based on versions:

  1. Now version first: Features in the current release get priority
  2. Priority within version: Lower priority number = higher importance
  3. Backlog last: Unassigned features after versioned work

This means when you ask "What should we work on next?", the agent pulls from Now before anything else.

Closing out a version

When all features in a version are implemented, the agent automatically closes it:

Agent handles:

  • Detects all features in the version are implemented (●)
  • Calls release_version to close it out
  • Sets released_at timestamp
  • Shifts "now" to the next unreleased version

This keeps planning simple: finish what's in Now, then Now becomes the next version automatically.

You can also close a version manually:

Close out 0.2
Claude Code slash command /manifest:release [version]

Use /manifest:release 0.2 to mark a version as shipped, or /manifest:release to release the current "now" version.

Managing versions in the web interface

The web interface provides a visual version matrix:

┌──────────────────────────────────────────────────────────┐
│ Feature           │ 0.2 (now) │ 0.3 (next) │ Unversioned │
├──────────────────────────────────────────────────────────┤
│ OAuth Integration │     ●     │            │             │
│ Rate Limiting     │     ○     │            │             │
│ Webhooks          │           │     ◇      │             │
│ GraphQL API       │           │            │      ◇      │
└──────────────────────────────────────────────────────────┘

Drag features between columns to reassign versions.

Next step

Continue to Web interface.