mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-04-08 03:00:28 -04:00
## Summary Improves the `pr-address` skill with two fixes: - **Full comment thread loading**: Adds `--paginate` to the inline comments fetch and explicit instructions to reconstruct threads using `in_reply_to_id`, reading root-to-last-reply before acting. Previously, only the opening comment was visible — missing reviewer replies led to wrong fixes. - **Backtick-safe PR descriptions**: Adds instructions to write the PR body to a temp file via `<<'PREOF'` heredoc before passing to `gh pr edit/create`. Inlining the body directly causes backticks to be shell-escaped, breaking markdown rendering. ## Test plan - [ ] Run `/pr-address` on a PR with multi-reply inline comment threads — verify the last reply is what gets acted on - [ ] Update a PR description containing backticks — verify they render correctly in GitHub
4.0 KiB
4.0 KiB
CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Repository Overview
AutoGPT Platform is a monorepo containing:
- Backend (
backend): Python FastAPI server with async support - Frontend (
frontend): Next.js React application - Shared Libraries (
autogpt_libs): Common Python utilities
Component Documentation
- Backend: See @backend/CLAUDE.md for backend-specific commands, architecture, and development tasks
- Frontend: See @frontend/CLAUDE.md for frontend-specific commands, architecture, and development patterns
Key Concepts
- Agent Graphs: Workflow definitions stored as JSON, executed by the backend
- Blocks: Reusable components in
backend/backend/blocks/that perform specific tasks - Integrations: OAuth and API connections stored per user
- Store: Marketplace for sharing agent templates
- Virus Scanning: ClamAV integration for file upload security
Environment Configuration
Configuration Files
- Backend:
backend/.env.default(defaults) →backend/.env(user overrides) - Frontend:
frontend/.env.default(defaults) →frontend/.env(user overrides) - Platform:
.env.default(Supabase/shared defaults) →.env(user overrides)
Docker Environment Loading Order
.env.defaultfiles provide base configuration (tracked in git).envfiles provide user-specific overrides (gitignored)- Docker Compose
environment:sections provide service-specific overrides - Shell environment variables have highest precedence
Key Points
- All services use hardcoded defaults in docker-compose files (no
${VARIABLE}substitutions) - The
env_filedirective loads variables INTO containers at runtime - Backend/Frontend services use YAML anchors for consistent configuration
- Supabase services (
db/docker/docker-compose.yml) follow the same pattern
Branching Strategy
devis the main development branch. All PRs should targetdev.masteris the production branch. Only used for production releases.
Creating Pull Requests
- Create the PR against the
devbranch of the repository. - Ensure the branch name is descriptive (e.g.,
feature/add-new-block) - Use conventional commit messages (see below)
- Fill out the .github/PULL_REQUEST_TEMPLATE.md template as the PR description
- Always use
--body-fileto pass PR body — avoids shell interpretation of backticks and special characters:PR_BODY=$(mktemp) cat > "$PR_BODY" << 'PREOF' ## Summary - use `backticks` freely here PREOF gh pr create --title "..." --body-file "$PR_BODY" --base dev rm "$PR_BODY" - Run the github pre-commit hooks to ensure code quality.
Reviewing/Revising Pull Requests
Use /pr-review to review a PR or /pr-address to address comments.
When fetching comments manually:
gh api repos/Significant-Gravitas/AutoGPT/pulls/{N}/reviews --paginate— top-level reviewsgh api repos/Significant-Gravitas/AutoGPT/pulls/{N}/comments --paginate— inline review comments (always paginate to avoid missing comments beyond page 1)gh api repos/Significant-Gravitas/AutoGPT/issues/{N}/comments— PR conversation comments
Conventional Commits
Use this format for commit messages and Pull Request titles:
Conventional Commit Types:
feat: Introduces a new feature to the codebasefix: Patches a bug in the codebaserefactor: Code change that neither fixes a bug nor adds a feature; also applies to removing featuresci: Changes to CI configurationdocs: Documentation-only changesdx: Improvements to the developer experience
Recommended Base Scopes:
platform: Changes affecting both frontend and backendfrontendbackendinfrablocks: Modifications/additions of individual blocks
Subscope Examples:
backend/executorbackend/dbfrontend/builder(includes changes to the block UI component)infra/prod
Use these scopes and subscopes for clarity and consistency in commit messages.