-
overview
-
key features
-
architecture
-
getting started
-
configuration
-
usage
-
examples
-
pipeline stages deep dive
-
folder structure
-
testing
-
deployment
-
roadmap
-
contributing
-
license
-
overview
PEDAL automates the transformation of a text‑based product requirements document (PRD) into a fully coded backend implementation—complete with domain model, validation, database schema, API specification, and boilerplate business logic and tests. it’s designed as a modular pipeline so every stage can be inspected, swapped out, or extended, making it ideal for product‑focused engineering teams that demand both speed and rigor.
- key features
• end‑to‑end automation from PRD to production‑ready TypeScript backend • AI‑driven domain extraction and event‑storming enrichment • auto‑generated OpenAPI (OAS) definitions and Zod validation schemas • one‑click Supabase setup and seed data population • fully typed, testable endpoint implementations • plugin‑style pipeline: add, remove, or customize stages • CLI commands and DevOps‑friendly shell scripts
- architecture
PEDAL core is written in Python. it orchestrates a sequence of stages (see “pipeline stages deep dive” below). generated artifacts live in a parallel TypeScript project that handles API routing, controllers, and tests.
+-------------------+
| PRD (markdown) |
+---------+---------+
|
v
+-------------------+
| domain model gen |
+---------+---------+
|
v
+-------------------+
| event storming |
+---------+---------+
|
v
+-------------------+
| OpenAPI spec gen |
+---------+---------+
|
v
+-------------------+
| Zod schema gen |
+---------+---------+
|
v
+-------------------+
| Supabase provision|
+---------+---------+
|
v
+-------------------+
| TS backend + tests|
+-------------------+
prerequisites • node.js 18+ • npm or yarn • python 3.10+ • docker (for local supabase) • an OpenAI API key
clone and install
git clone https://github.com/ForestMars/PEDAL.git
cd PEDAL
./install.sh # installs Python & TS deps, sets up venv - configuration
copy the example env file and fill in your secrets:
cp .env.example .env
# open .env in your editor and set
# OPENAI_API_KEY, SUPABASE_URL, SUPABASE_KEY, DATABASE_URL - usage
run the full pipeline against a PRD file:
python src/index.py --input examples/sample-prd.md or in dev mode with live reload:
npm run dev # kicks off TS server watching for changes
python src/index.py # generates artifacts into `api/` and `db/` - examples
open examples/sample-prd.md for a starter PRD. after running the pipeline you’ll find:
• models/ – TypeScript interfaces and Zod schemas
• api/ – Express route handlers and OpenAPI docs
• db/ – SQL migration files and seed scripts
- pipeline stages deep dive
-
PRD to domain model • leverage OpenAI to parse free‑form text into entities and relationships
-
domain model enhancement • apply event storming heuristics to assign behaviors (methods) to entities
-
OAS generation • render an OpenAPI v3 YAML spec from the enriched domain model
-
Zod schema generation • convert OAS definitions into TypeScript Zod validators for request/response
-
database population • run migrations against Supabase and seed with example data
-
backend implementation • scaffold Express controllers, repository layer, and automated Jest tests
-
folder structure
PEDAL/
├─ airflow/ # optional DAG definitions for orchestration
├─ artifacts/ # output from last pipeline run
├─ examples/ # sample PRDs and expected output
├─ src/
│ ├─ pipeline/ # pipelined stage implementations
│ ├─ models/ # internal Python DTOs
│ ├─ api/ # TS project for serverless/Express
│ ├─ db/ # SQL migrations and seed scripts
│ ├─ utils/ # shared helper functions
│ └─ index.py # CLI entrypoint
├─ .env.example # sample environment config
├─ install.sh # bootstrap script
├─ aaa.sh # helper for local debugging
├─ package.json # TS dependencies and scripts
├─ requirements.txt # Python dependencies
└─ tsconfig.json # TS compiler options
- testing
run Python unit tests and TS tests in one command:
npm test
pytest src/pipeline - deployment
-
build the TS server:
npm run build -
dockerize with provided
Dockerfile -
push to container registry
-
deploy to your favorite cloud (Heroku, Vercel, AWS ECS)
-
roadmap
• support for alternate AI providers • custom plugin hooks at each pipeline stage • UI dashboard for monitoring runs • multi‑tenant mode with RBAC
- contributing
-
open an issue for any feature request or bug
-
fork the repo and branch from
main -
follow the code style (black + Prettier + ESLint)
-
write tests for new features
-
submit a pull request, referencing your issue
-
license
License: All Rights Reserved, Contiuum Software