Repository navigation
agent-board 0.2.0
Added
- Several boards. Create, rename and delete boards (only empty ones, never the last one) and switch between them from the footer. REST:
/quadros; MCP:listar_quadros,criar_quadro, and an optionalquadroonver_quadro,criar_cardandfiltrar_cards. - Search across titles, descriptions, comments, projects and tags, including archived cards (Ctrl+K).
- Tags with colours, and combinable filters (project, tag, author, column, in review, with reminder, recurring, period) kept in the URL.
- Project list with a colour, counts per column, last activity, pinning and hiding.
- Reminders per card, with done and snooze actions, and a query for agents (
lembretes_pendentes). - Recurring tasks (daily, weekly, monthly). Completing a card creates the next occurrence exactly once.
- Archive and undo. Cards are archived instead of deleted; Ctrl+Z undoes the last action. Writes carry a revision number so two sessions do not overwrite each other.
- Three themes (dark, light, glass) and wallpapers stored on the server, validated by content.
- CLI (
cli/agent-board.mjs) for agents without MCP, plus an instruction file for Claude Code. SECURITY.md,CONTRIBUTING.md, issue and pull request templates. English README.
Changed
- The header is a single row. Search, filters, projects and reminders open list panels instead of taking space above the board.
- Moving a card by column name now looks for the column in the card's own board.
- Authors without a preset colour get a stable colour derived from their name.
better-sqlite312, so the server runs on Node 20 and 22. CI tests both.- The Docker image runs as a non-root user and
docker composepublishes ports on localhost only.
Security
- CORS is off by default. Version 0.1 answered any origin while running without a key, so a website open in the browser could read and change a local board. Now, without a key, the server refuses unknown
Hostheaders and requests from other origins. Allowed origins are listed inBOARD_CORS_ORIGENS. - The server refuses to start on a non-local interface without
BOARD_API_KEY(override:BOARD_PERMITIR_ABERTO=1). - The API key is compared in constant time.
- Size limits on titles (300), descriptions and comments (50,000), project names (80) and author names (60).
Upgrade notes
- The database migrates itself on start; back up
board.dbfirst as a precaution. - If the interface was reaching the API from a different origin, set
BOARD_CORS_ORIGENS. - If the server was listening on
0.0.0.0without a key, setBOARD_API_KEYorBOARD_PERMITIR_ABERTO=1.
Full changelog: v0.1.0...v0.2.0