A CLI scaffolder for .NET Clean Architecture projects
Project description
StackForge
A CLI scaffolder for .NET Clean Architecture (CQRS) projects.
Installation
pip install stackforge-cli
Usage
stackforge
Then follow the prompts to scaffold a new project.
Version and updates
Check the version you have installed:
stackforge --version
Update to the latest release:
pip install --upgrade stackforge-cli
When you run stackforge, it checks PyPI for a newer version and prints an upgrade notice if one is available (network required; fails silently if offline).
What it generates
- .NET 10 Clean Architecture structure (API, Application, Domain, Infrastructure, Persistence)
- JWT authentication with ASP.NET Identity
- Swagger UI with Bearer token support
- PostgreSQL with EF Core
- Docker + docker-compose with healthchecks
- Role and user seeders (SuperAdmin out of the box)
- Git initialization on
mainwithstaginganddevelopmentbranches - GitHub Actions workflow to create
staginganddevelopmenton first push tomain
Quickstart after scaffolding
- Open the project in VS Code or Visual Studio
- Run:
docker-compose up --build - Visit:
http://localhost:5000/swagger
Git workflow
Each scaffolded project is initialized with three local branches:
| Branch | Purpose |
|---|---|
main |
Production / default branch |
staging |
Pre-production environment |
development |
Active development environment |
A GitHub Actions workflow (.github/workflows/sync-branches.yml) is also included as a fallback: if you only push main first, it creates remote staging and development on GitHub automatically.
Example: push to GitHub
From your scaffolded project directory (e.g. ~/stackforge/MyApi):
# 1. Create a new repo on GitHub (empty, no README), then add the remote
git remote add origin https://github.com/<your-user>/MyApi.git
# 2. Push all branches in one go
git push -u origin --all
That publishes main, staging, and development in a single command and sets upstream tracking for each.
Day-to-day branching
# Work on a feature
git checkout development
git checkout -b feature/my-feature
# ... commit changes ...
git push -u origin feature/my-feature
# Merge into development when ready (via PR or locally)
git checkout development
git merge feature/my-feature
git push origin development
Promote changes up the chain (development → staging → main) using pull requests or merges as your team prefers.
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 stackforge_cli-0.1.3.tar.gz.
File metadata
- Download URL: stackforge_cli-0.1.3.tar.gz
- Upload date:
- Size: 17.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9cb061deba15975ccffbbdec9ca07eabe6664114accb38c96886340eaefe2e8c
|
|
| MD5 |
0ccea968c9e7f133cb6695ade3b36b50
|
|
| BLAKE2b-256 |
26b25cea4035b969d026e9b66671f7cfb85d394b1947105511bb79f6c4224b55
|
File details
Details for the file stackforge_cli-0.1.3-py3-none-any.whl.
File metadata
- Download URL: stackforge_cli-0.1.3-py3-none-any.whl
- Upload date:
- Size: 20.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6e9eb77f615b01843152f9cc7a9c3ab74da36d4a94f0d93221f7622ad390b13
|
|
| MD5 |
43b12c6c6fe862a7fa429b776bb9017a
|
|
| BLAKE2b-256 |
d9bbb62841937fc8884c8cae6912b18814517c7d299f8cde14ea17c6b7996890
|