From 0e4781cd7d4aed2a3f0172232b7946372201b6e7 Mon Sep 17 00:00:00 2001 From: Christian Nennemann Date: Fri, 3 Apr 2026 12:11:01 +0200 Subject: [PATCH] feat: add multi-project examples (giesing + fullstack) and examples README --- examples/README.md | 46 +++++++++++++++++++++++++ examples/multi-project-fullstack.yaml | 49 +++++++++++++++++++++++++++ examples/multi-project-giesing.yaml | 49 +++++++++++++++++++++++++++ 3 files changed, 144 insertions(+) create mode 100644 examples/README.md create mode 100644 examples/multi-project-fullstack.yaml create mode 100644 examples/multi-project-giesing.yaml diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 0000000..d5f1923 --- /dev/null +++ b/examples/README.md @@ -0,0 +1,46 @@ +# ArcheFlow Examples + +Ready-to-use examples showing different ArcheFlow configurations. + +## Single-Project Runs + +| Example | Description | +|---------|-------------| +| [feature-implementation.md](feature-implementation.md) | Walkthrough of a standard-workflow feature (rate limiting) across 2 PDCA cycles | +| [security-review.md](security-review.md) | Security-focused review using Guardian and Trickster archetypes | +| [custom-workflow.yaml](custom-workflow.yaml) | Custom workflow definition for API-first design with contract validation | + +## Multi-Project Runs + +| Example | Description | +|---------|-------------| +| [multi-project-giesing.yaml](multi-project-giesing.yaml) | Improve ArcheFlow + Colette in parallel, then write a story using both (3 projects, 2 layers) | +| [multi-project-fullstack.yaml](multi-project-fullstack.yaml) | Fullstack auth feature: shared types first, then backend + frontend in parallel (3 projects, 2 layers) | + +## Directories + +| Directory | Description | +|-----------|-------------| +| [custom-archetypes/](custom-archetypes/) | Domain-specific archetype definitions (story-explorer, story-sage) | +| [teams/](teams/) | Team composition files for multi-agent runs (story-development) | +| [workflows/](workflows/) | Custom workflow definitions (kurzgeschichte) | + +## Usage + +Single-project run with default settings: + +```bash +archeflow:run +``` + +Multi-project run from a config file: + +```bash +archeflow:multi-project --config examples/multi-project-giesing.yaml +``` + +Dry-run to preview cost estimates without executing: + +```bash +archeflow:multi-project --config examples/multi-project-fullstack.yaml --dry-run +``` diff --git a/examples/multi-project-fullstack.yaml b/examples/multi-project-fullstack.yaml new file mode 100644 index 0000000..a7a0a0a --- /dev/null +++ b/examples/multi-project-fullstack.yaml @@ -0,0 +1,49 @@ +# Example: Multi-project run — fullstack feature across a monorepo +# +# Typical pattern: a shared library is built first (Layer 0), then the +# backend and frontend consume it in parallel (Layer 1). The DAG ensures +# the shared types exist before dependent packages start. +# +# Invoke: +# archeflow:multi-project --config examples/multi-project-fullstack.yaml +# archeflow:multi-project --config examples/multi-project-fullstack.yaml --dry-run + +name: user-auth +description: "Add user authentication across the stack" + +projects: + - id: shared + path: "packages/shared" + task: > + Add TypeScript auth types (User, Session, AuthToken, LoginRequest, + RegisterRequest) and JWT utility functions (sign, verify, decode) + with full test coverage. Export from package index. + workflow: fast + domain: code + depends_on: [] + + - id: backend + path: "packages/api" + task: > + Add auth middleware (JWT verification, role extraction), login and + register endpoints with bcrypt password hashing, refresh token + rotation, and integration tests against an in-memory DB. + workflow: standard + domain: code + depends_on: [shared] + + - id: frontend + path: "packages/web" + task: > + Add login and register pages, an AuthContext provider with token + refresh, a ProtectedRoute wrapper, and Playwright e2e tests for + the login flow. + workflow: standard + domain: code + depends_on: [shared] + +budget: + total_usd: 10.00 + per_project_usd: 5.00 + +parallel: true diff --git a/examples/multi-project-giesing.yaml b/examples/multi-project-giesing.yaml new file mode 100644 index 0000000..12bf097 --- /dev/null +++ b/examples/multi-project-giesing.yaml @@ -0,0 +1,49 @@ +# Example: Multi-project run — improve writing tools, then dogfood them +# +# This multi-run first improves ArcheFlow's artifact routing and Colette's +# voice validation in parallel (Layer 0), then uses the improved toolchain +# to write the second Giesing Gschichte (Layer 1). +# +# Invoke: +# archeflow:multi-project --config examples/multi-project-giesing.yaml +# archeflow:multi-project --config examples/multi-project-giesing.yaml --dry-run + +name: giesing-story-v2 +description: "Improve writing tools, then write story #2 as dogfood" + +projects: + - id: archeflow + path: "." # archeflow repo itself + task: > + Add cross-project artifact summaries to the Explorer prompt so that + dependent runs receive structured context from upstream completions. + Update artifact-routing skill and add a test fixture. + workflow: fast + domain: code + depends_on: [] + + - id: colette + path: "../writing.colette" + task: > + Add a 'voice drift' validation command that compares a draft chapter + against the voice profile YAML and reports drift scores per paragraph. + Include pytest coverage for the scoring logic. + workflow: standard + domain: code + depends_on: [] + + - id: giesing + path: "../book.giesing-gschichten" + task: > + Write story #2 ('Der Nockerberg') using the improved ArcheFlow artifact + routing and Colette voice validation. Target 3000 words, Giesing voice + profile, include local landmarks and dialect color. + workflow: kurzgeschichte + domain: writing + depends_on: [archeflow, colette] + +budget: + total_usd: 15.00 + per_project_usd: 8.00 + +parallel: true