TRUSS-2 working on moving to Rust

This commit is contained in:
Blake Ridgway
2026-08-19 01:30:58 +00:00
parent fdbe23e1d9
commit a490de2c3f
10 changed files with 1881 additions and 1397 deletions

45
README.md Normal file
View File

@@ -0,0 +1,45 @@
# Truss
A small, dynamically-rendered kanban server for the Arcline TODO board.
The server reads `TODO.md` and the per-track board files, renders the board with
Rust + Axum + Minijinja, and persists card changes back to the same Markdown files.
## Quickstart
```bash
cargo run
```
Then open <http://localhost:5000>.
## Board files
- `TODO.md` is the master board.
- `TODO-msp.md` is the MSP / IT track.
- `TODO-os.md` is the OS / open-source track.
The MSP and OS board files are auto-generated from `TODO.md` on startup if they
do not already exist.
## HTTP API
| Method | Route | Description |
| ------ | ----- | ----------- |
| `GET` | `/` | Board index |
| `GET` | `/{board}` | Rendered board (`msp` or `os`) |
| `GET` | `/api/{board}/board` | Board data as JSON |
| `POST` | `/api/{board}/cards` | Create a card |
| `PUT` | `/api/{board}/cards/{card_id}` | Update a card |
| `DELETE` | `/api/{board}/cards/{card_id}` | Delete a card |
| `POST` | `/api/{board}/cards/{card_id}/move` | Move a card to another column |
| `POST` | `/api/{board}/reload` | Reload a board from disk |
## Development
```bash
cargo test
cargo clippy --all-targets --all-features -- -D warnings
cargo fmt --check
```