Getting started¶
What you need¶
- mise, or Node 26+ and a package manager of your choice
ghlogged in (gh auth login), or aGITHUB_TOKENwithreposcope in the environment
Use as a package¶
A dashboards repo is a package.json, a landschaft.config.json and a git-ignored
landschaft.db — nothing else:
{
"name": "my-dashboards",
"private": true,
"type": "module",
"scripts": { "dev": "landschaft dev", "build": "landschaft build", "start": "landschaft start" },
"dependencies": { "landschaft": "github:fancysnake/landschaft#v0.2.0" }
}
# mise.toml
[tools]
aube = "2.2.14"
node = "26.10.0"
[hooks]
enter = "aube install"
[env]
_.path = ['{{config_root}}/node_modules/.bin']
[tasks.dev]
run = "aube run dev"
Open Settings, create a dashboard, add repositories and define swimlanes and columns.
Saving writes landschaft.config.json next to package.json and triggers the first sync; once
labels are cached the pickers suggest them. Commit the config; the cache is disposable.
The CLI:
| Command | What it does |
|---|---|
landschaft dev |
Dev server at http://localhost:4321 (default command) |
landschaft build |
Build the production server into ./dist |
landschaft start |
Serve the production build from ./dist |
Config, cache and the production build are read from and written to the directory you run in. LANDSCHAFT_CONFIG and
LANDSCHAFT_DB override the paths.
Pin the version, and force the upgrade¶
There is no registry release behind github: — the package manager resolves the ref once,
writes the commit into the lockfile, and reuses that commit forever. So pin the tag you want
and treat it as the version, as the dependencies entry above does.
To move to a new release, bump the tag and re-install, then commit the lockfile:
Released versions are the tags.
Develop from source¶
git clone https://github.com/fancysnake/landschaft.git
cd landschaft
mise install # node, aube, hk, pkl; `aube install` runs on enter
mise run dev # http://localhost:4321
The repo has no config of its own: copy landschaft.config.example.json to
landschaft.config.json (git-ignored) or create a dashboard in Settings. mise tasks lists
everything; mise run fullcheck is the gate before a commit.