FlossWare setup is designed so a normal consumer can start without cloning the repository.
Use the stable bootstrap script:
curl -fsSL https://raw.githubusercontent.com/FlossWare/coding-agent-setup/main/install.sh | bash
flossware-ai tuiThe bootstrap downloads the installer and the installer then:
- installs/uses the
coding-agent-aipackage artifact when available; - downloads the
coding-agent-setupGitHub source archive for the selected release ref; - installs the setup package into the managed virtual environment;
- creates the neutral
defaultprofile and managed CLI/TUI; - leaves native agent/provider credentials untouched.
No Git clone is required for the normal consumer path. The setup archive is downloaded as a tarball and unpacked into the managed installation. Git is not used to obtain the setup repository in this mode.
The bootstrap defaults to the repository main ref until a formal release/tag channel is introduced. FLOSSWARE_RELEASE_REF can select a branch/tag when operating a controlled deployment or testing a release candidate.
For production releases, the intended distribution model is:
stable bootstrap
|
+--> compatible package artifact
|
+--> matching setup source archive/tag
|
+--> managed installation
The source archive is a distribution artifact of the repository, not a Git checkout. It does not create a .git directory in the managed installation.
Contributors who are developing the setup repository can deliberately opt into a Git checkout:
FLOSSWARE_USE_SOURCE=true ./scripts/install.shThis is intentionally different from the consumer path. It exists for editable/source development and troubleshooting. Users should not need it to install or operate FlossWare AI.
Python packaging tools commonly create temporary directories such as /tmp/pip-install-* while building packages. The bootstrap also uses a temporary directory while unpacking the setup archive. These directories are ephemeral build machinery, not FlossWare state.
The managed FlossWare environment is persistent under the user's FlossWare directory. Installation must not depend on temporary files remaining after the installer exits.
The installer owns the managed installation and provides lifecycle operations such as reinstall and clean. Users should not need to manually remove temporary directories or the managed FlossWare directory to recover from an installation.
Cleanup must not remove credentials, agent-native authentication, or unrelated project files.
A distributable component should provide a reproducible build and release artifact appropriate to its language/runtime. Python projects should publish wheels and source distributions when appropriate. CI should validate installation in a clean environment before a release is considered consumable.
Artifact registries are distribution mechanisms, not sources of truth. Registry choice may vary by deployment.