quickscale-cli 0.59.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.59.0 → quickscale_cli-0.60.0}/PKG-INFO +46 -31
- {quickscale_cli-0.59.0 → quickscale_cli-0.60.0}/README.md +44 -29
- {quickscale_cli-0.59.0 → quickscale_cli-0.60.0}/pyproject.toml +2 -2
- {quickscale_cli-0.59.0 → quickscale_cli-0.60.0}/src/quickscale_cli/_version.py +1 -1
- quickscale_cli-0.60.0/src/quickscale_cli/commands/deployment_commands.py +447 -0
- {quickscale_cli-0.59.0 → quickscale_cli-0.60.0}/src/quickscale_cli/commands/development_commands.py +33 -6
- {quickscale_cli-0.59.0 → quickscale_cli-0.60.0}/src/quickscale_cli/main.py +4 -0
- {quickscale_cli-0.59.0 → quickscale_cli-0.60.0}/src/quickscale_cli/utils/docker_utils.py +6 -0
- quickscale_cli-0.60.0/src/quickscale_cli/utils/railway_utils.py +664 -0
- {quickscale_cli-0.59.0 → quickscale_cli-0.60.0}/src/quickscale_cli/__init__.py +0 -0
- {quickscale_cli-0.59.0 → quickscale_cli-0.60.0}/src/quickscale_cli/commands/__init__.py +0 -0
- {quickscale_cli-0.59.0 → quickscale_cli-0.60.0}/src/quickscale_cli/utils/__init__.py +0 -0
- {quickscale_cli-0.59.0 → quickscale_cli-0.60.0}/src/quickscale_cli/utils/project_manager.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,14 +53,14 @@ 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
|
|
|
@@ -81,11 +81,13 @@ QuickScale is a **composable Django framework** designed for **solo developers a
|
|
|
81
81
|
See [decisions.md - Glossary section](./docs/technical/decisions.md#document-responsibilities-short) for complete terminology and Single Source of Truth reference
|
|
82
82
|
|
|
83
83
|
|
|
84
|
-
### Primary Use Cases:
|
|
85
|
-
- **Solo Developer**: Build client projects faster with
|
|
86
|
-
- **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):
|
|
87
89
|
- **Commercial Extension Developer**: Create and sell premium modules/themes
|
|
88
|
-
- **Open Source Contributor**: Extend the ecosystem with
|
|
90
|
+
- **Open Source Contributor**: Extend the ecosystem with modules and themes
|
|
89
91
|
|
|
90
92
|
### Development Flow (MVP)
|
|
91
93
|
1. `quickscale init myapp`
|
|
@@ -95,7 +97,7 @@ See [decisions.md - Glossary section](./docs/technical/decisions.md#document-res
|
|
|
95
97
|
2. Add your custom Django apps and features
|
|
96
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`
|
|
97
99
|
4. Build your unique client application
|
|
98
|
-
5. Deploy
|
|
100
|
+
5. Deploy to Railway with `quickscale deploy railway` (or use standard Django deployment)
|
|
99
101
|
|
|
100
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.
|
|
101
103
|
|
|
@@ -113,17 +115,18 @@ Running `quickscale init myapp` generates a **production-ready Django project**
|
|
|
113
115
|
- ✅ **CI/CD** pipeline (GitHub Actions)
|
|
114
116
|
- ✅ **Code quality** hooks (ruff format + ruff check)
|
|
115
117
|
- ✅ **Poetry** for dependency management
|
|
118
|
+
- ✅ **One-Command Deployment**: Deploy to Railway with `quickscale deploy railway` - fully automated setup
|
|
116
119
|
|
|
117
120
|
**See the complete project structure:** [scaffolding.md - Generated Project Output](./docs/technical/scaffolding.md#5-generated-project-output)
|
|
118
121
|
|
|
119
122
|
The generated project is **yours to own and modify** - no vendor lock-in, just Django best practices.
|
|
120
123
|
|
|
121
|
-
## Why QuickScale?
|
|
124
|
+
## Why QuickScale vs. Alternatives?
|
|
122
125
|
|
|
123
|
-
✅ **
|
|
124
|
-
✅ **
|
|
125
|
-
✅ **
|
|
126
|
-
✅ **
|
|
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
|
|
127
130
|
|
|
128
131
|
**QuickScale is a development accelerator**, not a complete solution. You start with production-ready foundations and build your unique client application on top.
|
|
129
132
|
|
|
@@ -140,31 +143,26 @@ See [competitive_analysis.md](./docs/overview/competitive_analysis.md) for detai
|
|
|
140
143
|
|
|
141
144
|
# Create your first project
|
|
142
145
|
quickscale init myapp
|
|
143
|
-
|
|
144
|
-
# Start developing
|
|
145
146
|
cd myapp
|
|
146
|
-
poetry install
|
|
147
|
-
poetry run python manage.py migrate
|
|
148
|
-
poetry run python manage.py runserver
|
|
149
147
|
```
|
|
150
148
|
|
|
151
|
-
**
|
|
152
|
-
|
|
153
|
-
### Development Workflow with Docker
|
|
149
|
+
**Choose your development workflow:**
|
|
154
150
|
|
|
155
|
-
|
|
151
|
+
### Option 1: Docker (Recommended for production parity)
|
|
156
152
|
|
|
157
153
|
```bash
|
|
158
154
|
# Start all services (web + database)
|
|
159
155
|
quickscale up
|
|
160
156
|
|
|
161
|
-
#
|
|
162
|
-
quickscale logs -f web
|
|
163
|
-
|
|
164
|
-
# Run Django commands
|
|
157
|
+
# Run migrations
|
|
165
158
|
quickscale manage migrate
|
|
159
|
+
|
|
160
|
+
# Create superuser
|
|
166
161
|
quickscale manage createsuperuser
|
|
167
162
|
|
|
163
|
+
# View logs
|
|
164
|
+
quickscale logs -f web
|
|
165
|
+
|
|
168
166
|
# Open a shell in the container
|
|
169
167
|
quickscale shell
|
|
170
168
|
|
|
@@ -172,6 +170,23 @@ quickscale shell
|
|
|
172
170
|
quickscale down
|
|
173
171
|
```
|
|
174
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
|
|
179
|
+
poetry install
|
|
180
|
+
|
|
181
|
+
# Run migrations
|
|
182
|
+
poetry run python manage.py migrate
|
|
183
|
+
|
|
184
|
+
# Start development server
|
|
185
|
+
poetry run python manage.py runserver
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
**Visit http://localhost:8000** - Your app is running natively!
|
|
189
|
+
|
|
175
190
|
**For complete command reference and workflows**, see the [user_manual.md](./docs/technical/user_manual.md).
|
|
176
191
|
|
|
177
192
|
## Learn More
|
|
@@ -27,14 +27,14 @@ 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
|
|
|
@@ -55,11 +55,13 @@ QuickScale is a **composable Django framework** designed for **solo developers a
|
|
|
55
55
|
See [decisions.md - Glossary section](./docs/technical/decisions.md#document-responsibilities-short) for complete terminology and Single Source of Truth reference
|
|
56
56
|
|
|
57
57
|
|
|
58
|
-
### Primary Use Cases:
|
|
59
|
-
- **Solo Developer**: Build client projects faster with
|
|
60
|
-
- **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):
|
|
61
63
|
- **Commercial Extension Developer**: Create and sell premium modules/themes
|
|
62
|
-
- **Open Source Contributor**: Extend the ecosystem with
|
|
64
|
+
- **Open Source Contributor**: Extend the ecosystem with modules and themes
|
|
63
65
|
|
|
64
66
|
### Development Flow (MVP)
|
|
65
67
|
1. `quickscale init myapp`
|
|
@@ -69,7 +71,7 @@ See [decisions.md - Glossary section](./docs/technical/decisions.md#document-res
|
|
|
69
71
|
2. Add your custom Django apps and features
|
|
70
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`
|
|
71
73
|
4. Build your unique client application
|
|
72
|
-
5. Deploy
|
|
74
|
+
5. Deploy to Railway with `quickscale deploy railway` (or use standard Django deployment)
|
|
73
75
|
|
|
74
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.
|
|
75
77
|
|
|
@@ -87,17 +89,18 @@ Running `quickscale init myapp` generates a **production-ready Django project**
|
|
|
87
89
|
- ✅ **CI/CD** pipeline (GitHub Actions)
|
|
88
90
|
- ✅ **Code quality** hooks (ruff format + ruff check)
|
|
89
91
|
- ✅ **Poetry** for dependency management
|
|
92
|
+
- ✅ **One-Command Deployment**: Deploy to Railway with `quickscale deploy railway` - fully automated setup
|
|
90
93
|
|
|
91
94
|
**See the complete project structure:** [scaffolding.md - Generated Project Output](./docs/technical/scaffolding.md#5-generated-project-output)
|
|
92
95
|
|
|
93
96
|
The generated project is **yours to own and modify** - no vendor lock-in, just Django best practices.
|
|
94
97
|
|
|
95
|
-
## Why QuickScale?
|
|
98
|
+
## Why QuickScale vs. Alternatives?
|
|
96
99
|
|
|
97
|
-
✅ **
|
|
98
|
-
✅ **
|
|
99
|
-
✅ **
|
|
100
|
-
✅ **
|
|
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
|
|
101
104
|
|
|
102
105
|
**QuickScale is a development accelerator**, not a complete solution. You start with production-ready foundations and build your unique client application on top.
|
|
103
106
|
|
|
@@ -114,31 +117,26 @@ See [competitive_analysis.md](./docs/overview/competitive_analysis.md) for detai
|
|
|
114
117
|
|
|
115
118
|
# Create your first project
|
|
116
119
|
quickscale init myapp
|
|
117
|
-
|
|
118
|
-
# Start developing
|
|
119
120
|
cd myapp
|
|
120
|
-
poetry install
|
|
121
|
-
poetry run python manage.py migrate
|
|
122
|
-
poetry run python manage.py runserver
|
|
123
121
|
```
|
|
124
122
|
|
|
125
|
-
**
|
|
126
|
-
|
|
127
|
-
### Development Workflow with Docker
|
|
123
|
+
**Choose your development workflow:**
|
|
128
124
|
|
|
129
|
-
|
|
125
|
+
### Option 1: Docker (Recommended for production parity)
|
|
130
126
|
|
|
131
127
|
```bash
|
|
132
128
|
# Start all services (web + database)
|
|
133
129
|
quickscale up
|
|
134
130
|
|
|
135
|
-
#
|
|
136
|
-
quickscale logs -f web
|
|
137
|
-
|
|
138
|
-
# Run Django commands
|
|
131
|
+
# Run migrations
|
|
139
132
|
quickscale manage migrate
|
|
133
|
+
|
|
134
|
+
# Create superuser
|
|
140
135
|
quickscale manage createsuperuser
|
|
141
136
|
|
|
137
|
+
# View logs
|
|
138
|
+
quickscale logs -f web
|
|
139
|
+
|
|
142
140
|
# Open a shell in the container
|
|
143
141
|
quickscale shell
|
|
144
142
|
|
|
@@ -146,6 +144,23 @@ quickscale shell
|
|
|
146
144
|
quickscale down
|
|
147
145
|
```
|
|
148
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
|
|
153
|
+
poetry install
|
|
154
|
+
|
|
155
|
+
# Run migrations
|
|
156
|
+
poetry run python manage.py migrate
|
|
157
|
+
|
|
158
|
+
# Start development server
|
|
159
|
+
poetry run python manage.py runserver
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
**Visit http://localhost:8000** - Your app is running natively!
|
|
163
|
+
|
|
149
164
|
**For complete command reference and workflows**, see the [user_manual.md](./docs/technical/user_manual.md).
|
|
150
165
|
|
|
151
166
|
## Learn More
|
|
@@ -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"
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# Auto-generated by scripts/version_tool.sh
|
|
2
|
-
__version__ = "0.
|
|
2
|
+
__version__ = "0.60.0"
|