Skip to content

05_28_05_project_scaffolding - Scaffolding de Proyectos Completos

Propósito

Generadores que crean proyectos completos desde cero con toda la infraestructura necesaria en < 5 segundos.

Generador Principal

# project_generator.py
class ProjectGenerator:
    def generate_project(self, config: dict, output_dir: Path):
        """Generate complete project from YAML config"""
        self.validate_config(config)
        self.create_directories(output_dir, config)
        self.generate_files(output_dir, config)
        self.init_git(output_dir)

Configuration Schema

# my_project.yaml
name: my_dsp_module
type: atom
level: L1
category: oscillator
author: Your Name

parameters:
  - name: frequency
    type: float
    default: 440.0
    min: 20.0
    max: 20000.0

features:
  simd: true
  presets: true
  automation: true

Generated Structure

my_dsp_module/
├── CMakeLists.txt
├── README.md
├── .gitignore
├── include/
│   └── my_dsp_module.hpp
├── src/
│   └── my_dsp_module.cpp
├── tests/
│   └── my_dsp_module_test.cpp
└── examples/
    └── basic_usage.cpp

CLI Command

audiolab-generate project --config my_project.yaml

Entregables

  • Python generator
  • Scaffolding < 5s
  • 95% compila inmediatamente
  • Schema validation
  • 10+ configs ejemplo

Estimación: 3 semanas