quickscale-cli 0.71.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.
Files changed (26) hide show
  1. {quickscale_cli-0.71.0 → quickscale_cli-0.72.0}/PKG-INFO +35 -35
  2. {quickscale_cli-0.71.0 → quickscale_cli-0.72.0}/README.md +33 -33
  3. {quickscale_cli-0.71.0 → quickscale_cli-0.72.0}/pyproject.toml +2 -2
  4. {quickscale_cli-0.71.0 → quickscale_cli-0.72.0}/src/quickscale_cli/_version.py +1 -1
  5. {quickscale_cli-0.71.0 → quickscale_cli-0.72.0}/src/quickscale_cli/commands/apply_command.py +368 -279
  6. {quickscale_cli-0.71.0 → quickscale_cli-0.72.0}/src/quickscale_cli/commands/deployment_commands.py +137 -95
  7. {quickscale_cli-0.71.0 → quickscale_cli-0.72.0}/src/quickscale_cli/commands/development_commands.py +132 -172
  8. quickscale_cli-0.72.0/src/quickscale_cli/commands/module_commands.py +587 -0
  9. quickscale_cli-0.72.0/src/quickscale_cli/commands/module_config.py +613 -0
  10. {quickscale_cli-0.71.0 → quickscale_cli-0.72.0}/src/quickscale_cli/commands/plan_command.py +343 -209
  11. {quickscale_cli-0.71.0 → quickscale_cli-0.72.0}/src/quickscale_cli/commands/remove_command.py +134 -82
  12. {quickscale_cli-0.71.0 → quickscale_cli-0.72.0}/src/quickscale_cli/commands/status_command.py +123 -100
  13. quickscale_cli-0.72.0/src/quickscale_cli/main.py +62 -0
  14. {quickscale_cli-0.71.0 → quickscale_cli-0.72.0}/src/quickscale_cli/schema/config_schema.py +60 -51
  15. {quickscale_cli-0.71.0 → quickscale_cli-0.72.0}/src/quickscale_cli/schema/delta.py +162 -94
  16. quickscale_cli-0.71.0/src/quickscale_cli/commands/module_commands.py +0 -1206
  17. quickscale_cli-0.71.0/src/quickscale_cli/main.py +0 -256
  18. {quickscale_cli-0.71.0 → quickscale_cli-0.72.0}/src/quickscale_cli/__init__.py +0 -0
  19. {quickscale_cli-0.71.0 → quickscale_cli-0.72.0}/src/quickscale_cli/commands/__init__.py +0 -0
  20. {quickscale_cli-0.71.0 → quickscale_cli-0.72.0}/src/quickscale_cli/schema/__init__.py +0 -0
  21. {quickscale_cli-0.71.0 → quickscale_cli-0.72.0}/src/quickscale_cli/schema/state_schema.py +0 -0
  22. {quickscale_cli-0.71.0 → quickscale_cli-0.72.0}/src/quickscale_cli/utils/__init__.py +0 -0
  23. {quickscale_cli-0.71.0 → quickscale_cli-0.72.0}/src/quickscale_cli/utils/dependency_utils.py +0 -0
  24. {quickscale_cli-0.71.0 → quickscale_cli-0.72.0}/src/quickscale_cli/utils/docker_utils.py +0 -0
  25. {quickscale_cli-0.71.0 → quickscale_cli-0.72.0}/src/quickscale_cli/utils/project_manager.py +0 -0
  26. {quickscale_cli-0.71.0 → quickscale_cli-0.72.0}/src/quickscale_cli/utils/railway_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: quickscale-cli
3
- Version: 0.71.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 (>=0.71.0,<0.72.0)
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 init`
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 (MVP)
92
- 1. `quickscale init myapp`
93
- - Generates the minimal Django starter described in the MVP Feature Matrix
94
- - Ships with standalone `settings.py` by default; there is NO automatic settings inheritance. Advanced users who manually embed `quickscale_core` via git subtree may opt-in to inherit from `quickscale_core.settings` (see [decisions.md](./docs/technical/decisions.md#mvp-feature-matrix-authoritative)).
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
- ℹ️ 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.
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 init myapp` generates a **production-ready Django project** with:
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 quickscale.yml
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 init`
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 (MVP)
67
- 1. `quickscale init myapp`
68
- - Generates the minimal Django starter described in the MVP Feature Matrix
69
- - Ships with standalone `settings.py` by default; there is NO automatic settings inheritance. Advanced users who manually embed `quickscale_core` via git subtree may opt-in to inherit from `quickscale_core.settings` (see [decisions.md](./docs/technical/decisions.md#mvp-feature-matrix-authoritative)).
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
- ℹ️ 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.
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 init myapp` generates a **production-ready Django project** with:
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 quickscale.yml
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.71.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 = "^0.71.0"
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.71.0"
2
+ __version__ = "0.72.0"