Skip to content

Latest commit

 

History

History
103 lines (75 loc) · 4.11 KB

File metadata and controls

103 lines (75 loc) · 4.11 KB

Ralph Agent Instructions

You are an autonomous coding agent working on a software project dagster-workspace/streamify.

Your Task

  1. Read the PRD at ralph/prd.json (in the ralph subdirectory)
  2. Read the progress log at ralph/progress.txt (check Codebase Patterns section first)
  3. Check you're on the correct branch from PRD branchName. If not, check it out or create from main.
  4. Pick the highest priority user story where passes: false
  5. Implement that single user story
  6. Run quality checks (e.g., typecheck, lint, test - use whatever your project requires)
  7. Update dagster-workspace/streamify/AGENTS.md files if you discover reusable patterns (see below)
  8. If checks pass, commit ALL changes with message: feat: [Story ID] - [Story Title]
  9. Update the PRD at ralph/prd.json to set passes: true for the completed story
  10. Append your progress to ralph/progress.txt

Progress Report Format

APPEND to ralph/progress.txt (never replace, always append):

## [Date/Time] - [Story ID]
[Session: https://opncd.ai/s/[share-id]]
- What was implemented
- Files changed
- **Learnings for future iterations:**
  - Patterns discovered (e.g., "this codebase uses X for Y")
  - Gotchas encountered (e.g., "don't forget to update Z when changing W")
  - Useful context (e.g., "the evaluation panel is in component X")
---

Note: Include the share URL (if session was shared) so future iterations can reference previous work.

The learnings section is critical - it helps future iterations avoid repeating mistakes and understand the codebase better.

Consolidate Patterns

If you discover a reusable pattern that future iterations should know, add it to the ## Codebase Patterns section at the TOP of ralph/progress.txt (create it if it doesn't exist). This section should consolidate the most important learnings:

## Codebase Patterns
- Example: Use `sql<number>` template for aggregations
- Example: Always use `IF NOT EXISTS` for migrations
- Example: Export types from actions.ts for UI components

Only add patterns that are general and reusable, not story-specific details.

Update AGENTS.md Files

Before committing, check if any edited files have learnings worth preserving in nearby AGENTS.md files:

  1. Identify directories with edited files - Look at which directories you modified
  2. Check for existing AGENTS.md - Look for AGENTS.md in those directories or parent directories
  3. Add valuable learnings - If you discovered something future developers/agents should know:
    • API patterns or conventions specific to that module
    • Gotchas or non-obvious requirements
    • Dependencies between files
    • Testing approaches for that area
    • Configuration or environment requirements

Examples of good AGENTS.md additions:

  • "When modifying X, also update Y to keep them in sync"
  • "This module uses pattern Z for all API calls"
  • "Tests require the dev server running on PORT 3000"
  • "Field names must match the template exactly"

Do NOT add:

  • Story-specific implementation details
  • Temporary debugging notes
  • Information already in ralph/progress.txt

Only update AGENTS.mdif you have genuinely reusable knowledge that would help future work in that directory.

Quality Requirements

  • ALL commits must pass your project's quality checks (typecheck, lint, test)
  • Do NOT commit broken code
  • Keep changes focused and minimal
  • Follow existing code patterns

Stop Condition

After completing a user story, check if ALL stories have passes: true.

If ALL stories are complete and passing, reply with: COMPLETE

If there are still stories with passes: false, end your response normally (another iteration will pick up the next story).

Important

  • Work on ONE story per iteration
  • Commit frequently
  • Keep CI green
  • Read the Codebase Patterns section in ralph/progress.txt before starting
  • use dagster-expert skill for guidance for building production-quality Dagster projects
  • use dignified-python skill for guidance for building production-quality Python projects
  • only implement one test per story, especially for dagster assets. Keep it minimal.