Stack-based scaffolding tool for application projects
Project description
FraCode
FraCode is a stack-based application generator.
It helps you scaffold production-shaped projects quickly, starting with a plain FastAPI stack today and leaving room for other languages and frameworks over time.
The current direction is:
- generate normal app code, not opaque framework magic
- keep runtime coupling light
- make
fra newandfra make:*the center of the product - let generated apps stay readable and portable
What FraCode Is
FraCode is not trying to replace FastAPI.
FraCode is trying to be a better way to start and grow application projects by giving you:
- a consistent project layout
- stack-aware scaffolding
- file generators for common app pieces
- a simple development CLI
- an architecture that can expand beyond Python-only templates
Available Stacks
Right now the built-in stack is:
python/fastapi- standalone FastAPI application with typed settings and pytest
You can inspect available stacks with:
fra stacks
Quick Start
pip install fracode
fra new my-app --language python --framework fastapi
cd my-app
poetry install
fra serve
Then open http://127.0.0.1:8000/docs.
Generated App Shape
The default FastAPI stack generates plain project code like:
main.pyapp/api/routes.pyapp/core/config.pytests/pyproject.toml
The generated app is meant to stand on its own. FraCode helps create it, but the output stays normal FastAPI code.
A core rule for generated projects:
- zero
import fracode - zero FraCode runtime dependency in generated app code
- official framework/library imports only
CLI
Core commands:
fra new <name>creates a new project from a stackfra stackslists available language/framework stacksfra serveruns the generated appfra make:controller <Name>generates a controller-style class filefra make:model <Name>generates a model file
Examples:
fra new blog --language python --framework fastapi
fra make:controller User --api
fra make:model User
Multi-Language Direction
FraCode now has a stack system so other ecosystems can be added without rewriting the CLI around one framework.
The intended shape is:
templates/stacks/<language>/<framework>/...- each stack declares its own metadata
- the CLI discovers stacks dynamically
- new languages/frameworks can be added as new stack packages
That means FraCode can grow toward things like:
python/flasktypescript/expressgo/fiber
without pretending they all share one runtime abstraction.
That also means FraCode follows an eject-first philosophy: once the project is generated, you own the code completely.
Development
poetry install --with dev
pytest
ruff check fracode/ tests/
ruff format --check fracode/ tests/
mypy fracode/
Contributing
Contributions are welcome, especially around:
- new stack support
- better project templates
- generator ergonomics
- documentation
- migration/auth/dev-workflow improvements for generated apps
See CONTRIBUTING.md for details.
License
FraCode is open-source software licensed under the MIT license.
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 fracode-0.1.4.tar.gz.
File metadata
- Download URL: fracode-0.1.4.tar.gz
- Upload date:
- Size: 10.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.13.7 Darwin/25.4.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d2d47fba4ed67c5be0c8631bebaf22d5dfd7a141c9fa8285efffad8d905ebc0f
|
|
| MD5 |
7ccc06d4a543776a0ffdf6d5da841dee
|
|
| BLAKE2b-256 |
2af7191d509e74eef97db5b5ba2b9c496f0377fed7ef8d18384b30b1d85c2be3
|
File details
Details for the file fracode-0.1.4-py3-none-any.whl.
File metadata
- Download URL: fracode-0.1.4-py3-none-any.whl
- Upload date:
- Size: 14.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.13.7 Darwin/25.4.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c97a8167e0d052f77458911670a1755d1350b282f637ea48624f29a507668746
|
|
| MD5 |
d52662933162b5d39bdd71e2bfc3fcbc
|
|
| BLAKE2b-256 |
352fd8b9937c05c151874c95af941ea3402588e9d68ae3c2dd0ed9f79ce7d016
|