Getting Started
Install Fusion Tool and create a project
Installation
Choose your operating system:
curl -fsSL https://raw.githubusercontent.com/cipherunits/fusion-tool/main/scripts/install.sh | bashOn Windows, the installer places fusion.exe under %LOCALAPPDATA%\Programs\fusion and updates your user PATH. Open a new terminal afterward, then verify:
fusion --helpYou can also install from source with Rust:
git clone https://github.com/cipherunits/fusion-tool.git
cd fusion-tool && cargo install --path .Check the version
fusion --versionExample output:
fusion 1.0.9Create a project
Interactive
fusion initOr create into a directory:
fusion init my-appYou will be prompted for:
- Language — Python, TypeScript, or C# (
asp-core/csharp) - Project name
- Project description
Non-interactive
fusion init --lang python --name fusion-test --description "A Fusion Framework project"| Argument | Description |
|---|---|
[DIRECTORY] | Target folder (created if missing; defaults to the current directory) |
--lang | python, typescript, csharp, or asp-core (C# aliases) |
--name | Project name |
--description | Project description |
Options you omit are still asked interactively.
Examples:
fusion init --lang python --name my-app
fusion init ./apps/demo --lang python --name demoGenerated layout
For a Python project, fusion init creates a small starter app — including a sample products module:
├── core/
│ └── settings.py
├── src/
│ └── modules/
│ └── products/
│ └── products.py
├── main.py
├── fusion-framework.toml
├── fusion.dev.json
├── fusion.prod.json
├── fusion.stage.json
└── .gitignoremain.py— entrypoint: imports your modules (so@routeclasses register), wires optionalMIDDLEWARE, buildsFusionAppfrom settings, then listenssrc/modules/products/products.py— sample API module where you can also set per-route Swagger metadata (tags,desc,version, …)core/settings.py— loads theconfigblock fromfusion.<env>.json(FUSION_ENV, defaultdev)
TypeScript projects use the same layout with main.ts, core/settings.ts, and a sample module under src/modules/…. C# (csharp / asp-core) scaffolds a .NET-style entrypoint and modules with [Route] instead of @route.
Run the project
Install the framework, then start the default run command in the dev environment:
pip install fusion-framework
fusion command run:devWith the default fusion.dev.json (host 127.0.0.1, port 8080, Swagger enabled):
| What | URL |
|---|---|
| API | http://127.0.0.1:8080 |
| Swagger UI | http://127.0.0.1:8080/swagger |
Swagger / OpenAPI is generated automatically from your @route modules. Open the Swagger UI to try endpoints without writing a separate client.
Next: Commands & environments for custom envs, commands, and global Swagger config.