Skip to main content

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 doctor the 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

fluxy-0.4.0.tar.gz (14.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fluxy-0.4.0-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

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

Hashes for fluxy-0.4.0.tar.gz
Algorithm Hash digest
SHA256 50f6718ae48c83ac832deff600b22ad1deefd446bc9ed72d6c70e92ba6868177
MD5 c45c5a838d0b0e3b8feb8e8a0657032e
BLAKE2b-256 9695922577aa7678b7bd1315130f5b18fe1682a39732c6490a27707f7cc6563a

See more details on using hashes here.

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

Hashes for fluxy-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1c60a45366879cd22b101b19c0f4b4a35599ccbb7b97cb6eab93d8b1f9e7a2a5
MD5 5bbb84abe086a47fbcb8d30f7dcc0204
BLAKE2b-256 7cf6a1a3b8fe94be607a9ec6657d57f6b655babfbe8b7cd1f1f887bfc8a718f2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page