quickscale-cli 0.68.0__tar.gz → 0.72.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.68.0 → quickscale_cli-0.72.0}/PKG-INFO +35 -35
- {quickscale_cli-0.68.0 → quickscale_cli-0.72.0}/README.md +33 -33
- {quickscale_cli-0.68.0 → quickscale_cli-0.72.0}/pyproject.toml +2 -2
- {quickscale_cli-0.68.0 → quickscale_cli-0.72.0}/src/quickscale_cli/_version.py +1 -1
- quickscale_cli-0.72.0/src/quickscale_cli/commands/apply_command.py +765 -0
- {quickscale_cli-0.68.0 → quickscale_cli-0.72.0}/src/quickscale_cli/commands/deployment_commands.py +137 -95
- {quickscale_cli-0.68.0 → quickscale_cli-0.72.0}/src/quickscale_cli/commands/development_commands.py +132 -172
- quickscale_cli-0.72.0/src/quickscale_cli/commands/module_commands.py +587 -0
- quickscale_cli-0.72.0/src/quickscale_cli/commands/module_config.py +613 -0
- quickscale_cli-0.72.0/src/quickscale_cli/commands/plan_command.py +769 -0
- quickscale_cli-0.72.0/src/quickscale_cli/commands/remove_command.py +317 -0
- quickscale_cli-0.72.0/src/quickscale_cli/commands/status_command.py +361 -0
- quickscale_cli-0.72.0/src/quickscale_cli/main.py +62 -0
- {quickscale_cli-0.68.0 → quickscale_cli-0.72.0}/src/quickscale_cli/schema/__init__.py +16 -0
- {quickscale_cli-0.68.0 → quickscale_cli-0.72.0}/src/quickscale_cli/schema/config_schema.py +60 -51
- quickscale_cli-0.72.0/src/quickscale_cli/schema/delta.py +345 -0
- quickscale_cli-0.72.0/src/quickscale_cli/schema/state_schema.py +224 -0
- {quickscale_cli-0.68.0 → quickscale_cli-0.72.0}/src/quickscale_cli/utils/railway_utils.py +37 -28
- quickscale_cli-0.68.0/src/quickscale_cli/commands/apply_command.py +0 -464
- quickscale_cli-0.68.0/src/quickscale_cli/commands/module_commands.py +0 -1206
- quickscale_cli-0.68.0/src/quickscale_cli/commands/plan_command.py +0 -253
- quickscale_cli-0.68.0/src/quickscale_cli/main.py +0 -250
- {quickscale_cli-0.68.0 → quickscale_cli-0.72.0}/src/quickscale_cli/__init__.py +0 -0
- {quickscale_cli-0.68.0 → quickscale_cli-0.72.0}/src/quickscale_cli/commands/__init__.py +0 -0
- {quickscale_cli-0.68.0 → quickscale_cli-0.72.0}/src/quickscale_cli/utils/__init__.py +0 -0
- {quickscale_cli-0.68.0 → quickscale_cli-0.72.0}/src/quickscale_cli/utils/dependency_utils.py +0 -0
- {quickscale_cli-0.68.0 → quickscale_cli-0.72.0}/src/quickscale_cli/utils/docker_utils.py +0 -0
- {quickscale_cli-0.68.0 → quickscale_cli-0.72.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.72.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
|
|
@@ -18,13 +18,16 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.11
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.12
|
|
20
20
|
Requires-Dist: click (>=8.3.0,<9.0.0)
|
|
21
|
-
Requires-Dist: quickscale-core
|
|
21
|
+
Requires-Dist: quickscale-core @ file:///home/victor/Code/quickscale/quickscale_core
|
|
22
22
|
Project-URL: Documentation, https://github.com/Experto-AI/quickscale/tree/main/docs
|
|
23
23
|
Project-URL: Repository, https://github.com/Experto-AI/quickscale
|
|
24
24
|
Description-Content-Type: text/markdown
|
|
25
25
|
|
|
26
26
|
# 🚀 QuickScale
|
|
27
27
|
|
|
28
|
+
> **You are here**: **QuickScale README** (Project Overview)
|
|
29
|
+
> **Related docs**: [Start Here](START_HERE.md) | [Glossary](GLOSSARY.md) | [Decisions](docs/technical/decisions.md) | [User Manual](docs/technical/user_manual.md)
|
|
30
|
+
|
|
28
31
|
<!--
|
|
29
32
|
README.md - User-Focused Introduction
|
|
30
33
|
|
|
@@ -75,7 +78,7 @@ QuickScale is a **Django project generator** that creates production-ready SaaS
|
|
|
75
78
|
**Quick Reference:**
|
|
76
79
|
- **MVP** = Phase 1 (Personal Toolkit)
|
|
77
80
|
- **Post-MVP** = Phase 2+ (Modules & Themes)
|
|
78
|
-
- **Generated Project** = Output of `quickscale
|
|
81
|
+
- **Generated Project** = Output of `quickscale plan` + `quickscale apply`
|
|
79
82
|
|
|
80
83
|
See [decisions.md - Glossary section](./docs/technical/decisions.md#document-responsibilities-short) for complete terminology and Single Source of Truth reference
|
|
81
84
|
|
|
@@ -88,23 +91,18 @@ See [decisions.md - Glossary section](./docs/technical/decisions.md#document-res
|
|
|
88
91
|
- **Commercial Extension Developer**: Create and sell premium modules/themes
|
|
89
92
|
- **Open Source Contributor**: Extend the ecosystem with modules and themes
|
|
90
93
|
|
|
91
|
-
### Development Flow
|
|
92
|
-
1. `quickscale
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
- **Optional**: Embed `quickscale_core` via git subtree after generation; follow the [Personal Toolkit workflow](./docs/technical/decisions.md#integration-note-personal-toolkit-git-subtree) for canonical commands and helper roadmap
|
|
96
|
-
2. Add your custom Django apps and features
|
|
97
|
-
3. Adopt optional inheritance or module extraction patterns only when you embed the core; the rules and best practices stay centralized in `DECISIONS.md`
|
|
94
|
+
### Development Flow
|
|
95
|
+
1. `quickscale plan myapp` → Interactive configuration wizard
|
|
96
|
+
2. `quickscale apply` → Generates production-ready Django project
|
|
97
|
+
3. Add your custom Django apps and features
|
|
98
98
|
4. Build your unique client application
|
|
99
99
|
5. Deploy to Railway with `quickscale deploy railway` (or use standard Django deployment)
|
|
100
100
|
|
|
101
|
-
ℹ️
|
|
102
|
-
|
|
103
|
-
🔎 **Scope note**: The [MVP Feature Matrix](./docs/technical/decisions.md#mvp-feature-matrix-authoritative) is the single source of truth for what's in or out.
|
|
101
|
+
ℹ️ The [MVP Feature Matrix](./docs/technical/decisions.md#mvp-feature-matrix-authoritative) is the single source of truth for what's in or out.
|
|
104
102
|
|
|
105
103
|
### What You Get
|
|
106
104
|
|
|
107
|
-
Running `quickscale
|
|
105
|
+
Running `quickscale plan myapp && quickscale apply` generates a **production-ready Django project** with:
|
|
108
106
|
|
|
109
107
|
- ✅ **Docker** setup (development + production)
|
|
110
108
|
- ✅ **PostgreSQL** configuration
|
|
@@ -113,6 +111,7 @@ Running `quickscale init myapp` generates a **production-ready Django project**
|
|
|
113
111
|
- ✅ **Testing** infrastructure (pytest + factory_boy)
|
|
114
112
|
- ✅ **CI/CD** pipeline (GitHub Actions)
|
|
115
113
|
- ✅ **Code quality** hooks (ruff format + ruff check)
|
|
114
|
+
- ✅ **Advanced quality analysis** (dead code detection, complexity metrics, duplication)
|
|
116
115
|
- ✅ **Poetry** for dependency management
|
|
117
116
|
- ✅ **One-Command Deployment**: Deploy to Railway with `quickscale deploy railway` - fully automated setup
|
|
118
117
|
|
|
@@ -136,8 +135,6 @@ See [competitive_analysis.md](./docs/overview/competitive_analysis.md) for detai
|
|
|
136
135
|
|
|
137
136
|
## Quick Start
|
|
138
137
|
|
|
139
|
-
### Option A: Interactive Plan/Apply Workflow (Recommended)
|
|
140
|
-
|
|
141
138
|
```bash
|
|
142
139
|
# Install QuickScale globally
|
|
143
140
|
./scripts/install_global.sh
|
|
@@ -148,28 +145,10 @@ quickscale plan myapp
|
|
|
148
145
|
# → Generates quickscale.yml
|
|
149
146
|
|
|
150
147
|
# Execute the configuration
|
|
151
|
-
quickscale apply
|
|
148
|
+
quickscale apply
|
|
152
149
|
cd myapp
|
|
153
150
|
```
|
|
154
151
|
|
|
155
|
-
### Option B: Direct Init (Legacy)
|
|
156
|
-
|
|
157
|
-
```bash
|
|
158
|
-
# Install QuickScale globally
|
|
159
|
-
./scripts/install_global.sh
|
|
160
|
-
|
|
161
|
-
# Create your first project directly
|
|
162
|
-
quickscale init myapp
|
|
163
|
-
cd myapp
|
|
164
|
-
|
|
165
|
-
# Or choose a specific theme (v0.61.0+)
|
|
166
|
-
# quickscale init myapp --theme showcase_html # Default Showcase HTML theme
|
|
167
|
-
# quickscale init myapp --theme showcase_htmx # HTMX theme (coming in v0.70.0)
|
|
168
|
-
# quickscale init myapp --theme showcase_react # React theme (coming in v0.71.0)
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
> **Note**: The `init` and `embed` commands are deprecated and will be removed in v0.70.0. Use `plan` + `apply` instead.
|
|
172
|
-
|
|
173
152
|
**Choose your development workflow:**
|
|
174
153
|
|
|
175
154
|
### Option 1: Docker (Recommended for production parity)
|
|
@@ -213,6 +192,27 @@ poetry run python manage.py runserver
|
|
|
213
192
|
|
|
214
193
|
**For complete command reference and workflows**, see the [user_manual.md](./docs/technical/user_manual.md).
|
|
215
194
|
|
|
195
|
+
## Code Quality Analysis
|
|
196
|
+
|
|
197
|
+
QuickScale includes comprehensive code quality checks:
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
# Run quality analysis
|
|
201
|
+
./scripts/check_quality.sh
|
|
202
|
+
|
|
203
|
+
# View reports
|
|
204
|
+
cat .quickscale/quality_report.md # Human-readable
|
|
205
|
+
cat .quickscale/quality_report.json # Machine-readable
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
**Detects:**
|
|
209
|
+
- Dead code (unused imports, functions, variables)
|
|
210
|
+
- High complexity (cyclomatic complexity >10)
|
|
211
|
+
- Large files (>500 lines warning, >1000 error)
|
|
212
|
+
- Code duplication (>6 similar lines)
|
|
213
|
+
|
|
214
|
+
**Exit codes:** 0 (clean), 1 (warnings), 2 (critical)
|
|
215
|
+
|
|
216
216
|
## Learn More
|
|
217
217
|
|
|
218
218
|
- **[decisions.md](./docs/technical/decisions.md)** - Technical specifications and implementation rules
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
# 🚀 QuickScale
|
|
2
2
|
|
|
3
|
+
> **You are here**: **QuickScale README** (Project Overview)
|
|
4
|
+
> **Related docs**: [Start Here](START_HERE.md) | [Glossary](GLOSSARY.md) | [Decisions](docs/technical/decisions.md) | [User Manual](docs/technical/user_manual.md)
|
|
5
|
+
|
|
3
6
|
<!--
|
|
4
7
|
README.md - User-Focused Introduction
|
|
5
8
|
|
|
@@ -50,7 +53,7 @@ QuickScale is a **Django project generator** that creates production-ready SaaS
|
|
|
50
53
|
**Quick Reference:**
|
|
51
54
|
- **MVP** = Phase 1 (Personal Toolkit)
|
|
52
55
|
- **Post-MVP** = Phase 2+ (Modules & Themes)
|
|
53
|
-
- **Generated Project** = Output of `quickscale
|
|
56
|
+
- **Generated Project** = Output of `quickscale plan` + `quickscale apply`
|
|
54
57
|
|
|
55
58
|
See [decisions.md - Glossary section](./docs/technical/decisions.md#document-responsibilities-short) for complete terminology and Single Source of Truth reference
|
|
56
59
|
|
|
@@ -63,23 +66,18 @@ See [decisions.md - Glossary section](./docs/technical/decisions.md#document-res
|
|
|
63
66
|
- **Commercial Extension Developer**: Create and sell premium modules/themes
|
|
64
67
|
- **Open Source Contributor**: Extend the ecosystem with modules and themes
|
|
65
68
|
|
|
66
|
-
### Development Flow
|
|
67
|
-
1. `quickscale
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
- **Optional**: Embed `quickscale_core` via git subtree after generation; follow the [Personal Toolkit workflow](./docs/technical/decisions.md#integration-note-personal-toolkit-git-subtree) for canonical commands and helper roadmap
|
|
71
|
-
2. Add your custom Django apps and features
|
|
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`
|
|
69
|
+
### Development Flow
|
|
70
|
+
1. `quickscale plan myapp` → Interactive configuration wizard
|
|
71
|
+
2. `quickscale apply` → Generates production-ready Django project
|
|
72
|
+
3. Add your custom Django apps and features
|
|
73
73
|
4. Build your unique client application
|
|
74
74
|
5. Deploy to Railway with `quickscale deploy railway` (or use standard Django deployment)
|
|
75
75
|
|
|
76
|
-
ℹ️
|
|
77
|
-
|
|
78
|
-
🔎 **Scope note**: The [MVP Feature Matrix](./docs/technical/decisions.md#mvp-feature-matrix-authoritative) is the single source of truth for what's in or out.
|
|
76
|
+
ℹ️ The [MVP Feature Matrix](./docs/technical/decisions.md#mvp-feature-matrix-authoritative) is the single source of truth for what's in or out.
|
|
79
77
|
|
|
80
78
|
### What You Get
|
|
81
79
|
|
|
82
|
-
Running `quickscale
|
|
80
|
+
Running `quickscale plan myapp && quickscale apply` generates a **production-ready Django project** with:
|
|
83
81
|
|
|
84
82
|
- ✅ **Docker** setup (development + production)
|
|
85
83
|
- ✅ **PostgreSQL** configuration
|
|
@@ -88,6 +86,7 @@ Running `quickscale init myapp` generates a **production-ready Django project**
|
|
|
88
86
|
- ✅ **Testing** infrastructure (pytest + factory_boy)
|
|
89
87
|
- ✅ **CI/CD** pipeline (GitHub Actions)
|
|
90
88
|
- ✅ **Code quality** hooks (ruff format + ruff check)
|
|
89
|
+
- ✅ **Advanced quality analysis** (dead code detection, complexity metrics, duplication)
|
|
91
90
|
- ✅ **Poetry** for dependency management
|
|
92
91
|
- ✅ **One-Command Deployment**: Deploy to Railway with `quickscale deploy railway` - fully automated setup
|
|
93
92
|
|
|
@@ -111,8 +110,6 @@ See [competitive_analysis.md](./docs/overview/competitive_analysis.md) for detai
|
|
|
111
110
|
|
|
112
111
|
## Quick Start
|
|
113
112
|
|
|
114
|
-
### Option A: Interactive Plan/Apply Workflow (Recommended)
|
|
115
|
-
|
|
116
113
|
```bash
|
|
117
114
|
# Install QuickScale globally
|
|
118
115
|
./scripts/install_global.sh
|
|
@@ -123,28 +120,10 @@ quickscale plan myapp
|
|
|
123
120
|
# → Generates quickscale.yml
|
|
124
121
|
|
|
125
122
|
# Execute the configuration
|
|
126
|
-
quickscale apply
|
|
123
|
+
quickscale apply
|
|
127
124
|
cd myapp
|
|
128
125
|
```
|
|
129
126
|
|
|
130
|
-
### Option B: Direct Init (Legacy)
|
|
131
|
-
|
|
132
|
-
```bash
|
|
133
|
-
# Install QuickScale globally
|
|
134
|
-
./scripts/install_global.sh
|
|
135
|
-
|
|
136
|
-
# Create your first project directly
|
|
137
|
-
quickscale init myapp
|
|
138
|
-
cd myapp
|
|
139
|
-
|
|
140
|
-
# Or choose a specific theme (v0.61.0+)
|
|
141
|
-
# quickscale init myapp --theme showcase_html # Default Showcase HTML theme
|
|
142
|
-
# quickscale init myapp --theme showcase_htmx # HTMX theme (coming in v0.70.0)
|
|
143
|
-
# quickscale init myapp --theme showcase_react # React theme (coming in v0.71.0)
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
> **Note**: The `init` and `embed` commands are deprecated and will be removed in v0.70.0. Use `plan` + `apply` instead.
|
|
147
|
-
|
|
148
127
|
**Choose your development workflow:**
|
|
149
128
|
|
|
150
129
|
### Option 1: Docker (Recommended for production parity)
|
|
@@ -188,6 +167,27 @@ poetry run python manage.py runserver
|
|
|
188
167
|
|
|
189
168
|
**For complete command reference and workflows**, see the [user_manual.md](./docs/technical/user_manual.md).
|
|
190
169
|
|
|
170
|
+
## Code Quality Analysis
|
|
171
|
+
|
|
172
|
+
QuickScale includes comprehensive code quality checks:
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
# Run quality analysis
|
|
176
|
+
./scripts/check_quality.sh
|
|
177
|
+
|
|
178
|
+
# View reports
|
|
179
|
+
cat .quickscale/quality_report.md # Human-readable
|
|
180
|
+
cat .quickscale/quality_report.json # Machine-readable
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
**Detects:**
|
|
184
|
+
- Dead code (unused imports, functions, variables)
|
|
185
|
+
- High complexity (cyclomatic complexity >10)
|
|
186
|
+
- Large files (>500 lines warning, >1000 error)
|
|
187
|
+
- Code duplication (>6 similar lines)
|
|
188
|
+
|
|
189
|
+
**Exit codes:** 0 (clean), 1 (warnings), 2 (critical)
|
|
190
|
+
|
|
191
191
|
## Learn More
|
|
192
192
|
|
|
193
193
|
- **[decisions.md](./docs/technical/decisions.md)** - Technical specifications and implementation rules
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "quickscale-cli"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.72.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"
|
|
@@ -25,7 +25,7 @@ packages = [{include = "quickscale_cli", from = "src"}]
|
|
|
25
25
|
[tool.poetry.dependencies]
|
|
26
26
|
python = "^3.10"
|
|
27
27
|
click = "^8.3.0"
|
|
28
|
-
quickscale-core = "
|
|
28
|
+
quickscale-core = {path = "../quickscale_core"}
|
|
29
29
|
|
|
30
30
|
[tool.poetry.group.dev.dependencies]
|
|
31
31
|
# Dev dependencies centralized in root pyproject.toml
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# Auto-generated by scripts/version_tool.sh
|
|
2
|
-
__version__ = "0.
|
|
2
|
+
__version__ = "0.72.0"
|