quickscale-cli 0.58.0__tar.gz → 0.60.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {quickscale_cli-0.58.0 → quickscale_cli-0.60.0}/PKG-INFO +59 -21
- {quickscale_cli-0.58.0 → quickscale_cli-0.60.0}/README.md +57 -19
- {quickscale_cli-0.58.0 → quickscale_cli-0.60.0}/pyproject.toml +3 -2
- {quickscale_cli-0.58.0 → quickscale_cli-0.60.0}/src/quickscale_cli/_version.py +1 -1
- quickscale_cli-0.60.0/src/quickscale_cli/commands/__init__.py +1 -0
- quickscale_cli-0.60.0/src/quickscale_cli/commands/deployment_commands.py +447 -0
- quickscale_cli-0.60.0/src/quickscale_cli/commands/development_commands.py +264 -0
- {quickscale_cli-0.58.0 → quickscale_cli-0.60.0}/src/quickscale_cli/main.py +14 -0
- quickscale_cli-0.60.0/src/quickscale_cli/utils/__init__.py +1 -0
- quickscale_cli-0.60.0/src/quickscale_cli/utils/docker_utils.py +82 -0
- quickscale_cli-0.60.0/src/quickscale_cli/utils/project_manager.py +61 -0
- quickscale_cli-0.60.0/src/quickscale_cli/utils/railway_utils.py +664 -0
- {quickscale_cli-0.58.0 → quickscale_cli-0.60.0}/src/quickscale_cli/__init__.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: quickscale-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.60.0
|
|
4
4
|
Summary: Command-line interface for QuickScale Django project generator
|
|
5
5
|
Home-page: https://github.com/Experto-AI/quickscale
|
|
6
6
|
License: Apache-2.0
|
|
@@ -19,7 +19,7 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.11
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
21
21
|
Requires-Dist: click (>=8.1.0,<9.0.0)
|
|
22
|
-
Requires-Dist: quickscale-core (>=0.
|
|
22
|
+
Requires-Dist: quickscale-core (>=0.60.0,<0.61.0)
|
|
23
23
|
Project-URL: Documentation, https://github.com/Experto-AI/quickscale/tree/main/docs
|
|
24
24
|
Project-URL: Repository, https://github.com/Experto-AI/quickscale
|
|
25
25
|
Description-Content-Type: text/markdown
|
|
@@ -53,20 +53,21 @@ QuickScale is a **composable Django framework** for building client SaaS applica
|
|
|
53
53
|
|
|
54
54
|
## What is QuickScale?
|
|
55
55
|
|
|
56
|
-
QuickScale is a **
|
|
56
|
+
QuickScale is a **Django project generator** that creates production-ready SaaS applications with one command. Designed for **solo developers and development agencies**, it gives you:
|
|
57
57
|
|
|
58
|
-
- **
|
|
59
|
-
- **
|
|
60
|
-
- **
|
|
61
|
-
- **
|
|
58
|
+
- **Production-ready foundations**: Docker, PostgreSQL, testing, CI/CD, and security out-of-the-box
|
|
59
|
+
- **One-command deployment**: Deploy to Railway with `quickscale deploy railway`
|
|
60
|
+
- **Full ownership**: Generated projects are 100% yours to customize—no vendor lock-in
|
|
61
|
+
- **Standardized stack**: Build multiple client projects faster with consistent best practices
|
|
62
62
|
|
|
63
|
-
🧭 **
|
|
63
|
+
🧭 **Future Vision**: QuickScale will evolve to support reusable modules and themes. Today it's a personal toolkit; tomorrow it becomes a community platform when demand emerges. [Read the full evolution strategy](./docs/overview/quickscale.md#evolution-strategy-personal-toolkit-first).
|
|
64
64
|
|
|
65
65
|
## Documentation Guide
|
|
66
66
|
|
|
67
67
|
**Start here for your needs:**
|
|
68
68
|
- 📖 **New user?** You're in the right place. This README shows you what QuickScale is and how to get started.
|
|
69
69
|
- 🔧 **Need commands?** See [user_manual.md](./docs/technical/user_manual.md) for all commands and workflows
|
|
70
|
+
- 🚀 **Deploying to Railway?** See [railway.md](./docs/deployment/railway.md) for Railway deployment guide
|
|
70
71
|
- 📋 **Planning a feature?** Check [decisions.md](./docs/technical/decisions.md) for the authoritative MVP scope and technical rules
|
|
71
72
|
- 🗓️ **Timeline & tasks?** See [roadmap.md](./docs/technical/roadmap.md)
|
|
72
73
|
- 🏗️ **Project structure?** See [scaffolding.md](./docs/technical/scaffolding.md) for complete directory layouts
|
|
@@ -80,11 +81,13 @@ QuickScale is a **composable Django framework** designed for **solo developers a
|
|
|
80
81
|
See [decisions.md - Glossary section](./docs/technical/decisions.md#document-responsibilities-short) for complete terminology and Single Source of Truth reference
|
|
81
82
|
|
|
82
83
|
|
|
83
|
-
### Primary Use Cases:
|
|
84
|
-
- **Solo Developer**: Build client projects faster with
|
|
85
|
-
- **Development Agency**: Standardize your tech stack across
|
|
84
|
+
### Primary Use Cases (MVP):
|
|
85
|
+
- **Solo Developer**: Build client projects faster with production-ready foundations
|
|
86
|
+
- **Development Agency**: Standardize your tech stack across client engagements
|
|
87
|
+
|
|
88
|
+
### Future Use Cases (Post-MVP):
|
|
86
89
|
- **Commercial Extension Developer**: Create and sell premium modules/themes
|
|
87
|
-
- **Open Source Contributor**: Extend the ecosystem with
|
|
90
|
+
- **Open Source Contributor**: Extend the ecosystem with modules and themes
|
|
88
91
|
|
|
89
92
|
### Development Flow (MVP)
|
|
90
93
|
1. `quickscale init myapp`
|
|
@@ -94,7 +97,7 @@ See [decisions.md - Glossary section](./docs/technical/decisions.md#document-res
|
|
|
94
97
|
2. Add your custom Django apps and features
|
|
95
98
|
3. Adopt optional inheritance or module extraction patterns only when you embed the core; the rules and best practices stay centralized in `DECISIONS.md`
|
|
96
99
|
4. Build your unique client application
|
|
97
|
-
5. Deploy
|
|
100
|
+
5. Deploy to Railway with `quickscale deploy railway` (or use standard Django deployment)
|
|
98
101
|
|
|
99
102
|
ℹ️ QuickScale's MVP centers on the personal toolkit workflow. Extraction patterns, module packaging, and subtree helper command plans stay documented in `docs/technical/decisions.md` so this README can stay concise.
|
|
100
103
|
|
|
@@ -112,17 +115,18 @@ Running `quickscale init myapp` generates a **production-ready Django project**
|
|
|
112
115
|
- ✅ **CI/CD** pipeline (GitHub Actions)
|
|
113
116
|
- ✅ **Code quality** hooks (ruff format + ruff check)
|
|
114
117
|
- ✅ **Poetry** for dependency management
|
|
118
|
+
- ✅ **One-Command Deployment**: Deploy to Railway with `quickscale deploy railway` - fully automated setup
|
|
115
119
|
|
|
116
120
|
**See the complete project structure:** [scaffolding.md - Generated Project Output](./docs/technical/scaffolding.md#5-generated-project-output)
|
|
117
121
|
|
|
118
122
|
The generated project is **yours to own and modify** - no vendor lock-in, just Django best practices.
|
|
119
123
|
|
|
120
|
-
## Why QuickScale?
|
|
124
|
+
## Why QuickScale vs. Alternatives?
|
|
121
125
|
|
|
122
|
-
✅ **
|
|
123
|
-
✅ **
|
|
124
|
-
✅ **
|
|
125
|
-
✅ **
|
|
126
|
+
✅ **Faster than Cookiecutter** - One command vs. 30+ interactive prompts
|
|
127
|
+
✅ **More flexible than SaaS Pegasus** - Open source with full code ownership ($0 vs. $349+)
|
|
128
|
+
✅ **Simpler than building from scratch** - Production-ready in 5 minutes vs. days of setup
|
|
129
|
+
✅ **Railway deployment automation** - Competitors require manual platform configuration
|
|
126
130
|
|
|
127
131
|
**QuickScale is a development accelerator**, not a complete solution. You start with production-ready foundations and build your unique client application on top.
|
|
128
132
|
|
|
@@ -139,15 +143,49 @@ See [competitive_analysis.md](./docs/overview/competitive_analysis.md) for detai
|
|
|
139
143
|
|
|
140
144
|
# Create your first project
|
|
141
145
|
quickscale init myapp
|
|
142
|
-
|
|
143
|
-
# Start developing
|
|
144
146
|
cd myapp
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**Choose your development workflow:**
|
|
150
|
+
|
|
151
|
+
### Option 1: Docker (Recommended for production parity)
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
# Start all services (web + database)
|
|
155
|
+
quickscale up
|
|
156
|
+
|
|
157
|
+
# Run migrations
|
|
158
|
+
quickscale manage migrate
|
|
159
|
+
|
|
160
|
+
# Create superuser
|
|
161
|
+
quickscale manage createsuperuser
|
|
162
|
+
|
|
163
|
+
# View logs
|
|
164
|
+
quickscale logs -f web
|
|
165
|
+
|
|
166
|
+
# Open a shell in the container
|
|
167
|
+
quickscale shell
|
|
168
|
+
|
|
169
|
+
# Stop services
|
|
170
|
+
quickscale down
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
**Visit http://localhost:8000** - Your app is running in Docker with PostgreSQL!
|
|
174
|
+
|
|
175
|
+
### Option 2: Native Poetry (Simpler for quick testing)
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
# Install dependencies
|
|
145
179
|
poetry install
|
|
180
|
+
|
|
181
|
+
# Run migrations
|
|
146
182
|
poetry run python manage.py migrate
|
|
183
|
+
|
|
184
|
+
# Start development server
|
|
147
185
|
poetry run python manage.py runserver
|
|
148
186
|
```
|
|
149
187
|
|
|
150
|
-
**
|
|
188
|
+
**Visit http://localhost:8000** - Your app is running natively!
|
|
151
189
|
|
|
152
190
|
**For complete command reference and workflows**, see the [user_manual.md](./docs/technical/user_manual.md).
|
|
153
191
|
|
|
@@ -27,20 +27,21 @@ QuickScale is a **composable Django framework** for building client SaaS applica
|
|
|
27
27
|
|
|
28
28
|
## What is QuickScale?
|
|
29
29
|
|
|
30
|
-
QuickScale is a **
|
|
30
|
+
QuickScale is a **Django project generator** that creates production-ready SaaS applications with one command. Designed for **solo developers and development agencies**, it gives you:
|
|
31
31
|
|
|
32
|
-
- **
|
|
33
|
-
- **
|
|
34
|
-
- **
|
|
35
|
-
- **
|
|
32
|
+
- **Production-ready foundations**: Docker, PostgreSQL, testing, CI/CD, and security out-of-the-box
|
|
33
|
+
- **One-command deployment**: Deploy to Railway with `quickscale deploy railway`
|
|
34
|
+
- **Full ownership**: Generated projects are 100% yours to customize—no vendor lock-in
|
|
35
|
+
- **Standardized stack**: Build multiple client projects faster with consistent best practices
|
|
36
36
|
|
|
37
|
-
🧭 **
|
|
37
|
+
🧭 **Future Vision**: QuickScale will evolve to support reusable modules and themes. Today it's a personal toolkit; tomorrow it becomes a community platform when demand emerges. [Read the full evolution strategy](./docs/overview/quickscale.md#evolution-strategy-personal-toolkit-first).
|
|
38
38
|
|
|
39
39
|
## Documentation Guide
|
|
40
40
|
|
|
41
41
|
**Start here for your needs:**
|
|
42
42
|
- 📖 **New user?** You're in the right place. This README shows you what QuickScale is and how to get started.
|
|
43
43
|
- 🔧 **Need commands?** See [user_manual.md](./docs/technical/user_manual.md) for all commands and workflows
|
|
44
|
+
- 🚀 **Deploying to Railway?** See [railway.md](./docs/deployment/railway.md) for Railway deployment guide
|
|
44
45
|
- 📋 **Planning a feature?** Check [decisions.md](./docs/technical/decisions.md) for the authoritative MVP scope and technical rules
|
|
45
46
|
- 🗓️ **Timeline & tasks?** See [roadmap.md](./docs/technical/roadmap.md)
|
|
46
47
|
- 🏗️ **Project structure?** See [scaffolding.md](./docs/technical/scaffolding.md) for complete directory layouts
|
|
@@ -54,11 +55,13 @@ QuickScale is a **composable Django framework** designed for **solo developers a
|
|
|
54
55
|
See [decisions.md - Glossary section](./docs/technical/decisions.md#document-responsibilities-short) for complete terminology and Single Source of Truth reference
|
|
55
56
|
|
|
56
57
|
|
|
57
|
-
### Primary Use Cases:
|
|
58
|
-
- **Solo Developer**: Build client projects faster with
|
|
59
|
-
- **Development Agency**: Standardize your tech stack across
|
|
58
|
+
### Primary Use Cases (MVP):
|
|
59
|
+
- **Solo Developer**: Build client projects faster with production-ready foundations
|
|
60
|
+
- **Development Agency**: Standardize your tech stack across client engagements
|
|
61
|
+
|
|
62
|
+
### Future Use Cases (Post-MVP):
|
|
60
63
|
- **Commercial Extension Developer**: Create and sell premium modules/themes
|
|
61
|
-
- **Open Source Contributor**: Extend the ecosystem with
|
|
64
|
+
- **Open Source Contributor**: Extend the ecosystem with modules and themes
|
|
62
65
|
|
|
63
66
|
### Development Flow (MVP)
|
|
64
67
|
1. `quickscale init myapp`
|
|
@@ -68,7 +71,7 @@ See [decisions.md - Glossary section](./docs/technical/decisions.md#document-res
|
|
|
68
71
|
2. Add your custom Django apps and features
|
|
69
72
|
3. Adopt optional inheritance or module extraction patterns only when you embed the core; the rules and best practices stay centralized in `DECISIONS.md`
|
|
70
73
|
4. Build your unique client application
|
|
71
|
-
5. Deploy
|
|
74
|
+
5. Deploy to Railway with `quickscale deploy railway` (or use standard Django deployment)
|
|
72
75
|
|
|
73
76
|
ℹ️ QuickScale's MVP centers on the personal toolkit workflow. Extraction patterns, module packaging, and subtree helper command plans stay documented in `docs/technical/decisions.md` so this README can stay concise.
|
|
74
77
|
|
|
@@ -86,17 +89,18 @@ Running `quickscale init myapp` generates a **production-ready Django project**
|
|
|
86
89
|
- ✅ **CI/CD** pipeline (GitHub Actions)
|
|
87
90
|
- ✅ **Code quality** hooks (ruff format + ruff check)
|
|
88
91
|
- ✅ **Poetry** for dependency management
|
|
92
|
+
- ✅ **One-Command Deployment**: Deploy to Railway with `quickscale deploy railway` - fully automated setup
|
|
89
93
|
|
|
90
94
|
**See the complete project structure:** [scaffolding.md - Generated Project Output](./docs/technical/scaffolding.md#5-generated-project-output)
|
|
91
95
|
|
|
92
96
|
The generated project is **yours to own and modify** - no vendor lock-in, just Django best practices.
|
|
93
97
|
|
|
94
|
-
## Why QuickScale?
|
|
98
|
+
## Why QuickScale vs. Alternatives?
|
|
95
99
|
|
|
96
|
-
✅ **
|
|
97
|
-
✅ **
|
|
98
|
-
✅ **
|
|
99
|
-
✅ **
|
|
100
|
+
✅ **Faster than Cookiecutter** - One command vs. 30+ interactive prompts
|
|
101
|
+
✅ **More flexible than SaaS Pegasus** - Open source with full code ownership ($0 vs. $349+)
|
|
102
|
+
✅ **Simpler than building from scratch** - Production-ready in 5 minutes vs. days of setup
|
|
103
|
+
✅ **Railway deployment automation** - Competitors require manual platform configuration
|
|
100
104
|
|
|
101
105
|
**QuickScale is a development accelerator**, not a complete solution. You start with production-ready foundations and build your unique client application on top.
|
|
102
106
|
|
|
@@ -113,15 +117,49 @@ See [competitive_analysis.md](./docs/overview/competitive_analysis.md) for detai
|
|
|
113
117
|
|
|
114
118
|
# Create your first project
|
|
115
119
|
quickscale init myapp
|
|
116
|
-
|
|
117
|
-
# Start developing
|
|
118
120
|
cd myapp
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**Choose your development workflow:**
|
|
124
|
+
|
|
125
|
+
### Option 1: Docker (Recommended for production parity)
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# Start all services (web + database)
|
|
129
|
+
quickscale up
|
|
130
|
+
|
|
131
|
+
# Run migrations
|
|
132
|
+
quickscale manage migrate
|
|
133
|
+
|
|
134
|
+
# Create superuser
|
|
135
|
+
quickscale manage createsuperuser
|
|
136
|
+
|
|
137
|
+
# View logs
|
|
138
|
+
quickscale logs -f web
|
|
139
|
+
|
|
140
|
+
# Open a shell in the container
|
|
141
|
+
quickscale shell
|
|
142
|
+
|
|
143
|
+
# Stop services
|
|
144
|
+
quickscale down
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
**Visit http://localhost:8000** - Your app is running in Docker with PostgreSQL!
|
|
148
|
+
|
|
149
|
+
### Option 2: Native Poetry (Simpler for quick testing)
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
# Install dependencies
|
|
119
153
|
poetry install
|
|
154
|
+
|
|
155
|
+
# Run migrations
|
|
120
156
|
poetry run python manage.py migrate
|
|
157
|
+
|
|
158
|
+
# Start development server
|
|
121
159
|
poetry run python manage.py runserver
|
|
122
160
|
```
|
|
123
161
|
|
|
124
|
-
**
|
|
162
|
+
**Visit http://localhost:8000** - Your app is running natively!
|
|
125
163
|
|
|
126
164
|
**For complete command reference and workflows**, see the [user_manual.md](./docs/technical/user_manual.md).
|
|
127
165
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "quickscale-cli"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.60.0"
|
|
4
4
|
description = "Command-line interface for QuickScale Django project generator"
|
|
5
5
|
authors = ["Experto AI <victor@experto.ai>"]
|
|
6
6
|
license = "Apache-2.0"
|
|
@@ -26,7 +26,7 @@ packages = [{include = "quickscale_cli", from = "src"}]
|
|
|
26
26
|
[tool.poetry.dependencies]
|
|
27
27
|
python = "^3.10"
|
|
28
28
|
click = "^8.1.0"
|
|
29
|
-
quickscale-core = "^0.
|
|
29
|
+
quickscale-core = "^0.60.0"
|
|
30
30
|
|
|
31
31
|
[tool.poetry.group.dev.dependencies]
|
|
32
32
|
pytest = "^7.4.0"
|
|
@@ -52,6 +52,7 @@ addopts = [
|
|
|
52
52
|
"--cov=quickscale_cli",
|
|
53
53
|
"--cov-report=term-missing",
|
|
54
54
|
"--cov-report=html",
|
|
55
|
+
"-m", "not e2e", # Skip E2E tests by default (run with: pytest -m e2e)
|
|
55
56
|
]
|
|
56
57
|
|
|
57
58
|
[tool.ruff]
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# Auto-generated by scripts/version_tool.sh
|
|
2
|
-
__version__ = "0.
|
|
2
|
+
__version__ = "0.60.0"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""CLI commands package for QuickScale."""
|