Define
State intended behavior in an issue or module prompt.
Prompt Driven Hackathon / Participant field guide
Go from a well-scoped idea to a tested pull request with the PDD GitHub App or CLI.
01 / Choose your route
Both routes use a GitHub issue as the durable task record and produce a reviewable pull request.
Best when
You need GitHub access, the installed PDD App, and available PDD Cloud credits.
Install the GitHub AppConfigure it on the hackathon repository.
State the goal and observable acceptance criteria.
pdd-generate
Generate the architecture and prompt scaffolding first.
Confirm the architecture reflects the issue before implementation.
pdd-issue
Follow live progress and answer questions on the issue.
Require green tests and run the final checkup gate.
Best when
You need PDD, GitHub CLI, and one supported agentic CLI.
uv tool install pdd-cli
pdd setup
pdd auth login
gh auth login
pdd change https://github.com/OWNER/REPO/issues/123
02 / How PDD works
Preserve the specification and constraints that make regeneration reliable, not every manual implementation edit.
State intended behavior in an issue or module prompt.
Add interfaces, MUST and MUST NOT rules, examples, and tests.
Let PDD create or update the conventional code artifact.
Run tests, negative cases, and normal project checks.
Confirm that prompt, code, tests, and docs agree.
Record new intent in the prompt before completion.
Generated code is an artifact. Prompts, acceptance criteria, and tests are the durable source.
03 / Before you build
Ten minutes of preflight keeps access, credential, and baseline failures from consuming build time.
Participant preflight
A practical rhythm
Pick one visible outcome and record the initial test result.
Leave live progress, a branch, and initial tests.
Reduce scope and preserve a working vertical slice.
Run the full ladder and rehearse the exact demo.
04 / GitHub App workflow
Labels choose the workflow, issue comments steer it, and the resulting pull request is the review artifact.
Foundation loop
flowchart LR A["1. Define
PRD issue"] --> B["2. APPLY
pdd-generate"] B --> C["3. Inspect
architecture.json"] C --> D["4. Inspect
prompt scaffolding"] D --> E{"Foundation
ready?"} E -- "Refine" --> F["Tighten issue,
architecture, or prompts"] F --> C E -- "Ready" --> G["5. Choose one
execution label"] classDef command fill:#0A0A23,color:#FFFFFF,stroke:#00D8FF,stroke-width:2px classDef review fill:#F5F7FA,color:#0A0A23,stroke:#00D8FF,stroke-width:1px classDef decision fill:#FFC43D,color:#0A0A23,stroke:#0A0A23,stroke-width:2px class B,G command class C,D,F review class E decision
flowchart TD
A["1. Define PRD issue"] --> B["2. APPLY pdd-generate"]
B --> C["3. Inspect architecture.json"]
C --> D["4. Inspect prompt scaffolding"]
D --> E{"Foundation ready?"}
E -- "Refine" --> F["Tighten issue, architecture, or prompts"]
F --> C
E -- "Ready" --> G["5. Choose one execution label"]
classDef command fill:#0A0A23,color:#FFFFFF,stroke:#00D8FF,stroke-width:2px
classDef review fill:#F5F7FA,color:#0A0A23,stroke:#00D8FF,stroke-width:1px
classDef decision fill:#FFC43D,color:#0A0A23,stroke:#0A0A23,stroke-width:2px
class B,G command
class C,D,F review
class E decision
Generation exit: proceed only when the
architecture and prompts describe the intended behavior,
constraints, and validation. Re-run pdd-generate only
when the foundation itself must be rebuilt.
Command order
pdd-generateReview sourcepdd-issueor pdd-changeVerifypdd-checkup
pdd-changeReview PRpdd-sync / pdd-test as
neededVerifypdd-checkup
pdd-bugConfirm failing testpdd-fixVerifypdd-checkup
pdd-checkup is the final linked-PR gate. Use
pdd-checkup-nofix only when you want findings
without automated repair.
Create one issue for one demonstrable outcome.
Include criteria, forbidden outcomes, evidence, and validation.
Apply pdd-generate to create
architecture.json, configuration, and prompt
scaffolding.
Inspect the generated source. Refine the issue, architecture, or prompts until the foundation is ready.
Choose one execution label: pdd-issue for
autonomous solving, pdd-change for a scoped
feature, or pdd-bug to reproduce a defect.
For bugs, confirm the failing regression before applying
pdd-fix. Use pdd-sync or
pdd-test only where needed.
Review the PR, run the validation ladder, then apply
pdd-checkup.
Hosted commands
Purpose and next action| Command | Use it for | Then |
|---|---|---|
pdd-generate |
New PRD foundation | Review architecture and prompts |
pdd-issue |
End-to-end autonomous solving | Follow progress and review the PR |
pdd-change |
Scoped feature or behavior change | Review the PR; sync or test if needed |
pdd-bug |
Reproduce and analyze a defect | Validate the regression, then fix |
pdd-fix |
Repair a reproduced defect | Run tests and inspect the repair |
pdd-test |
Generate UI or E2E tests | Run and review the generated tests |
pdd-sync |
Reconcile source and artifacts | Verify the synchronized diff |
pdd-connect |
Start an interactive hosted session | Choose the next workflow explicitly |
pdd-checkup |
Final linked-PR gate with repair | Merge only on a clean verdict |
pdd-checkup-nofix |
Report-only PR review | Resolve findings, then run the gate |
/pdd settingsInspect run, spend, effective budget, and strength.
/pdd budget 30Set a USD budget cap for a standard command run.
/pdd stopStop active work and remove the trigger when
appropriate.
/pdd continue codexSwitch provider and resume a waiting run.
/pdd note textLeave a note that PDD ignores for steering.
/pdd checkup --pr PR_URLSelect the exact pull request for checkup.
pdd-decomposeSplit a large task before applying
pdd-issue.
pdd-clean-restartRestart a supported execution workflow from clean
state.
pdd-checkup-promptRun the final gate for prompt-focused work.
pdd-checkup-prompt-nofixReport prompt-focused findings without repair.
05 / CLI workflow
Run setup once, verify authentication, then use an issue URL as the durable workflow anchor.
curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install pdd-cli
pdd --version
pdd setup
pdd auth login
gh auth login
gh auth status
ISSUE=https://github.com/OWNER/REPO/issues/123
pdd change "$ISSUE"
ISSUE=https://github.com/OWNER/REPO/issues/456
pdd bug "$ISSUE"
pdd fix --protect-tests "$ISSUE"
pdd checkup \
--pr https://github.com/OWNER/REPO/pull/123 \
--issue https://github.com/OWNER/REPO/issues/456 \
--final-gate
06 / Write an effective issue
PDD can research implementation details. It should not have to invent a product decision.
## Goal
<One sentence describing the user-visible outcome.>
## Acceptance criteria
1. Given <starting state>, when <action>, then <observable result>.
2. <Required error, state change, output, API shape, or UI behavior.>
3. Existing <named behavior/test> still passes.
## Must not
- Must not expose secrets or personal data.
- Must not change <out-of-scope interface or behavior>.
## Evidence
- Reproduction steps, logs, screenshot, or failing test:
- Relevant files/routes/docs:
- Expected result:
- Actual result:
## Validation
- Install/build command:
- Targeted test command:
- Manual demo path:
## Done when
- Tests cover the positive case and important forbidden outcome.
- The issue, generated code, tests, and docs agree.
- The linked PR passes CI and PDD checkup.
Quality test
"Build team registration."
"A signed-in participant can create one team, invite up to three members, and see the same membership after refresh."
07 / Verify and review
Inspect it, test it, and reject it when the source-to-artifact contract is not satisfied.
Run PDD checkup against the linked issue and PR.
Execute the exact flow your team will present.
Run the normal suite and approved stories.
Exercise cross-module interfaces and persistence.
Prove invalid paths and forbidden side effects.
Run tests for the changed development unit.
Format, lint, type-check, and build.
Do not accept alone
08 / Security, credentials, and cost
Hackathon speed does not justify leaked credentials or unbounded automation.
Never paste API keys, OAuth tokens, JWTs, private logs, or
.env contents into issues, prompts, screenshots, or
commits.
Redact secrets before attaching execution logs or core dumps. Revoke anything that may have entered Git history.
Install the GitHub App only on repositories it needs. Use approved login flows, environment variables, or secret managers.
Use /pdd settings to inspect spend and
/pdd budget N to bound a hosted command run.
09 / Troubleshooting
Resolve the reported access, credential, credit, or state problem before retrying the workflow.
pdd: command not found
Open a new shell or add the uv tool bin directory to
PATH, then run
uv tool upgrade pdd-cli.
Run pdd auth login, then verify with
pdd auth status --verify.
Run gh auth status and confirm that account has
access to the repository.
Confirm the App is installed on that repository, then check repository health in PDD Cloud.
Answer on the issue, then rerun the same CLI command or follow the App's re-label instruction.
Use the CLI --clean-restart option or apply the
pdd-clean-restart modifier with the command label.
Restore and review the tests, then run
pdd fix --protect-tests ISSUE_URL.
Inspect the current PR head, environment differences, and CI logs before retrying PDD.
10 / Keep nearby
The shortest path from a defined issue to a reviewed pull request.
CLI feature
pdd change ISSUE_URL
CLI bug
pdd bug ISSUE_URL
pdd fix --protect-tests ISSUE_URL
GitHub App
issue -> pdd-generate -> review -> pdd-issue -> PR ->
pdd-checkup
Definition of done
When in doubt: improve the issue, add a test, rerun the workflow, and verify the result.