mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-01-07 22:33:57 -05:00
## 🧢 Overview This PR migrates the AutoGPT Platform frontend from [yarn 1](https://classic.yarnpkg.com/lang/en/) to [pnpm](https://pnpm.io/) using **corepack** for automatic package manager management. **yarn1** is not longer maintained and a bit old, moving to **pnpm** we get: - ⚡ Significantly faster install times, - 💾 Better disk space efficiency, - 🛠️ Better community support and maintenance, - 💆🏽♂️ Config swap very easy ## 🏗️ Changes ### Package Management Migration - updated [corepack](https://github.com/nodejs/corepack) to use [pnpm](https://pnpm.io/) - Deleted `yarn.lock` and generated new `pnpm-lock.yaml` - Updated `.gitignore` ### Documentation Updates - `frontend/README.md`: - added comprehensive tech stack overview with links - updated all commands to use pnpm - added corepack setup instructions - and included migration disclaimer for yarn users - `backend/README.md`: - Updated installation instructions to use pnpm with corepack - `AGENTS.md`: - Updated testing commands from yarn to pnpm ### CI/CD & Infrastructure - **GitHub Workflows** : - updated all jobs to use pnpm with corepack enable - cleaned FE Playwright test workflow to avoid Sentry noise - **Dockerfile**: - updated to use pnpm with corepack, changed lock file reference, and updated cache mount path ### 📋 Checklist #### For code changes: - [x] I have clearly listed my changes in the PR description - [x] I have made a test plan - [x] I have tested my changes according to the test plan: **Test Plan:** > assuming you are on the `frontend` folder - [x] Clean installation works: `rm -rf node_modules && corepack enable && pnpm install` - [x] Development server starts correctly: `pnpm dev` - [x] Build process works: `pnpm build` - [x] Linting and formatting work: `pnpm lint` and `pnpm format` - [x] Type checking works: `pnpm type-check` - [x] Tests run successfully: `pnpm test` - [x] Storybook starts correctly: `pnpm storybook` - [x] Docker build succeeds with new pnpm configuration - [x] GitHub Actions workflow passes with pnpm commands #### For configuration changes: - [x] `.env.example` is updated or already compatible with my changes - [x] `docker-compose.yml` is updated or already compatible with my changes - [x] I have included a list of my configuration changes in the PR description (under **Changes**)
54 lines
1.8 KiB
Markdown
54 lines
1.8 KiB
Markdown
# AutoGPT Platform Contribution Guide
|
||
|
||
This guide provides context for Codex when updating the **autogpt_platform** folder.
|
||
|
||
## Directory overview
|
||
|
||
- `autogpt_platform/backend` – FastAPI based backend service.
|
||
- `autogpt_platform/autogpt_libs` – Shared Python libraries.
|
||
- `autogpt_platform/frontend` – Next.js + Typescript frontend.
|
||
- `autogpt_platform/docker-compose.yml` – development stack.
|
||
|
||
See `docs/content/platform/getting-started.md` for setup instructions.
|
||
|
||
## Code style
|
||
|
||
- Format Python code with `poetry run format`.
|
||
- Format frontend code using `pnpm format`.
|
||
|
||
## Testing
|
||
|
||
- Backend: `poetry run test` (runs pytest with a docker based postgres + prisma).
|
||
- Frontend: `pnpm test` or `pnpm test-ui` for Playwright tests. See `docs/content/platform/contributing/tests.md` for tips.
|
||
|
||
Always run the relevant linters and tests before committing.
|
||
Use conventional commit messages for all commits (e.g. `feat(backend): add API`).
|
||
Types:
|
||
- feat
|
||
- fix
|
||
- refactor
|
||
- ci
|
||
- dx (developer experience)
|
||
Scopes:
|
||
- platform
|
||
- platform/library
|
||
- platform/marketplace
|
||
- backend
|
||
- backend/executor
|
||
- frontend
|
||
- frontend/library
|
||
- frontend/marketplace
|
||
- blocks
|
||
|
||
## Pull requests
|
||
|
||
- Use the template in `.github/PULL_REQUEST_TEMPLATE.md`.
|
||
- Rely on the pre-commit checks for linting and formatting
|
||
- Fill out the **Changes** section and the checklist.
|
||
- Use conventional commit titles with a scope (e.g. `feat(frontend): add feature`).
|
||
- Keep out-of-scope changes under 20% of the PR.
|
||
- Ensure PR descriptions are complete.
|
||
- For changes touching `data/*.py`, validate user ID checks or explain why not needed.
|
||
- If adding protected frontend routes, update `frontend/lib/supabase/middleware.ts`.
|
||
- Use the linear ticket branch structure if given codex/open-1668-resume-dropped-runs
|