Features, not tickets

Jira for AI agents.
Write features, not tickets.

ContextsBase replaces the ticket board. You write each business feature once in a Notion-style editor, organised in a file tree: what it does, its rules, its edge cases, its test cases. Claude Code, Cursor, or Copilot read it over MCP, build it, and keep an implementation record in sync with the code. Nobody is assigned anything.

  • No tickets, sprints, or assignees
  • Works with Claude Code, Cursor, Copilot, Windsurf
  • Free for one project
contextsbase · acme-app · features

Accounts / F-3

Password reset

Published

Functionality

A signed-out user requests a reset link by email and sets a new password from it.

Business rules

  • 1. The link expires 15 minutes after it is sent.
  • 2. A link can be used once. A second visit shows an expired page.
  • 3. Requesting a reset invalidates all earlier links for that user.

Edge cases

An unknown email still shows the success message, so accounts cannot be enumerated.

Entities

UserResetToken

Test cases

  • T-7Given a link older than 15 minutes, when it is opened, then the page says expired.
  • T-8Given a link already used, when it is opened again, then no password change is allowed.

Type / for a block

Implementation record

claude-codeImplemented
Built from spec
v1:sha256 8f3a…c21
Tests
T-7 · T-8
Files
reset.ts · reset.spec.ts
Code
in sync with spec

Edit any rule above and this record turns Outdated until the agent rebuilds.

A file tree, a spec editor, and the agent’s record beside it. The feature is the ticket, the spec, and the proof of done in one place.

Tickets were written for people. Features are written for agents.

Jira exists to hand work between humans: assignees, sprints, status columns. When the builder is an agent, none of that is needed. What it needs is the feature, written properly, once.

F-3Password reset
Published
  • reset link expires after 15 minutes
  • a link can be used once
  • unknown email still shows success

UserResetTokenT-7T-8

A feature replaces the ticket

A ticket says what to do and leaves the rest to whoever picks it up. A feature states what must be true: functionality, business rules, edge cases, the entities it touches, and its test cases. An agent builds from that directly.

I-1Accounts
Open to agents
  1. 1F-1Sign up with email
  2. 2F-2Sign in with Google
  3. 3F-3Password reset

agent pulls next_iteration_item

Ordering replaces assigning

No assignee, no sprint, no board to groom. You put features in the order you want them built and open the iteration. Agents pull the next one. Two agents never take the same feature.

record_test_automation · T-7, T-8 passed

record_feature_implementation · F-3

Implemented→ edit the spec →Outdated

A record replaces the status column

Nobody drags a card to Done. The agent records the implementation and the test results against the spec it read. Change the spec later and that record flips to Outdated on its own.

What you drop when features replace tickets.

Jira tracks who does what by when. Agents do not need that. They need to know what to build, and to say when it is built.

Jira tickets compared with ContextsBase features for AI agents
With JiraA ticketA ContextsBase feature
The unit of workA ticket: title, description, comments, and links to wherever the real requirements live.A feature (F-3): functionality, business rules, edge cases, the entities it touches, and Given/When/Then test cases. One document, complete enough to build from.
Who it is written forA teammate who reads it, asks questions, and fills the gaps from experience.An agent that builds exactly what is written. Nothing is left to be inferred, so nothing is guessed.
Getting work startedAssign it, add it to a sprint, move it to In Progress.Order features into an iteration and open it. The agent calls next_iteration_item and gets the next one. No assignee, no sprint.
Tracking progressSomeone drags the card across columns and hopes it reflects reality.The agent calls record_feature_implementation when it is built. Status comes from the record, not from a hand.
AcceptanceAcceptance criteria in a text field. A reviewer reads them, or does not.Test cases are part of the feature. The agent turns them into Playwright tests and records each result with record_test_automation.
When requirements changeEdit the ticket, leave a comment, ping the assignee, reopen.Edit the feature. Every implementation built from the old spec is marked Outdated automatically, and the agent rebuilds from the new one.
Where the spec livesJira for the task, Confluence for the doc, Slack for the decision.One place. Served to every agent over MCP, so nothing is pasted into a chat window.

From written feature to implemented. No ticket in between.

