A unified, markdown-based project status board across all active work, maintained on demand with AI assistance.
  • Python 98.7%
  • Just 1.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-12 20:15:43 +10:00
.claude 🔧 add claude remote, commit identity, and settings allowlist 2026-05-14 17:19:58 +10:00
.forgejo/workflows 🔥 remove automatic weekly board update 2026-08-28 18:42:00 +10:00
docs ♻️ rename Codeberg wording in docs 2026-08-16 08:55:08 +10:00
src/yilan 🐛 fail when no repositories are discovered 2026-08-16 18:09:22 +10:00
tests 🐛 fail when no repositories are discovered 2026-08-16 18:09:22 +10:00
.gitignore 🔧 bump deps 2026-07-08 15:38:24 +10:00
.gitleaks.toml 👷 migrate CI from Woodpecker to Forgejo Actions 2026-07-08 15:42:15 +10:00
.pre-commit-config.yaml ⬆️ bump deps 2026-08-28 18:41:21 +10:00
AGENTS.md 🔥 decommission Specifications.md into AGENTS.md 2026-08-16 15:35:11 +10:00
AI-DECLARATION.md 📝 clarify AI declaration spec link text 2026-07-12 06:49:27 +10:00
board-config.toml 🔧 add committed board config for the bot 2026-08-16 16:53:03 +10:00
BOARD.md Update with latest changes 2026-09-12 20:15:43 +10:00
CHANGELOG.md 📝 update changelog for 0.5.1 2026-08-28 18:44:02 +10:00
CLAUDE.md 🚚 migrate source references from codeberg.org to forge.marvin8.zone 2026-08-07 09:20:54 +10:00
Justfile 🚚 migrate source references from codeberg.org to forge.marvin8.zone 2026-08-07 09:20:54 +10:00
LICENSE.md 📝 add README and LICENSE (AGPL-3.0-or-later) 2026-05-15 13:44:46 +10:00
mkdocs.yml ♻️ rename Codeberg wording in docs 2026-08-16 08:55:08 +10:00
noxfile.py ⬆️ bump deps 2026-08-28 18:41:21 +10:00
pylock.toml ⬆️ bump deps 2026-08-28 18:41:21 +10:00
pyproject.toml 🔧 bump: version 0.5.0 → 0.5.1 2026-08-28 18:44:03 +10:00
README.md ♻️ rename Codeberg wording in docs 2026-08-16 08:55:08 +10:00
Release-Notes.md 📝 note board automation in release notes 2026-08-16 18:11:12 +10:00
Release-Notes.md.template 👷 migrate CI from Woodpecker to Forgejo Actions 2026-07-08 15:42:15 +10:00
Roadmap.md ♻️ rename Codeberg wording in docs 2026-08-16 08:55:08 +10:00
uv.lock 🔧 bump: version 0.5.0 → 0.5.1 2026-08-28 18:44:03 +10:00

yilan

Repo Docs CI

Codestyle

AGPL

yilan is a command-line tool that fetches data from forge.marvin8.zone via the Forgejo API and renders a unified markdown project status board (BOARD.md). It replaces a 600-line PEP 723 single-file script with a proper installable CLI package. It is a personal tool — no multi-forge support, no PyPI release.

Install and run from Source

Clone the repository:

git clone https://forge.marvin8.zone/marvin8/yilan.git

yilan uses uv for dependency management; please install uv before proceeding.

Install all required Python modules:

uv sync

Set your Forgejo API token (read-only scope is sufficient):

export FORGE_TOKEN=<your-token>

Run a dry-run to verify output without writing any file:

uv run yilan --dry-run

To write BOARD.md in the current directory:

uv run yilan

Configuration lives at ~/.config/yilan/config.toml — define owners, monorepos, intent files, and concepts there.

Significance of the name yilan

Yilan (一览, yīlǎn) is a classical Chinese word meaning "to take in everything at a single glance" — as in 一览无余 (yīlǎn wúyú, "nothing escapes the eye"). The tool's job is exactly that: pull every active repository into one board so nothing slips out of sight.

Licensing

yilan is licensed under the GNU Affero General Public License v3.0 or later.