landschaft¶
Local kanban dashboards over GitHub issues. Landschaft is German for "landscape": the point is to see the whole terrain of a project at once, spot what is next and how far each epic has come, without paying for GitHub Projects.
A dashboard spans one or more repositories and lays their open issues out on a grid of swimlanes × columns, both defined by labels. Dragging a card swaps the labels on GitHub. Everything runs on your machine against a local SQLite cache that refreshes in the background.
Built with Astro (SSR, node adapter), React islands, Tailwind and Node's built-in SQLite. Tooling: mise for tasks and tool versions, aube as the package manager.
Two ways to run it¶
- Use it as a package — your dashboards are one JSON file in a (private) repo of their own; the engine is an installed dependency you update by bumping a tag. This is the path most people want.
- Develop from source — clone the repo and change the board, the sync or the settings UI directly. It is simply the repo as you see it.
Getting started covers both.
Where to go next¶
- Getting started — install, run, pin the engine
- Configuration — every field of
landschaft.config.json - How the board works — placement, dragging, epics, filters
- API — the local JSON endpoints the islands talk to
- How it works — the shape of the codebase
- Source on GitHub
Licensing¶
MIT. Your dashboards, cache and GitHub token stay on your machine; the engine talks only to the GitHub API.