You write and order features. The agent asks for the next one, builds it, and records it. That is the entire workflow.

  1. 1

    Write the feature

    You

    Open the editor, file it in the right folder, and write it: functionality, business rules, edge cases, Given/When/Then test cases. Publish it.

    F-3 · Published
  2. 2

    Order the iteration

    You

    Put features in the sequence you want them built. Open it to agents.

    I-1 · 5 features
  3. 3

    Pull the next item

    Agent

    One call returns the spec, the entities it touches, and its test cases. The claim is atomic.

    next_iteration_item
  4. 4

    Build, test, record

    Agent

    The agent writes the code and Playwright tests, then records both against the spec it read.

    record_feature_implementation
your agent · mcp session
  1. you ›Implement iteration I-1
  2. next_iteration_item(I-1)
  3. F-3 Password reset · rules 4 · entities User, ResetToken · tests T-7, T-8
  4. record_test_automation(T-7 ✓, T-8 ✓)
  5. record_feature_implementation(F-3)
  6. F-3 Implemented · next: F-4

Your features. Any agent builds them.

ContextsBase holds the features. The agent you already use builds them. Any MCP client connects with one config block and a scoped token.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Any MCP client
{
  "mcpServers": {
    "contextsbase": {
      "url": "https://app.contextsbase.com/api/v1/mcp",
      "headers": { "Authorization": "Bearer mcp_live_…" }
    }
  }
}

Free for one project.

Free

Free forever

$0

One real project, fed to your agent.

  • 1 project
  • 100 features
  • 3 members
Create free project

Premium

Coming soon

$5per month

Cancel any time.

  • Unlimited projects
  • Unlimited features
  • Unlimited members
Coming soon

Questions about using ContextsBase as Jira for AI agents.

What does “Jira for AI agents” mean?

It means the place where the work to be built is written, when the builder is an AI coding agent. In ContextsBase that place is the Features module. Instead of tickets assigned to people, you write business features: what the feature does, its rules, its edge cases, its entities, and its test cases. Agents such as Claude Code, Cursor, and GitHub Copilot read them over MCP and build them.

Does ContextsBase replace Jira?

Yes, for software your agents build. There are no tickets, assignees, sprints, or status columns to maintain. You write a feature once and order it into an iteration; that is the whole planning step. The agent pulls it, builds it, and records the result. Teams that still use Jira for non-engineering work can keep it there, but the engineering backlog lives in ContextsBase.

What is a feature in ContextsBase?

A feature (F-1, F-2, and so on) is a page you write in a Notion-style editor, filed in a folder tree alongside your entities, test cases, and iterations. It holds what the feature does, the business rules it must obey, its edge cases, the entities it touches, and Given/When/Then test cases. It is a draft until you publish it. Agents only read published features, so nothing half-written reaches them.

How do I assign a feature to an agent?

You do not. Put features into an iteration in the order you want them built and open it to agents. Any connected agent calls next_iteration_item and receives the next unclaimed feature with its spec, entities, and test cases. Claims are atomic, so two agents never build the same feature.

Which AI agents can build from ContextsBase?

Any Model Context Protocol (MCP) client, including Claude Code, Cursor, GitHub Copilot, and Windsurf. ContextsBase does not supply an agent. You connect the one you already use with one config block and a scoped token.

How do I know a feature is actually done?

The agent calls record_test_automation with the Playwright result for each test case, then record_feature_implementation for the feature. The record sits beside the spec: Implemented, which agent built it, which tests passed, and a fingerprint of the exact spec it read. If you edit the feature later, that record is marked Outdated until the agent rebuilds, so the spec and the code never silently drift apart.

Is there a free plan?

Yes. The Free plan includes one project, 100 features per project, three members, one MCP token, and unlimited open iterations. A Premium plan at $5 per month is coming soon.

Stop writing tickets. Write features.

One feature, one iteration, one line of config. Your agent is building from it in ten minutes.

Jira is a trademark of Atlassian. ContextsBase is an independent product and is not affiliated with or endorsed by Atlassian. Learn more about ContextsBase, the knowledge base for coding agents, or contact support.