50 lines
1.5 KiB
YAML
50 lines
1.5 KiB
YAML
# 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
|