How gianniacquisto/tandem works
Tandem is a local ticket board and shared markdown-notes tool for people and AI coding agents. The main workflows are serving the board in a browser and handling agent requests through MCP; both use the local home, while doctor reports its health. Inside the core, RPC dispatches domain operations, and the domain/store seam commits board state. Groups and paths follow the repository tree. Some links are based on README statements or source-index references; unsampled modules are not treated as inspected.
Main entry points: rpc/mod.rs RPC dispatch · serve/mod.rs Board server · board.rs Board operations · store/mod.rs SQLite store
Components 17
User and agent faces
- CLI
rust/cli/src/main.rs - Board server
rust/core/src/serve/mod.rs - Board and sheets
rust/core/src/serve/board.rs - Notes interface
rust/core/src/serve/notes.rs - MCP server
rust/core/src/mcp.rs
Core and domain
- RPC dispatch
rust/core/src/rpc/mod.rs - Wire contract
rust/core/src/wire/rpc.rs - Board operations
rust/core/src/domain/board.rs - Ticket filtering
rust/core/src/domain/query.rs - Ticket model
rust/core/src/domain/ticket.rs - Ticket markdown
rust/core/src/domain/markdown.rs
Notes and diagnostics
- Notes vault
rust/core/src/bikeshed/mod.rs - Health report
rust/core/src/diagnostics.rs
Local persistence
- SQLite store
rust/core/src/store/mod.rs - Local home and files
Other components
- Person
- AI agent
Connections 17
- Person → Board server: uses board
README.md - Board server → Board and sheets: routes requests
rust/core/src/serve/mod.rs - Board server → Notes interface: routes requests
rust/core/src/serve/mod.rs - Person → CLI: runs commands
README.md - AI agent → MCP server: sends requests
README.md - MCP server → RPC dispatch: uses protocol
rust/core/src/mcp.rs - RPC dispatch → Wire contract: dispatches frames
rust/core/src/rpc/mod.rs - RPC dispatch → Board operations: calls operations
rust/core/src/rpc/mod.rs - RPC dispatch → Notes vault: calls note actions
rust/core/src/rpc/mod.rs - Board operations → SQLite store: reads and writes
rust/core/src/domain/board.rs - Board operations → Ticket model: updates tickets
rust/core/src/domain/board.rs - Ticket filtering → Ticket model: filters tickets
rust/core/src/domain/query.rs - RPC dispatch → Ticket markdown: parses blocks
- Notes vault → Local home and files: reads and writes files
README.md - SQLite store → Local home and files: persists local data
README.md - CLI → Health report: runs health check
README.md - Health report → SQLite store: checks store health
rust/core/src/diagnostics.rs