Repository ledgerline/web Repository ledgerline/api

One context, every repo. One plan, the right repo per story.

List your team's repos once. One plan across repos: one story index and one sprint over stories from any repo. Each story opens in its own repo, with no manual cd or clone picking.

One team's context, in every repo your team lists.

Your team lists the repos it works in. Write a skill once. Each Claude Code agent you launch in your team’s repos gets it as a real file, hidden from git, as does any agent whose context names it.

In-repo CLAUDE.md files and skills drift across copies. Here there is one copy, and it's yours.

File teams.yml YAML
teams:
  - name: billing
    source_repos:
      - owner: ledgerline
        repo: web
      - owner: ledgerline
        repo: api
How context lands in a worktree

One plan across repos: one story index and one sprint over stories from any repo.

An epic lists the repos it spans. Its stories can live in either one, and dependencies, readiness and the sprint read them all from one team-wide index.

File plans/checkout-v2/ README.md Markdown
---
type: epic
repos:
  - ledgerline/web
  - ledgerline/api
---
# Checkout v2
Plan an epic across repos

Each story opens in its own repo, with no manual cd or clone picking.

Launch a story’s agent from its card and it starts in the story’s own worktree and repo, with your team’s context landing there.

If you haven’t added that repo yet, CodeSense asks you to first.

Each story names its repo in source_repo; a story missing one is flagged so you can fix it.

File plans/checkout-v2/ API-7-refund-endpoint.md Markdown
---
type: story
story_id: API-7
status: in-progress
source_repo: ledgerline/api
depends_on: [API-6]
---
# Refund endpoint
How launches route to a repo

Every repo's work in one table.

Query and dashboard every repo’s work in one place, and filter on source_repo for one repo’s slice.

Put a csquery block in any markdown file and it renders as a live, read-only table of the stories it matches. Filter on status or any frontmatter field, source_repo included.

File README.md Markdown
```csquery
tag: type=story
status: in-progress, review, blocked
# drop the next line to see every repo
tag: source_repo=ledgerline/api
view: table
columns: name, status
```
Build a csquery table

What we haven’t found anywhere else:

One team’s context chain, copied as files into each agent’s worktree when it launches, across every repo your team lists.

Cursor Team Rules and GitHub Copilot organization instructions also reach every repo, inside their own tools. The difference is that ours are plain files in each worktree, so whichever agent runs there reads them.

Coming

What we don’t do:

A single story that changes two repos (split it into one story per repo), or coordinated pull requests across repos merged as one change.

List your repos once. Every story knows where it runs.

Apply for the private beta