Files
phyllomeos/DEVELOPMENT_QUICK.md
T
Lukas Greve 288ed0a249 refactor: Simplify template logic - reduce from 6 to 3 categories, remove variant_type, keep validation, remove tests
Simplified template logic: reduced from 6 categories (required, modifiers, optional, versioned, conditional, flags) to 3 categories (required, modifiers, optional). Removed variant_type and replaced with modifier-based approach (version, bootloader replaced, hardware_support). All validation methods kept for recipe generation and validation. Removed tests directory (tests/test_recipe_generator.py, tests/integration/, tests/container/). Removed non-ISO workflows (validate-recipes, test-generation, container-tests, validate-ingredients). Updated Makefile, requirements.txt, and documentation. All 20 recipes successfully generated, validated, and flattened.
2026-03-27 12:13:51 +01:00

1.2 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

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

Core Workflows

Add Fragment

# Create new kickstart snippet
cat > ingredients/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

### Validate Fragments

```bash
for f in $(find ingredients -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

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

See DEVELOPMENT.md Section 1 for detailed architecture overview.