Files
phyllomeos/DEVELOPMENT_QUICK.md
T
Lukas Greve 3782777058 refactor: functional separation with deploy/, recipe-generator/, and bin/
- deploy/: deployment bash scripts (4 files)
- recipe-generator/: recipe generation tool (Python + YAML configs)
- bin/: executable wrappers (single generate-recipe entry point)
- Updated deploy.sh, README.md, DEVELOPMENT.md, DEVELOPMENT_QUICK.md
- Updated tests/test_recipe_generator.py and tests/integration/test_integration.py
- Updated CI workflow and Makefile paths
- All 41 tests pass
2026-03-25 09:34:00 +01:00

1.4 KiB

Phyllome OS Development Workflow

This is a quick-reference guide for developers. For comprehensive coverage, see DEVELOPMENT.md.

Quick Start

# Prerequisites
sudo dnf install qemu libvirt virt-install pykickstart
pip install PyYAML pytest

# Verify setup
cd recipe-generator && make generate-recipes && make test

Core Workflows

Add Fragment

# Create new kickstart snippet
cat > fragments/shared/packages/new-package.ks << 'EOF'
%packages
new-package
%end

Add to Recipe

# Edit recipe-generator/recipe_templates.yaml to include fragment
# Edit recipe-generator/recipes_manifest.yaml to add variant

# Regenerate
cd recipe-generator && make generate-recipes && make validate-recipes

Run Tests

cd recipe-generator
make test                    # All tests
make test-integration        # Integration only
make test-container          # Containerized

Validate Fragments

for f in $(find fragments -name "*.ks"); do
    python3 -c "
from pykickstart.parser import KickstartParser
from pykickstart.version import makeVersion, DEVEL
parser = KickstartParser(makeVersion(DEVEL))
parser.readKickstart(open('$f').read())
" || echo "✗ $f"
done

Architecture

fragments/ (54 .ks) → recipe-generator/generate_recipe.py → recipes/ (16 .cfg) → ksflatten → dishes/ (28 .cfg)

See DEVELOPMENT.md Section 1 for detailed architecture overview.