Project management that lives in your repo.

lovelace.co · 2026-07-23 · by Long Nguyen ·generic
Lovelace is a free, local-first project management app for developers who work with AI coding agents. Your tickets, docs, and agent sessions are stored as plain Markdown in your repo. No server, no database, no cloud.

Project management that lives in your repo.

Project management that lives in your repo.

The free and private app for managing your software project.

Download for macOSOther platforms

Define conflict policy for concurrent agent writes

Git High T-0151

Session log viewer: collapse tool calls

Sessions Low T-0148

Surface frontmatter validation errors inline

Schema Medium T-0144

Add ticket

Implement update\_ticket with frontmatter patching

MCP High 1m 23s T-0142

Board column virtualization for large projects

Desktop Medium T-0139

Add ticket

query\_tickets: filter by epic, status

MCP Medium T-0131

Epic progress derived from ticket files

Schema Low T-0128

Add ticket

create\_ticket writes valid frontmatter

MCP T-0122

.lovelace/ directory layout

Schema T-0119

Ticket ID allocation safe under parallel agents

Schema T-0117

Add ticket

01

Project Management

Boards, tickets, and epics as files inside the repo, indexed by one YAML workflow file.

Backlog 0

The title is all you type. The schema fills the rest: type task, status backlog, and the next ID from the project counter.

02

Documentation

Briefs as Markdown files, navigated via a knowledge tree, linked to other assets project-wide.

index.md documentation/architecture/

index.md caching.mdstale

documentation/domain/

index.md

index.md

The root document: a project summary and the reading order. An agent reads this first, then follows each directory's index.md down to what it needs.

stale · review\_by 2026-06-01

Summaries come from the files' frontmatter; indexes and agents read them without opening the body. Wiki-links like \[\[T-0142\]\] tie documents to tickets.

03

The Views

Lovelace allows you to interact with your project using methods already familiar.

Work

In Progress 3

Validate link integrity in the indexer

Indexer High T-0142 · 4m

Cache the digest

Medium T-0143

Index wiki-links across docs

Indexer Medium T-0144

In Review 2

Report depends\_on cycles once

Low T-0141

Badge stale docs in the tree

Medium T-0145

#### Board

Tickets grouped by status, columns from your workflow, with your agent moving tickets alongside you.

In Progress 2

Validate link integrity in the indexer Indexer High 4 Jul T-0142

Cache the digest Medium 3 Jul T-0143

In Review 1

Report depends\_on cycles once Low 2 Jul T-0141

Done 2

Ship the board reorder 1 Jul T-0140

Wire the session hooks 28 Jun T-0139

#### List

Every ticket visible, filterable, and editable in a single table view.

Knowledge

index architecture index caching_stale_ decisions domain index tickets sessions

#### Documentation

Your project's documentation. A living organism of your project, its architecture, and any decisions you've made.

context architecture caching decisions domain sessions

#### Graph

A visual representation of your documentation and all connections between them.

04

The Agent Integration

An MCP server, hooks, and slash commands for Claude Code, installed by the app in one click.

the MCP tools · click one

create\_ticket Validate fields against the schema, assign an ID, write the file

create_ticket(type: "task", fields: {title: "Cache the digest"}) ✓ T-0143.md written · status: backlog

update\_ticket Patch fields and status; locked core fields are rejected

update_ticket(id: "T-0142", fields: {priority: "medium"}) ✓ one field rewritten · updated bumped

describe\_schema Return the project's types, fields, statuses and priorities

describe_schema() types, fields, statuses, priorities for this project

query\_tickets Filter by status, type, assignee, parent or custom field

query_tickets(filters: {status: "in_progress"}) 1 match: T-0142

read\_document Return a document's body, or a landing page plus child summaries

read_document(id_or_path: "documentation/architecture") index.md + children, summaries only

log\_session Write an append-only session record

log_session(ticket: "T-0142", approach: "…", outcome: "completed") ✓ S-0032.md written

set\_active\_ticket Record the ticket the session is working on

set_active_ticket(id: "T-0142") ✓ recorded (machine-local, gitignored)

search Plain-text search across entity bodies and titles

search(query: "cycle detection") 2 hits: T-0142, S-0031

Try Lovelace on your repo.

Free for macOS, Windows, and Linux. No sign up.

Download for macOSOther platforms

lovelace.co · 5 links

Comments (0)

No comments yet