mforge
Work in progress. Early development — several commands listed below are not implemented yet, and the CLI surface may change without notice between releases.
Sync issues and pull requests from your git forges into a local store, then browse and manage them offline from the CLI or an interactive TUI.
mforge keeps a local SQLite mirror of the repositories you care about. Once synced, listing and reading issues and pull requests needs no network round-trip — useful on a slow connection, on a plane, or when you simply do not want to wait on a web UI.
Install
uv tool install mforge
or with pip:
pip install mforge
Requires Python 3.13 or newer.
Authentication
mforge reads your forge token from the OS keyring, falling back to environment variables when no keyring entry is present (headless machines, CI).
Store it in the keyring under service mforge:
keyring set mforge github
Or export it instead:
export GH_TOKEN="your-token" # or MFORGE_GITHUB_TOKEN
GitHub is currently the only implemented provider.
Quick start
mforge repo add owner/name # track a repository
mforge sync # pull issues and PRs into the local store
mforge issues all # list what you fetched
mforge ui # browse everything in the TUI
Commands
Top level
| Command | Description |
|---|---|
mforge sync [SLUG] |
Sync all tracked repositories, or just SLUG |
mforge ui |
Open the interactive TUI |
mforge version |
Print the installed version |
Repositories
| Command | Description |
|---|---|
mforge repo add SLUG [--provider-key github] |
Track a repository |
mforge repo list [--provider-key KEY] |
List tracked repositories |
mforge repo remove REPO |
Stop tracking a repository |
Issues
Not implemented yet.
Pull requests
| Command | Description |
|---|---|
mforge pr list |
List stored pull requests |
Global options
| Option | Description |
|---|---|
--db PATH |
Path to the SQLite store (default mforge.db) |
The database location resolves as --db > DB_PATH in .env > mforge.db in the
working directory.
License
GPL-3.0-or-later. See LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mforge-0.1.2.tar.gz.
File metadata
- Download URL: mforge-0.1.2.tar.gz
- Upload date:
- Size: 91.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff00b947b83fcc19dd88a7f07705febf6769e35a53bd91755af73e6bbeacbdb7
|
|
| MD5 |
de309a4e564a5920292fd019e1f89910
|
|
| BLAKE2b-256 |
39c913e1ed2ed9f515f1d75e68a3bf68b6ae8921c684df1175509189dd606b6e
|
File details
Details for the file mforge-0.1.2-py3-none-any.whl.
File metadata
- Download URL: mforge-0.1.2-py3-none-any.whl
- Upload date:
- Size: 57.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d69538125a1eb0a839d4e0b342ab2a34f987884b1bc489e6a488da00c2edcfe3
|
|
| MD5 |
87a33b31e6d966bb3711604a6fad7533
|
|
| BLAKE2b-256 |
2994acc8de34d5b5c85e9427b32c754cf42a48412917aa8d72d6c13431ff657c
|