Forgejo Accelerated https://fjx.tfks.net
  • TypeScript 95.5%
  • Dockerfile 2%
  • Shell 1.2%
  • Just 0.9%
  • CSS 0.3%
Find a file
agent-dev 7160d5b6d7 refactor(supervise): inject a Clock seam so backoff is testable without real timers
The scheduler read wall-clock time and slept through nine direct Date.now()/setTimeout calls, welding backoff-doubling and reschedule to real time — the timing-sensitive suite could only race real timers. Introduce a Clock interface (now + sleep), default runSupervisor to realClock, and route every scheduler time-read and sleep site through it. The token-window Date.now() calls inside dockerSpawnFn stay, since tests replace that spawn wholesale via the injected seam.

Add a FakeClock and two deterministic tests asserting exact backoff cadence (doubling/reset and ceiling plateau) in ~225ms each, with no timer flake. Existing real-timer tests are untouched and default to realClock.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-30 06:31:36 -07:00
.agents/commands/fjx fix agent-pm's command 2026-06-26 15:33:28 -07:00
.claude chore: install fjx commands under agents namespace 2026-06-23 06:00:55 +00:00
.codex/skills Initial commit 2026-05-13 17:40:37 +00:00
.forgejo/workflows feat: afk-mode §12 — MCP endpoint + fjx-mgmt image 2026-05-29 08:04:53 -07:00
.githooks Initial commit 2026-05-13 17:40:37 +00:00
.pi Initial commit 2026-05-13 17:40:37 +00:00
.vscode Initial commit 2026-05-13 17:40:37 +00:00
coverage feat(qa): surface failed-step output in qa checks 2026-06-24 19:41:31 -07:00
doc feat(qa): surface failed-step output in qa checks 2026-06-24 19:41:31 -07:00
images feat(dev): surface QA findings on direct handoff; gate just validate 2026-06-24 17:52:32 -07:00
mgmt fix(mgmt): type-check dynamic routes and guard their params 2026-07-29 21:47:46 -07:00
openspec improve exit typing 2026-07-27 09:52:39 -07:00
scripts feat: afk-mode §13–§14 — run-detail stats, avatar support, telemetry fixes 2026-06-19 21:09:15 +00:00
src refactor(supervise): inject a Clock seam so backoff is testable without real timers 2026-07-30 06:31:36 -07:00
wiki chore: rename pm tick → pm next, polish supervise telemetry 2026-06-02 09:30:30 -07:00
.dockerignore Initial commit 2026-05-13 17:40:37 +00:00
.gitignore chore: rename pm tick → pm next, polish supervise telemetry 2026-06-02 09:30:30 -07:00
AGENTS.md docs: migrate wiki/workflow/* refs to src/doc/* and fjx help 2026-05-14 02:52:33 -07:00
CLAUDE.md Initial commit 2026-05-13 17:40:37 +00:00
deno.json feat(supervise): wire telemetry adapter in supervise next, add run report output 2026-06-23 06:26:37 -07:00
deno.lock chore: supervise container shakedown + dotenv autoload 2026-06-22 22:55:53 -07:00
env.example chore: supervise container shakedown + dotenv autoload 2026-06-22 22:55:53 -07:00
fjx.json feat: afk-mode §1–§4 — project config, telemetry pipeline, release verbs 2026-05-27 13:04:11 -07:00
Justfile chore: rename pm tick → pm next, polish supervise telemetry 2026-06-02 09:30:30 -07:00
LICENSE publish to jsr 2026-05-13 12:43:01 -07:00
README.md chore: rename pm tick → pm next, polish supervise telemetry 2026-06-02 09:30:30 -07:00
test.just fix(adapter-codex): treat epoch-0 birthtime as missing 2026-06-21 10:15:19 -07:00

fjx

Forgejo Accelerated

validated published

FJX is an opinionated workflow & agent harness to help teams build software in a way that is both natural & observable to humans while allowing for agent acceleration. fjx is a CLI to the Forgejo API that helps agents perform their work safely & efficiently.

It is very much a work-in-progress and heavily opinionated. Enjoy yourself. Take only what you need from it.

Install

Requires Deno 2.x.

# Install as `fjx` on PATH
deno install -gA -n fjx jsr:@tfks/fjx

# Or run ad-hoc without installing
deno run -A jsr:@tfks/fjx --help

Setup

just setup   # check prereqs, configure git hooks, cache deps, copy .env
just         # list available recipes
just dev     # run with file watching

Environment variables

Variable Required Purpose
FJX_CACHE yes (agents) Path to the JSON cache file used for labels, PM sweep checkpoints, and current-item pointer. Set per-role (e.g. .fjx-cache-dev.json).
FJX_TOKEN one of the auth vars Forgejo personal access token (preferred).
FJX_USERNAME one of the auth vars Forgejo username for HTTP Basic auth.
FJX_PASSWORD one of the auth vars Forgejo password for HTTP Basic auth.

Auth priority: FJX_TOKENFJX_USERNAME/FJX_PASSWORD → credentials in the cache file.

Layout

  • src/main.ts — entry point
  • Justfile — task runner
  • runbooks/ — operational workflows (also exposed as /runbooks:<name> slash commands)
  • wiki/ — repo-local memory
  • AGENTS.md — operating manual for AI agents (and humans)
  • .forgejo/workflows/ — CI/CD