A CLI inspired by TaskWarrior that uses forge issues to manage tasks.
  • Rust 95.6%
  • Nix 2.6%
  • Just 1.8%
Find a file
D. Moonfire 76ff900bab
fix: corrected a bug with release mode
Signed-off-by: D. Moonfire <d.moonfire@moonfire.us>
2026-06-15 11:31:18 -05:00
.config refactor: code clean up 2026-06-02 22:29:55 -05:00
.sqlx feat: added sync_seconds to the various database elements 2026-06-08 21:21:01 -05:00
docs refactor: code clean up 2026-06-02 22:29:55 -05:00
migrations feat: added sync_seconds to the various database elements 2026-06-08 21:21:01 -05:00
news refactor: changing the flag because "fiss cache sync --sync always" was cumbersome 2026-06-13 14:52:07 -05:00
src fix: corrected a bug with release mode 2026-06-15 11:31:18 -05:00
.editorconfig build: updated flake and project setup 2026-06-02 22:23:31 -05:00
.envrc feat: FISS_CONFIG_DIR can now change the configuration location 2025-02-14 18:08:07 -06:00
.gitignore refactor: adding SQL formatting 2026-06-07 16:04:14 -05:00
.prettierignore build: updated flake and project setup 2026-06-02 22:23:31 -05:00
Cargo.lock feat: implemented nested progress bars for syncing 2026-06-09 09:37:41 -05:00
Cargo.toml docs: updating cargo description 2026-06-15 08:44:53 -05:00
CODE_OF_CONDUCT.md build: setting up mfgames-project-setup 2025-02-01 10:55:43 -06:00
DCO.md build: setting up mfgames-project-setup 2025-02-01 10:55:43 -06:00
flake.lock build: switching to rust-flake 2026-06-03 09:43:27 -05:00
flake.nix refactor: adding SQL formatting 2026-06-07 16:04:14 -05:00
Justfile build: refactoring the build system 2026-06-02 22:29:34 -05:00
LICENSE.md docs: rough documentation 2025-02-07 22:57:02 -06:00
README.md docs: do not need the code span for Radicle links 2026-06-13 15:06:25 -05:00
rust-toolchain.toml build: switching to rust-flake 2026-06-03 09:43:27 -05:00
TASKS.md refactor: code clean up 2026-06-02 22:29:55 -05:00

Fiss

A command-line interface for working with forge issues inspired by TaskWarrior.

⚠ This is alpha work. It barely works, it requires manual editing of configuration files, it doesn't play well with servers and throttling, and basically it is a large, crude hammer at this point. There is a lot of work to be done on it, but it does do the minimum it needs to.

Fiss is a command-line tool (fiss) that treats issues from forges (Forgejo only) as tasks. This uses the state (open, closed) and the assigned do to figure out if a task is available (open), started (open and assigned), or done (closed). In the future, this will take into account dependencies to allow blocking of tasks, tags for grouping those, and milestones for projects.

Configuration

Configuration file uses the XDG standard but will normally put files into $HOME/.config/fiss/fiss.yaml.

servers:
    mfgames:
        url: https://src.mfgames.com/
        forge: forgejo
        token: NotGonnaTellYou
        groups:
            fiss:
                projects:
                    fiss: {}

Usage

Right now, there is no automatic retrieval of tasks, so the cache sync command needs to be run after the configuration is setup. As with most commands, the logging is mostly silent but using -v will increase verbosity. More -v will add details with -vvvv being the most.

fiss cache sync

Once issues are pulled down, they can be listed by either of the two commands:

fiss list
fiss issue list

Creating issues requires knowing the server (from the configuration), the organization/group name, the project/repo name. These can be stored in environment variables to simplify the code (FISS_SERVER, FISS_GROUP, and FISS_PROJECT respectively).

fiss add -s mfgames -g fiss -p fiss --title "Name of the issue"

export FISS_SERVER=mfgames
export FISS_GROUP=fiss
export FISS_PROJECT=fiss

fiss add -t "Second Issue

The rest of the commands assume the three environment variables are set.

Issues can be open and closed using their number.

fiss open --issue 3
fiss close -i 3

As with most CLIs, --help on any command will give more details.

Environment Variables

In addition to the environment variables above, the following are also used:

  • FISS_CONFIG_DIR: The directory that contains the configuration file. This defaults to the $XDG_CONFIG_HOME/fiss if not defined.
  • FISS_CACHE_DIR: The directory that contains the cached data from the servers. This defaults to the $XDG_CACHE_HOME/fiss if not defined.