GigaFlex: an autonomous OpenSpec plan runner for GigaCode CLI
gigaflex
A Python runner executes tasks from tasks.md one GigaCode iteration at a time, then five reviewers and a finalize pass, with a separate commit per task
- 2 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- The runner launches GigaCode in automatic edit mode with shell commands allowed, so the agent runs commands and makes commits itself
- Iterations run through the plan without stopping for confirmation, so a mistake in one task can spread across following commits
Install
- Services
Manual install
PYTHONPATH=/path/to/gigaflex/python python3 -m gigaflex.cli --initDownload the repository archive from GitHub, then run the gigaflex.cli module from the target project root; gigacode must be in PATH.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The runner launches GigaCode in automatic edit mode with shell commands allowed, so the agent runs commands and makes commits itself
- Iterations run through the plan without stopping for confirmation, so a mistake in one task can spread across following commits
This is third-party code. Review the repository files before installing.
What it does
GigaFlex rewrites ralphex ideas in Python and calls gigacode through a configurable CLI boundary. The main scenario: an OpenSpec change defines the contract and the runner executes groups from tasks.md in turn, keeping proposal.md, design.md and specs read-only. Each iteration runs in a disposable snapshot of the working tree and only validated linear commits reach the branch. After all tasks, five specialist reviewers examine the total diff from the pinned base commit in parallel, a synthesis step fixes findings, and a finalize pass follows. Superpowers plans from docs/superpowers/plans/*.md run directly. Progress shows in a local HTML dashboard.
Who it is for. Teams on Sber GigaCode that drive changes through OpenSpec and want the agent to work through tasks, review and finalize on its own.
Good fit when
- An OpenSpec change with tasks.md is ready and has to be implemented task by task in separate commits
- An independent review of the final diff by five reviewers is wanted before the change is archived
- A long run was interrupted and has to continue from the last successful phase without repeating review
- A Superpowers plan has to be executed autonomously, iteration by iteration, on GigaCode
Not a fit when
- The agent works in Claude Code or Cursor: the runner calls gigacode specifically
- You want a person to control every edit: the runner commits and runs shell commands itself
- The working tree is dirty and must not change: the runner refuses that by default
Example request
Execute the openspec/changes/add-dark-mode change through GigaFlex: one group from tasks.md at a time, then review and finalizeLimitations
The runner expects the GigaCode CLI in PATH with authorization, and testing was done on version 26.5.17. Tasks, review and finalize run in automatic mode with run_shell_command allowed, so the agent runs commands and makes commits on its own. There is no package install: the repository is downloaded as an archive and launched through PYTHONPATH. There is one author, two stars and a young, fast-changing repository. Every run keeps history in .git/gigaflex/runs, which has to be cleaned manually.
How to disable. Stop the run with Ctrl+C, delete the .gigaflex directory and the .git/gigaflex history if needed, and remove the downloaded gigaflex copy from PYTHONPATH.
FAQ
What does it need to run?
A git repository with a clean working tree, an installed and authorized gigacode and Python; there is no installable package and the runner is launched through PYTHONPATH.
How does GigaFlex call GigaCode?
With gigacode --approval-mode=auto-edit --allowed-tools run_shell_command -p and the generated prompt; the arguments change through the gigacode_args setting.
Can an interrupted run be continued?
Yes, --resume creates a new attempt in the same logical run and reuses a finished review if the tree and HEAD are unchanged; --restart begins from scratch.
How do I follow progress?
The runner writes status-<plan>.html and JSON into .gigaflex/progress and opens the dashboard in a browser; --no-open-dashboard disables auto-opening.
Where does the idea come from?
It is a small standalone rewrite of the useful core of umputun ralphex in Python for GigaCode.
Discussion
No questions or reviews yet.
Related
All GigaChat toolsGigaCode project flows with hooks, gates and OpenSpec
gigacodeAgents
A monorepo of flows for the GigaCode CLI: development with stages and hard gates, a work progress observer and reverse analysis of code into a spec
SDD on OpenSpec for GigaCode
sdd-gigacode
Spec-driven development on OpenSpec for a multi-repository product: a shared spec store, BA and SA roles and skills for GigaCode
The agent writes code, people decide, and gates are held by hooks in Claude Code, Codex, Cursor, OpenCode, Qwen Code and GigaCode
QA Agent for the GigaCode CLI: 14 roles and 6 skills for testing
QaAgentGigacodeCli
Requirements-based testing in GigaCode: from analysis and autotest review to a conclusion, with duplicate search before a bug is filed in Jira
GigaCode Bridge MCP
Gigacode-bridge-mcp
MCP server that delegates isolated code edits to GigaCode CLI in temporary Git worktrees and returns a patch for independent review
Process Kit for GigaCode
process-kit
A GigaCode workspace where the assistant takes a task in words, finds a ready process made of steps and runs it with a plan and a report in outputs
README in short
The README lists runner features: OpenSpec and Superpowers plans, iterations in working-tree snapshots, checkpoints and resume, five parallel reviewers, launching gigacode through the CLI with parameters, the dashboard and run history in .git/gigaflex.