devctl 1.0.0__py3-none-any.whl
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.
- devctl/__init__.py +3 -0
- devctl/commands/__init__.py +3 -0
- devctl/commands/add.py +166 -0
- devctl/commands/deploy.py +61 -0
- devctl/commands/docker.py +65 -0
- devctl/commands/init.py +193 -0
- devctl/commands/run.py +67 -0
- devctl/generators/__init__.py +3 -0
- devctl/generators/angular.py +112 -0
- devctl/generators/django.py +61 -0
- devctl/generators/docker_scaffold.py +656 -0
- devctl/generators/fastapi.py +67 -0
- devctl/generators/go_fiber.py +61 -0
- devctl/generators/nestjs.py +49 -0
- devctl/generators/nextjs.py +53 -0
- devctl/generators/nodejs.py +109 -0
- devctl/generators/react.py +43 -0
- devctl/generators/scaffold_angular.py +163 -0
- devctl/generators/scaffold_django.py +79 -0
- devctl/generators/scaffold_fastapi.py +83 -0
- devctl/generators/scaffold_go.py +67 -0
- devctl/generators/scaffold_nestjs.py +52 -0
- devctl/generators/scaffold_nextjs.py +73 -0
- devctl/generators/scaffold_nodejs.py +81 -0
- devctl/generators/scaffold_react.py +80 -0
- devctl/generators/scaffold_spring.py +166 -0
- devctl/generators/scaffold_svelte.py +73 -0
- devctl/generators/scaffold_vue.py +111 -0
- devctl/generators/spring.py +221 -0
- devctl/generators/svelte.py +52 -0
- devctl/generators/vue.py +105 -0
- devctl/main.py +45 -0
- devctl/orchestrator/__init__.py +3 -0
- devctl/orchestrator/config_builder.py +64 -0
- devctl/orchestrator/runner.py +219 -0
- devctl/orchestrator/scanner.py +155 -0
- devctl/templates/angular/config/environment.development.ts.j2 +4 -0
- devctl/templates/angular/config/environment.ts.j2 +5 -0
- devctl/templates/angular/config/proxy.conf.json.j2 +8 -0
- devctl/templates/angular/feature/models/request.model.ts.j2 +5 -0
- devctl/templates/angular/feature/models/response.model.ts.j2 +6 -0
- devctl/templates/angular/feature/pages/form/form.component.html.j2 +21 -0
- devctl/templates/angular/feature/pages/form/form.component.scss.j2 +0 -0
- devctl/templates/angular/feature/pages/form/form.component.ts.j2 +63 -0
- devctl/templates/angular/feature/pages/list/list.component.html.j2 +28 -0
- devctl/templates/angular/feature/pages/list/list.component.scss.j2 +0 -0
- devctl/templates/angular/feature/pages/list/list.component.ts.j2 +34 -0
- devctl/templates/angular/feature/routes.ts.j2 +9 -0
- devctl/templates/angular/feature/services/service.ts.j2 +34 -0
- devctl/templates/docker/deploy.yml.j2 +37 -0
- devctl/templates/docker/django/Dockerfile.j2 +21 -0
- devctl/templates/docker/fastapi/Dockerfile.j2 +15 -0
- devctl/templates/docker/frontend/Dockerfile.j2 +31 -0
- devctl/templates/docker/go/Dockerfile.j2 +24 -0
- devctl/templates/docker/nestjs/Dockerfile.j2 +26 -0
- devctl/templates/docker/nextjs/Dockerfile.j2 +43 -0
- devctl/templates/docker/nodejs/Dockerfile.j2 +24 -0
- devctl/templates/docker/spring/Dockerfile.j2 +24 -0
- devctl/templates/docker/svelte/Dockerfile.j2 +24 -0
- devctl/templates/proxy.conf.json.j2 +0 -0
- devctl/templates/spring/Controller.java.j2 +50 -0
- devctl/templates/spring/Entity.java.j2 +22 -0
- devctl/templates/spring/Repository.java.j2 +9 -0
- devctl/templates/spring/Service.java.j2 +20 -0
- devctl/templates/spring/ServiceImpl.java.j2 +62 -0
- devctl/templates/spring/application.properties.j2 +19 -0
- devctl/templates/spring/config/ApplicationConfig.java.j2 +46 -0
- devctl/templates/spring/config/JwtAuthenticationFilter.java.j2 +54 -0
- devctl/templates/spring/config/JwtService.java.j2 +68 -0
- devctl/templates/spring/config/SecurityConfig.java.j2 +42 -0
- devctl/templates/spring/docker-compose.yml.j2 +29 -0
- devctl/templates/spring/dto/Request.java.j2 +20 -0
- devctl/templates/spring/dto/Response.java.j2 +22 -0
- devctl/templates/spring/mapper/Mapper.java.j2 +30 -0
- devctl/templates/vue/config/App.vue.j2 +35 -0
- devctl/templates/vue/config/main.ts.j2 +9 -0
- devctl/templates/vue/config/router.ts.j2 +18 -0
- devctl/templates/vue/config/vite.config.ts.j2 +16 -0
- devctl/templates/vue/feature/Form.vue.j2 +162 -0
- devctl/templates/vue/feature/List.vue.j2 +155 -0
- devctl/templates/vue/feature/models.ts.j2 +12 -0
- devctl/templates/vue/feature/routes.ts.j2 +19 -0
- devctl/templates/vue/feature/service.ts.j2 +44 -0
- devctl/utils/__init__.py +3 -0
- devctl/utils/dependencies.py +36 -0
- devctl/utils/env_loader.py +57 -0
- devctl-1.0.0.dist-info/METADATA +127 -0
- devctl-1.0.0.dist-info/RECORD +92 -0
- devctl-1.0.0.dist-info/WHEEL +5 -0
- devctl-1.0.0.dist-info/entry_points.txt +2 -0
- devctl-1.0.0.dist-info/licenses/LICENSE +21 -0
- devctl-1.0.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Generators for Django projects.
|
|
3
|
+
Includes boilerplate generation with Django and DRF.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import os
|
|
7
|
+
import subprocess
|
|
8
|
+
|
|
9
|
+
import typer
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def generate_django_boilerplate(project_name: str) -> bool:
|
|
13
|
+
"""
|
|
14
|
+
Generates a new Django project.
|
|
15
|
+
"""
|
|
16
|
+
typer.secho(f"Generating Django project '{project_name}'...", fg=typer.colors.CYAN)
|
|
17
|
+
safe_name = project_name.lower().replace("-", "_") # Django prefers underscores
|
|
18
|
+
project_path = os.path.join(os.getcwd(), project_name)
|
|
19
|
+
|
|
20
|
+
try:
|
|
21
|
+
os.makedirs(project_path, exist_ok=True)
|
|
22
|
+
|
|
23
|
+
# 1. Create requirements.txt
|
|
24
|
+
requirements = """django
|
|
25
|
+
djangorestframework
|
|
26
|
+
django-cors-headers
|
|
27
|
+
"""
|
|
28
|
+
with open(os.path.join(project_path, "requirements.txt"), "w") as f:
|
|
29
|
+
f.write(requirements)
|
|
30
|
+
|
|
31
|
+
# 2. Create virtual environment
|
|
32
|
+
typer.secho("Creating virtual environment...", fg=typer.colors.CYAN)
|
|
33
|
+
subprocess.run(["python3", "-m", "venv", ".venv"], cwd=project_path, check=True)
|
|
34
|
+
|
|
35
|
+
# 3. Install Django
|
|
36
|
+
typer.secho("Installing Django and DRF...", fg=typer.colors.CYAN)
|
|
37
|
+
pip_path = os.path.join(".venv", "bin", "pip")
|
|
38
|
+
subprocess.run(
|
|
39
|
+
[pip_path, "install", "django", "djangorestframework"],
|
|
40
|
+
cwd=project_path,
|
|
41
|
+
check=True,
|
|
42
|
+
stdout=subprocess.DEVNULL,
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
# 4. Start Project
|
|
46
|
+
typer.secho("Scaffolding Django project structure...", fg=typer.colors.CYAN)
|
|
47
|
+
django_admin = os.path.join(".venv", "bin", "django-admin")
|
|
48
|
+
subprocess.run([django_admin, "startproject", safe_name, "."], cwd=project_path, check=True)
|
|
49
|
+
|
|
50
|
+
# 5. Create core app
|
|
51
|
+
python_path = os.path.join(".venv", "bin", "python")
|
|
52
|
+
subprocess.run([python_path, "manage.py", "startapp", "core"], cwd=project_path, check=True)
|
|
53
|
+
|
|
54
|
+
typer.secho(
|
|
55
|
+
f"Django project '{project_name}' successfully generated!", fg=typer.colors.GREEN
|
|
56
|
+
)
|
|
57
|
+
return True
|
|
58
|
+
|
|
59
|
+
except Exception as e:
|
|
60
|
+
typer.secho(f"Error: Django initialization failed: {e}", fg=typer.colors.RED)
|
|
61
|
+
return False
|