AI-ready workflow contract for software projects.
Project description
Fluxy
Fluxy is an AI-ready workflow contract for software projects.
It gives a project one clear place to describe how to run, test, validate, and ship safely. Humans can use it. CI can use it. AI coding agents can use it without guessing which README command is still correct.
pip install fluxy
fluxy init
fluxy doctor
fluxy run check
What is Fluxy?
Fluxy is a small command-line tool built around a fluxy.yml file.
That file describes the workflows a project supports: linting, tests, builds, environment checks, release steps, and commands that should not be run without human confirmation.
Fluxy is not trying to be another general-purpose task runner. The product idea is higher-level: Fluxy is a contract between a software project, its developers, CI, and AI agents.
Why Fluxy?
Most projects start with commands in a README:
pytest
ruff check .
python -m build
Over time those commands drift. The README says one thing, CI runs another, local scripts do a third thing, and a new developer has to guess what is safe. AI coding agents have the same problem: they can edit code, but they often do not know which commands validate the project or which commands are dangerous.
Fluxy turns those commands into an explicit workflow contract:
- define project commands once
- list safe workflows for humans and AI agents
- validate required environment variables without printing secret values
- protect release and deploy tasks behind human confirmation
- make
doctorthe first place to understand project health - leave room for CI generation from the same contract later
Cursor writes code. Fluxy tells it how to run, test, and ship safely.
Installation
pip install fluxy
For isolated CLI installation:
pipx install fluxy
Quick start
Create a workflow file:
fluxy init
Inspect the project:
fluxy doctor
List available workflows:
fluxy list
Run a workflow:
fluxy run check
Core commands
fluxy init # create fluxy.yml
fluxy list # show project workflows
fluxy run <task> # run a workflow
fluxy run <task> --agent # only allow agent-safe workflows
fluxy env check # verify required environment variables
fluxy env check --task release
fluxy doctor # inspect config, tasks, env, and safety rules
fluxy --version # show installed version
Python API
Fluxy also exposes a small Python API for tools that want to inspect the same workflow contract:
from fluxy import check_environment, list_tasks, load_workflow, run
workflow = load_workflow("fluxy.yml")
print(list_tasks(workflow, agent_safe=True))
print(check_environment(workflow))
run(workflow, "check", agent=True)
See docs/API.md for the public v0.4 API surface.
Example workflow
project: my-python-package
tasks:
lint:
description: Run static checks.
agent_safe: true
cmd: ruff check .
test:
description: Run the test suite.
agent_safe: true
cmd: pytest
check:
description: Run all local validation before a pull request.
agent_safe: true
steps:
- task: lint
- task: test
build:
description: Build distribution files.
agent_safe: true
cmd: python -m build
release:
description: Upload the package after human review.
protected: true
agent_safe: false
env:
- name: PYPI_API_TOKEN
description: Required only for release.
secret: true
steps:
- task: check
- task: build
- run: python -m twine upload dist/*
Protected tasks require human confirmation:
fluxy run release
Non-interactive environments can use --yes only after an explicit human
decision:
fluxy run release --yes
AI agents
Fluxy has a first-class idea of agent-safe workflows.
An AI coding agent can run:
fluxy list --agent-safe
fluxy run check --agent
This gives the agent a safe list of commands without relying on README guessing.
If the task is not marked agent_safe: true, Fluxy refuses to run it in agent
mode. Protected tasks such as release or deploy are also blocked.
Fluxy does not include telemetry. It does not send project names, paths, command strings, environment variables, repository URLs, or usage events anywhere.
Roadmap
Fluxy v0.4.0 is the clean baseline:
- project init
- workflow listing
- task execution
- environment validation
- protected workflows
- agent-safe workflow mode
- doctor report
- professional package metadata and documentation
Future versions may add:
- CI generation from
fluxy.yml - richer schema validation
- watch mode
- reusable workflow templates
- safer release profiles
No cloud service, marketplace, hidden telemetry, or paid plan is part of the v0.4.0 scope.
License
Fluxy is released under the MIT License.
Author
Created by Jasurbek Kamilov.
Maintained as the Fluxy open-source project.
Project details
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 fluxy-0.4.0.tar.gz.
File metadata
- Download URL: fluxy-0.4.0.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50f6718ae48c83ac832deff600b22ad1deefd446bc9ed72d6c70e92ba6868177
|
|
| MD5 |
c45c5a838d0b0e3b8feb8e8a0657032e
|
|
| BLAKE2b-256 |
9695922577aa7678b7bd1315130f5b18fe1682a39732c6490a27707f7cc6563a
|
File details
Details for the file fluxy-0.4.0-py3-none-any.whl.
File metadata
- Download URL: fluxy-0.4.0-py3-none-any.whl
- Upload date:
- Size: 13.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c60a45366879cd22b101b19c0f4b4a35599ccbb7b97cb6eab93d8b1f9e7a2a5
|
|
| MD5 |
5bbb84abe086a47fbcb8d30f7dcc0204
|
|
| BLAKE2b-256 |
7cf6a1a3b8fe94be607a9ec6657d57f6b655babfbe8b7cd1f1f887bfc8a718f2
|