-
Notifications
You must be signed in to change notification settings - Fork 0
Praxis Pro
Praxis Pro is the pro-backend project type in the normal praxiflow CLI. It is not a separate branch or executable. Schema version 2 records a backend stack, requested capabilities, resolved capabilities, and an optional Terraform cloud.
Detailed runtime guides: Django-Architecture, Gin-Architecture, Capability-Architecture, Compose-Architecture, Kubernetes-Architecture, and Terraform-Architecture.
flowchart TD
Requested[Requested capabilities] --> Closure[resolveProCapabilities]
Closure --> Effective[Resolved capabilities in canonical order]
Effective --> Modules[Capability modules]
Stack[python-django or go-gin] --> Modules
Effective --> Compose[pro.compose always]
Effective --> K8s{contains kubernetes?}
K8s -->|yes| KM[pro.kubernetes]
Effective --> TF{contains terraform?}
TF -->|yes| Shared[pro.terraform.shared]
Shared --> Cloud[pro.terraform.aws / azure / gcp]
Capabilities express outcomes, not vendor questionnaires. Stack-specific selectors choose the implementation—for example Celery in Django versus a Go worker—without changing the capability name.
| Requested | Implied prerequisites |
|---|---|
fine-grained-auth |
jwt-auth |
background-jobs |
redis-cache |
scheduled-jobs |
background-jobs → redis-cache
|
email-tasks |
background-jobs → redis-cache
|
realtime |
redis-cache |
synthetic-monitoring |
prometheus |
terraform |
Kubernetes, autoscaling, high availability, edge protection, database resilience, cloud secrets |
The exact implication graph and canonical order are in cli/src/config/pro.ts. resolvedCapabilities is verified rather than trusted.
-
pro.core— shared repository/operations baseline. -
pro.djangoorpro.gin— application framework and database lifecycle. -
pro.capability.<name>for each resolved capability. -
pro.compose— local production-shaped service topology for the effective set. -
pro.kuberneteswhen selected/implied. - shared and cloud-specific Terraform when selected.
Compose is always generated for local operation. Kubernetes and Terraform are opt-in; Terraform implies Kubernetes and requires AWS, Azure, or GCP.
| Layer | Django/DRF | Go/Gin |
|---|---|---|
| HTTP API | Django + Django REST Framework | Gin router/handlers |
| Persistence | PostgreSQL via Django ORM/migrations | PostgreSQL via migrations and typed query/service code |
| Settings | environment-split Django settings | environment/config package |
| Health | liveness/readiness/startup-aware endpoints | liveness/readiness handlers |
| Worker | Celery when selected | generated Go worker when selected |
| Scheduler | Celery beat when selected | generated Go scheduler when selected |
| Local topology | Docker Compose | Docker Compose |
| Orchestration | optional Kubernetes | optional Kubernetes |
| Cloud baseline | optional Terraform | optional Terraform |
Capabilities can contribute application code, service configuration, infrastructure, or a combination:
- authentication/authorization patch request middleware and domain code;
- Redis, jobs, email, realtime, Kafka, search, and storage add clients plus local services;
- Sentry, Prometheus, OpenTelemetry, ELK, and synthetic monitoring add instrumentation and operational services;
- Nginx, autoscaling, high availability, edge protection, resilience, disaster recovery, and secrets primarily affect deployment/runtime artifacts;
- compliance audit, seed data, load testing, and feature flags add explicit operational tools or APIs.
Praxis Pro produces a strong starting repository and executable operational wiring. It cannot prove that a generated application is production-ready for a particular organization. Users still own secret provisioning, cloud account policy, data classification, capacity planning, restore drills, penetration testing, and framework dependency maintenance.
- Pro model:
cli/src/config/pro.ts - Pro validation:
cli/src/config/schema.ts - Resolver:
cli/src/config/resolver.ts - Core/stack manifests:
cli/templates/pro.core/,cli/templates/pro.django/,cli/templates/pro.gin/ - Release matrix:
cli/tests/generator/proMatrix.test.ts
This Wiki is generated from the repository's versioned docs/ source. Update and review the source files; do not rely on hand edits to generated Wiki pages.
- Core-Internals
- Architecture
- Repository-Map
- Code-Architecture
- Generation-Pipeline
- Manifest-System
- UI-Templates
- Testing
- Agent-Guide
- Wiki-Publishing
- Template-Architecture
- Standard-Projects
- Standard-Frontend-Architecture
- Express-Architecture
- Fullstack-Architecture
- Praxis-Pro
- Django-Architecture
- Gin-Architecture
- Capability-Architecture
- Compose-Architecture
- Kubernetes-Architecture
- Terraform-Architecture
- Extending-Generated-Projects
- Generated-Backends