Skip to content

Forge

Project website on GitHub Pages

Latest release Download CLI zip (arm64) Changelog

Swift 6 macOS 14 or later Apache License 2.0 Local-first privacy Kanban with Finder tags

Local, Finder-tagged kanban project management for macOS.
Kanban board · Finder tags · ordinary folders · no Forge-hosted servers.


Forge is a kanban board for project tracking built on ordinary folders and Finder tags. It is local-first: your projects live in your own directories, and Forge does not require any hosted service.

Who is Forge for?

Forge is for people who think in files and folders first, and who want a transparent system built on ordinary directories, Finder tags, and markdown files.

Forge works well if you:

For a longer tour of concepts and workflows, see the user manual in docs/forge-manual.md.

Components

Component Description
forge CLI Command-line interface for board views and project moves/tags
Forge.app Menu bar companion and board window
Neovim plugin Keymaps, commands, and dashboard integration via forge-nvim.lua

Project website

The public site is simonab.github.io/forge (fork: https://<user>.github.io/<repo>/). Landing page: docs/index.html with docs/assets/site.css and docs/favicon.svg.

The full documentation is also published as static HTML next to the landing page, generated from the same markdown as the repo (README.md, CHANGELOG.md, PRIVACY.md, docs/cli.md, docs/app.md, docs/hermes.md, docs/neovim.md, docs/forge-manual.md):

Page Source
docs/cli.html docs/cli.md
docs/app.html docs/app.md
docs/hermes.html docs/hermes.md
docs/neovim.html docs/neovim.md
docs/manual.html docs/forge-manual.md
docs/privacy.html PRIVACY.md
docs/readme.html README.md
docs/changelog.html CHANGELOG.md

Regenerate the *.html files after editing documentation (also done automatically in .github/workflows/pages.yml on pushes to main):

pip install -r docs/requirements.txt   # once per environment
python3 docs/build_site.py

To publish with GitHub Pages, open Settings → Pages, set Build and deployment Source to GitHub Actions (not “Deploy from a branch”).

Quick start

Pre-built binaries (macOS 14+, Apple Silicon arm64):

See all releases. Intel Macs: build from source with build.sh. Developers syncing source via iCloud typically still use build.sh below so the CLI and app stay in sync with local changes.

# On a fresh Mac where Forge source has synced via iCloud Drive:
zsh ~/Documents/Forge/build.sh

This builds the Swift project, creates /Applications/Forge.app, and registers a Launch Agent so the menu bar app starts at login. To put forge on your terminal $PATH, use Forge → Preferences… → Install CLI…. The script only touches the Forge source directory, ~/.forge-build, and your local application folders; it never sends any data off your Mac. See setup details.

Requirements

Run build.sh once per Mac after your Forge directory has synchronised (for example via iCloud Drive or git). Your tasks and configuration remain plain-text files in the Forge directory, shared across machines however you choose to sync.

Privacy and data model

See PRIVACY.md for a fuller description of what Forge stores, how sync works, and how to run without Calendar access or with local-only storage.

If you use an AI assistant with Forge output (for example pasting forge brief into a chat), the privacy-first recommendation is Hermes Agent with Ollama on your Mac (python3 scripts/setup-hermes-forge.py — see docs/hermes.md). You may also use a cloud assistant when you need more capability — Forge stays agnostic. See AI assistants and local language models in PRIVACY.md for setup and trade-offs.

AI assistants (optional)

If you use a coding assistant with this repo, AGENTS.md is the operating manual (Hephaestus stance, OmniFocus integration, kanban rules, brief format). Supporting material: .cursor/rules/ (CLI, workflows, GTD tasks), docs/hermes.md (Hermes + Ollama setup), PROJECT_TEMPLATE.md (new project READMEs), and python3 scripts/forge-brief.py for read-only board briefs without any LLM.

Directory layout

~/Documents/Forge/              Forge home (synced via iCloud Drive)
├── AGENTS.md                   Assistant operating manual (kanban + OmniFocus)
├── config.yaml                 Configuration (board columns, workspace roots, tags)
├── build.sh                  Per-Mac build & install script
├── generate_icon.py            App icon generator (requires Pillow)
├── Sources/                    Swift source code
├── Package.swift               Swift package manifest
└── docs/                       Documentation
    ├── cli.md
    ├── app.md
    └── neovim.md

~/Documents/Work/Projects/      Workspace (project directories)
├── ProjectA/
├── ProjectB/
└── ...

Projects are ordinary directories. Their kanban column is stored as a Finder tag (visible in Finder and readable by Spotlight).

Configuration

Start from config.sample.yaml and copy it to config.yaml, then adjust paths and names to match your setup. Key sections:

Multi-Mac sync

Source code and markdown files sync automatically via iCloud Drive. The compiled .build directory is kept outside iCloud at ~/.forge-build (symlinked into the source tree). Run build.sh on each new Mac to build locally.

Licence

Forge is distributed under the Apache License, Version 2.0. See the LICENSE file in this repository for the full text.