Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
211 commits
Select commit Hold shift + click to select a range
cf2ca63
fix(backend): use admin route for store downloads (#10406)
ntindle Jul 18, 2025
6dba6ec
feat(backend): Add database index for improved query performance (#10…
Swiftyos Jul 21, 2025
f81d7e6
feat(backend): Add Missing FK indexes and remove unused & redundant i…
majdyz Jul 21, 2025
bf73b42
fix(platform): Fix service health check mechanism on app service (#10…
majdyz Jul 18, 2025
e28eec6
feat(backend): Add ReverseListOrderBlock for reversing list element o…
Swiftyos Jul 21, 2025
0c9b733
feat(backend): Register agent subgraphs as library entries during age…
majdyz Jul 21, 2025
61d0892
fix(frontend): init LD on the client (#10414)
0ubbe Jul 21, 2025
3b963e5
feat(platform): Move NotificationManager service from rest-api pod to…
majdyz Jul 22, 2025
6d25e8f
feat(platform): Move NotificationManager service from rest-api pod to…
majdyz Jul 22, 2025
f4a179e
feat(backend): Add thread safety to NodeExecutionProgress output hand…
majdyz Jul 22, 2025
ae6ef8c
refactor(frontend): improve LaunchDarkly provider initialization (#10…
ntindle Jul 22, 2025
f8b9e80
feat(backend): enable the google blocks + fix .env (#10430)
ntindle Jul 22, 2025
a58613a
fix(backend): Fix Agent Input with empty string default value not bei…
majdyz Jul 22, 2025
41363b1
feat(frontend): agent activity dropdown (#10416)
0ubbe Jul 22, 2025
c3fe31e
feat: Introduce DatabaseManager startup process file (poetry run db)
majdyz Jul 23, 2025
708e84f
chore(frontend/deps-dev): Bump the development-dependencies group in …
dependabot[bot] Jul 23, 2025
51a39ef
feat(platform): Move DatabaseManager away from RestAPI as a standalon…
majdyz Jul 23, 2025
ccad664
feat: Add alert for notifying stuck running agent for more than a day…
majdyz Jul 23, 2025
e7f8602
fix(frontend): handle websocket connection on logout (#10440)
0ubbe Jul 24, 2025
b0e8131
fix(platform): Fix database manager process missing on self-hosted do…
majdyz Jul 24, 2025
683826c
Further clarify language
Torantulino Jul 24, 2025
921fb20
Update README.md
Torantulino Jul 24, 2025
f786142
fix: transfer NodeTextBoxInput to use local state to fix cursor jump …
vickywane Jul 24, 2025
e3590e1
chore(frontend): ci caching + e2e test data script (#10446)
0ubbe Jul 24, 2025
38ea49c
Merge branch 'master' of github.com:Significant-Gravitas/AutoGPT into…
majdyz Jul 25, 2025
070e1c0
fix: Remove DatabaseManager heath-check from RestAPI service
majdyz Jul 25, 2025
4d6ec00
chore(backend/deps): Update 8 packages (#10448)
dependabot[bot] Jul 25, 2025
c955e9a
feat(blocks): Add Airtable Integration (#10338)
Swiftyos Jul 25, 2025
39fe22f
feat(block): Add Ayrshare integration for social media posting (#9946)
Swiftyos Jul 25, 2025
29d4b4f
fix(frontend): socket logout handling (#10445)
0ubbe Jul 25, 2025
03cf392
chore(backend/deps, libs/deps): Bump redis from 5.2.x to 6.2.0 (#10177)
dependabot[bot] Jul 25, 2025
f44920c
Update README.md
Torantulino Jul 25, 2025
079d7c2
Update README.md
Torantulino Jul 25, 2025
d991b4f
Update README.md
Torantulino Jul 25, 2025
8321677
chore(frontend/deps): Update 12 dependencies (#10451)
dependabot[bot] Jul 25, 2025
3c62ca2
Improve clarity
Torantulino Jul 25, 2025
7ea4077
fix(frontend/builder): Prevent bad graph reloads (#10459)
Pwuts Jul 26, 2025
9171c6d
fix(frontend/builder): Prevent bad graph reloads (#10459)
Pwuts Jul 26, 2025
f7c1906
feat(frontend, backend): Publish Agent Dialog Agent List Pagination (…
ntindle Jul 28, 2025
b71d0ec
feat(backend): Ensure json column value serializable & remove excessi…
majdyz Jul 28, 2025
4d05a27
feat(backend): Avoid executor over-consuming messages when it's fully…
majdyz Jul 28, 2025
95650ee
feat(backend): improve gmail blocks (#10475)
ntindle Jul 29, 2025
04f8cd6
feat(blocks): Add WordPress integration with OAuth and create post bl…
Swiftyos Jul 29, 2025
55af487
fix(backend): Revert RabbitMQ consumer heartbeat mechanism (#10477)
majdyz Jul 29, 2025
a60abe5
feat(frontend): agent activity improvements (#10462)
0ubbe Jul 29, 2025
83f96b7
fix(backend): Ensure we only present working auth options on blocks (…
Swiftyos Jul 29, 2025
b9c7642
feat(backend): Introduce http client refresh on repeated error (#10481)
majdyz Jul 30, 2025
a37fac3
fix(backend): Fix LLM blocks call tracking (#10483)
majdyz Jul 30, 2025
7373b47
fix(frontend): agent activity sometimes broken links (#10480)
0ubbe Jul 30, 2025
b087618
feat(backend): add getting user profile, drafts, update send email to…
ntindle Jul 30, 2025
02f5e92
feat(blocks): Add Airtable Integration with Base Management (#10485)
Swiftyos Jul 30, 2025
bb71492
feat(blocks): Add Wolfram Alpha LLM API Block (#10486)
Swiftyos Jul 30, 2025
48f7561
fix(backend): Fix Google OAuth token revocation (#10491)
Pwuts Jul 30, 2025
9ca75d9
Revert "fix(backend): Fix Google OAuth token revocation" (#10493)
Pwuts Jul 30, 2025
e3fa8f6
fix(frontend): agent activity links (2) (#10488)
0ubbe Jul 30, 2025
903a3b8
Merge branch 'master' into dev
Pwuts Jul 30, 2025
68974dc
feat(backend): Enable Ayrshare YouTube support (#10505)
Swiftyos Jul 31, 2025
b429505
feat(backend): Enable Ayrshare Instagram support (#10504)
Swiftyos Jul 31, 2025
df399e5
feat(blocks): Add Firecrawl Integration for Web Scraping and Data Ext…
Swiftyos Jul 31, 2025
9b94a7d
chore(backend): Remove deprecated LLM models (#10508)
Bentlybro Jul 31, 2025
b56da45
chore(backend): Remove grok-beta llm (#10510)
Bentlybro Jul 31, 2025
f542995
fix(frontend): publish agent modal refactor + improvements (#10479)
0ubbe Jul 31, 2025
054c20a
feat(backend): Add new LLM models (#10512)
Bentlybro Jul 31, 2025
9ce857e
fix(backend): we're making loops (#10514)
ntindle Jul 31, 2025
2167625
fix(frontend): publish agent improvements (#10515)
0ubbe Jul 31, 2025
686d811
feat(backend): Agent Executor reliability; make RPC to DB manager dur…
majdyz Jul 31, 2025
d323dc2
feat(backend): optimize processing of queues in notif service (#10513)
ntindle Jul 31, 2025
e371ef8
feat(frontend): Add main marketplace page tests and page object struc…
Abhi1992002 Aug 1, 2025
878f61a
fix(test): Enhance E2E test data script to include featured creators …
Abhi1992002 Aug 1, 2025
e632549
feat(backend): Add AI-generated activity status for agent executions …
majdyz Aug 1, 2025
8331dab
feat(backend): Make agent graph execution retriable and its failure v…
majdyz Aug 1, 2025
7705cf2
refactor(frontend): Update data fetching strategy in marketplace main…
Abhi1992002 Aug 1, 2025
326c4a9
feat(frontend): Add marketplace creator page tests (#10429)
Abhi1992002 Aug 1, 2025
4283798
feat: Avoid Rest & DatabaseManager service serving traffic when the d…
majdyz Aug 1, 2025
69d873d
fix(backend): improve executor reliability and error handling (#10526)
majdyz Aug 2, 2025
1c3fa80
feat(backend): add timeout guard for locked_transaction used for cred…
majdyz Aug 2, 2025
0978f40
feat(frontend): Add reusable infinite scroll component for consistent…
Abhi1992002 Aug 4, 2025
5dbc3a7
feat(frontend): Add marketplace agent page tests (#10434)
Abhi1992002 Aug 4, 2025
e043e49
fix(frontend) : Update server-side mutator to bypass proxy (#10523)
Abhi1992002 Aug 4, 2025
2182c7b
refactor(backend): remove Ayrshare from execution & credentials manag…
Swiftyos Aug 4, 2025
e5d3eba
feat(backend): Make Graph & Node Execution Stats Update Durable (#10529)
majdyz Aug 4, 2025
b85e820
refactor(platform): remove unused functions and imports (#10535)
majdyz Aug 4, 2025
6f8d0bf
fix(backend/executor): Fix node execution status and output persisten…
majdyz Aug 4, 2025
1e6bd8d
fix(backend/executor): Avoid stopping agent node evaluation when stop…
majdyz Aug 4, 2025
05d4d21
feat(frontend): Show CAPTCHA only in cloud environments (#10543)
Bentlybro Aug 4, 2025
5a5f7f0
fix(backend): Fix Airtable API boolean type casting for string values…
Swiftyos Aug 5, 2025
cc6697e
fix(backend): clean up parsing a bit for gmail read (#10555)
ntindle Aug 5, 2025
f9b255f
feat(backend/executor): Avoid executor premature termination on infli…
majdyz Aug 5, 2025
b935638
Merge branch 'master' of github.com:Significant-Gravitas/AutoGPT into…
majdyz Aug 5, 2025
fa2d968
fix(builder): Defer graph validation to backend (#10556)
Pwuts Aug 5, 2025
3fe88b6
refactor(backend): Refactor log client and resource cleanup (#10558)
majdyz Aug 6, 2025
9848266
test(frontend): e2e tests for library page (#10355)
Abhi1992002 Aug 6, 2025
4a63fbc
feat(blocks): Add OpenAI's new opensource models (#10559)
Bentlybro Aug 6, 2025
c936055
fix(backend): Persist any non interruption error on node execution as…
majdyz Aug 6, 2025
59cc326
Merge branch 'master' of github.com:Significant-Gravitas/AutoGPT into…
majdyz Aug 6, 2025
e2af2f4
fix(backend): migrate notification service to fully async to resolve …
majdyz Aug 7, 2025
a21711a
feat(backend): migrate AgentExecutor from ProcessPoolExecutor to Thre…
majdyz Aug 7, 2025
f172b31
feat(docker): add frontend service to docker-compose with env config …
majdyz Aug 7, 2025
7922e4a
fix(backend): fix lack of event loop on notification manager
majdyz Aug 7, 2025
377b5ef
fix id not preserved through airtable oauth refresh (#10573)
Swiftyos Aug 7, 2025
2d10ac9
feat(blocks): Add GPT-5 models to the platform (#10574)
Bentlybro Aug 7, 2025
7b3ee66
feat(blocks): Add Anthropics new Claude Opus 4.1 model (#10575)
Bentlybro Aug 7, 2025
c972f34
Revert "feat(docker): add frontend service to docker-compose with env…
ntindle Aug 7, 2025
178c91d
ref(backend): time/date blocks to support ISO 8601 and custom formats…
ntindle Aug 7, 2025
40601f1
fix(backend): Fix executor running RabbitMQ operations on closed/clos…
majdyz Aug 7, 2025
3c52b75
fix(frontend): marketplace top agents section (#10571)
Abhi1992002 Aug 8, 2025
378d256
fix(backend): add graph validation before scheduling recurring jobs (…
majdyz Aug 8, 2025
3131e2e
fix(backend): resolve unclosed HTTP client session errors (#10566)
majdyz Aug 8, 2025
e60deba
refactor(backend): separate notification service from scheduler (#10579)
majdyz Aug 8, 2025
ac9265c
Merge branch 'master' of github.com:Significant-Gravitas/AutoGPT into…
majdyz Aug 8, 2025
4f208d2
test(frontend): add e2e tests for agent dashboard page (#10572)
Abhi1992002 Aug 8, 2025
fbe4329
fix(backend/scheduler): Add more robust health check mechanism for sc…
majdyz Aug 8, 2025
e8f897e
feat(backend): standardize service health checks with UnhealthyServic…
majdyz Aug 8, 2025
5338ab5
feat(backend): standardize service health checks with UnhealthyServic…
majdyz Aug 8, 2025
de7b6b5
fix(backend): Add timeout on stopping message consumer on manager
majdyz Aug 8, 2025
a28b2cf
fix(backend/scheduler): Reconfigure scheduling setting & Add more log…
majdyz Aug 8, 2025
098c12a
feat(backend): Enable Ayrshare TikTok support (#10537)
Swiftyos Aug 8, 2025
da16397
feat(blocks): update exa websets implementation (#10521)
Swiftyos Aug 8, 2025
c1c5571
feat(blocks): Add 5 additional GitHub Integration blocks (#10561)
Swiftyos Aug 8, 2025
b68e490
fix(backend): correct LLM configurations (#10585)
Bentlybro Aug 8, 2025
0116866
feat(backend): add more discord blocks support (#10586)
ntindle Aug 8, 2025
d4b5508
fix(backend): resolve scheduler deadlock and improve health checks (#…
majdyz Aug 9, 2025
28d85ad
feat(backend/AM): Integrate AutoMod content moderation (#10539)
Bentlybro Aug 11, 2025
f4a7323
fix(frontend): remove state limits from agent activity dropdown
0ubbe Aug 11, 2025
e13e0d4
test(frontend): add e2e test for profile form page (#10596)
Abhi1992002 Aug 11, 2025
89eb5d1
feat(feature-flag): add LaunchDarkly user context and metadata suppor…
majdyz Aug 12, 2025
c168277
feat(platform): add py-spy profiling support
majdyz Aug 12, 2025
6c34790
Revert "feat(platform): add py-spy profiling support"
majdyz Aug 12, 2025
abba10b
feat(block): Remove paralel tool-call system prompting (#10627)
majdyz Aug 12, 2025
b9c3920
fix(backend): Support dynamic values_#_* fields in CreateDictionaryBl…
ntindle Aug 12, 2025
a2059c6
refactor(backend): consolidate LaunchDarkly feature flag management (…
majdyz Aug 13, 2025
793de77
ref(backend): update Gmail blocks to unify architecture and improve e…
ntindle Aug 13, 2025
41f5007
fix(marketplace): loading state (#10629)
0ubbe Aug 13, 2025
34dd218
fix(backend): resolve CloudLoggingHandler deadlock causing scheduler …
majdyz Aug 13, 2025
2d436ca
fix(backend/AM): Fix AutoMod api key issue (#10635)
Bentlybro Aug 13, 2025
a135f09
feat(frontend): update settings form (#10628)
0ubbe Aug 13, 2025
0dd30e2
docs(blocks): Add AI/ML API integration guide and update LLM headers …
D1m7asis Aug 13, 2025
af7d566
fix(logging): remove uvicorn log config to prevent startup deadlock (…
majdyz Aug 13, 2025
4bfeddc
feat(platform/docker): add frontend service to docker-compose with en…
majdyz Aug 14, 2025
b53c373
feat(docker): streamline Supabase to minimal essential services (#10639)
majdyz Aug 14, 2025
21faf1b
fix(backend): update and fix weekly summary email (#10343)
ntindle Aug 14, 2025
df20b70
feat(blocks): Enrichlayer integration (#9924)
ntindle Aug 15, 2025
6bb6a08
feat(backend): add support for v0 by Vercel models and credentials (#…
ntindle Aug 15, 2025
03e3e2e
fix(frontend): remove console.log (#10649)
0ubbe Aug 15, 2025
af58b31
chore(frontend/deps-dev): Bump the development-dependencies group acr…
dependabot[bot] Aug 15, 2025
2403931
chore(frontend/deps): bump the production-dependencies group across 1…
dependabot[bot] Aug 15, 2025
9158d4b
docs(frontend): update README with Docker instructions (#10648)
0ubbe Aug 15, 2025
6fce3a0
fix(platform): fix admin dashboard credit tool search, pagination, an…
ntindle Aug 15, 2025
bf92e7d
hotfix(backend/executor): Fix RabbitMQ channel retry logic in executo…
majdyz Aug 16, 2025
32513b2
Merge branch 'master' of github.com:Significant-Gravitas/AutoGPT into…
majdyz Aug 17, 2025
5d364e1
chore(frontend): Regenerate API client for orval v7.11.2 (#10663)
kcze Aug 18, 2025
7293859
hotfix: reduce scheduler max_workers to match database pool size (#10…
majdyz Aug 18, 2025
542f951
Merge branch 'master' of https://github.com/Significant-Gravitas/Auto…
majdyz Aug 18, 2025
908dcd7
doc(readme): add links to translated README versions (#10659)
dowithless Aug 18, 2025
ba65fee
hotfix(backend/executor): Fix propagation of passed-in credentials to…
Pwuts Aug 18, 2025
5da5c2e
Merge branch 'master' into dev
Pwuts Aug 18, 2025
92515b3
feat(platform): add ability to reject approved agents in admin dashboard
ntindle Aug 18, 2025
a8feb3c
feat(platform/builder): implement launchdarkly feature flag for block…
Abhi1992002 Aug 18, 2025
312cb02
fix(backend/credit): prevent double-application of transactions due t…
majdyz Aug 18, 2025
35bd7f7
fix(frontend/builder): Prevent unnecessary saves before run (#10670)
Pwuts Aug 18, 2025
105d5dc
Merge branch 'master' of https://github.com/Significant-Gravitas/Auto…
ntindle Aug 19, 2025
62032e6
style(frontend): format code and improve dialog titles in approve-rej…
ntindle Aug 19, 2025
75a159d
Revert "style(frontend): format code and improve dialog titles in app…
ntindle Aug 19, 2025
260dd52
Revert "Merge branch 'master' of https://github.com/Significant-Gravi…
ntindle Aug 19, 2025
483c399
Revert "feat(platform): add ability to reject approved agents in admi…
ntindle Aug 19, 2025
650be0d
fix(integration): FirecrawlExtractBlock returns 400 Invalid JSON sche…
Swiftyos Aug 19, 2025
e2c33e3
fix(frontend): agent activity cap (#10675)
0ubbe Aug 19, 2025
fa14bf4
feat(frontend): add Line Tabs component (#10674)
0ubbe Aug 19, 2025
4abe373
fix(frontend): flaky e2e tests (#10689)
0ubbe Aug 19, 2025
ebfbf31
ci(frontend): query generation on dev and ci check (#10417)
0ubbe Aug 19, 2025
38610d1
feat(frontend): add reusable component for new block menu (#10687)
Abhi1992002 Aug 19, 2025
c6247f2
feat(frontend): new library agent view setup (#10652)
0ubbe Aug 19, 2025
1105e6c
tests(frontend): e2e tests for api key page (#10683)
Abhi1992002 Aug 19, 2025
0c09b0c
chore(api): remove launch darkly feature flags from api key endpoints…
Abhi1992002 Aug 19, 2025
2610c45
feat(platform/dashboard): Enable editing for agent submissions (#10545)
Abhi1992002 Aug 20, 2025
c2af8c1
Reapply "Merge branch 'master' of https://github.com/Significant-Grav…
Swiftyos Aug 20, 2025
c4483fa
Merge branch 'dev'
Swiftyos Aug 20, 2025
ccc4d0d
fix(frontend): clear agent name and description on agent file removal…
Abhi1992002 Aug 20, 2025
4589b15
chore(libs/deps-dev): Bump ruff from 0.12.3 to 0.12.4 in /autogpt_pla…
dependabot[bot] Aug 20, 2025
f4538d6
build(backend): Change base image to `debian:13-slim` w/ Python 3.13 …
Pwuts Aug 20, 2025
68cd1cb
feat(platform): Enhance GitHub Copilot agent setup with CI-aligned en…
Copilot Aug 21, 2025
7c908c1
feat(blocks): Add DataForSEO keyword research blocks (#10711)
Swiftyos Aug 21, 2025
fa5ff9c
feat(docs): Update Ollama setup docs with new methods (#10693)
Bentlybro Aug 21, 2025
2848e62
feat(backend): Add BaaS integration blocks (#10350)
Swiftyos Aug 22, 2025
aa256f2
feat(platform/library): Infinite scroll in Agent Runs list (#10709)
Pwuts Aug 22, 2025
bd97727
feat(platform): add ability to reject approved agents in admin dashbo…
ntindle Aug 23, 2025
5502256
feat(backend): DiscordGetCurrentUserBlock to fetch authenticated user…
ntindle Aug 24, 2025
a54bed6
fix(frontend): filter credentials to ones that are supported (#10725)
ntindle Aug 24, 2025
61f17e5
feat(scheduler): Remove Schedule "Every Minute" Option (#10706)
Bentlybro Aug 24, 2025
476bfc6
feat(backend): add store meta blocks (#10633)
ntindle Aug 25, 2025
8a9c165
feat(frontend): new run modal components (#10729)
0ubbe Aug 25, 2025
a9530b7
fix(frontend): Remove old experience alert (#10730)
Swiftyos Aug 25, 2025
e0520f5
fix(frontend): Validate and sanitize cron expressions for scheduler A…
ntindle Aug 25, 2025
5b12e02
feat(AutoMod): add ``moderation id`` to moderation message (#10728)
Bentlybro Aug 25, 2025
76090f0
feat(backend,frontend): Send applicant email on review response (#10718)
ntindle Aug 25, 2025
2bb8e91
feat(backend): Add user timezone support to backend (#10707)
ntindle Aug 25, 2025
890bb3b
feat(backend): implement low balance and insufficient funds notificat…
ntindle Aug 25, 2025
1aa7e10
feat(AM): fix moderation id message (#10733)
Bentlybro Aug 25, 2025
469b1fc
fix(blocks): handle invalid or empty response from MusicGen model (#1…
mitanshhh Aug 25, 2025
bc43d05
feat(backend): Ensure database manager clients only include methods n…
Copilot Aug 25, 2025
da585a3
fix(frontend): Propagate API auth errors to original requestor (#10716)
Pwuts Aug 25, 2025
8a68e03
feat(backend): Blocks Menu redesign backend (#10128)
kcze Aug 26, 2025
c0172c9
fix(backend/executor): prevent infinite requeueing of malformed messa…
majdyz Aug 26, 2025
fecbd30
fix(frontend/library): Fix new runs not appearing in list (#10750)
Pwuts Aug 26, 2025
c682148
fix(frontend): add min-width to agent run draft view component (#10731)
Abhi1992002 Aug 27, 2025
533d2d0
refactor(frontend): Revamp creator page data fetching and structure (…
Abhi1992002 Aug 27, 2025
44d7393
feat(platform/blocks): Added stagehand integration (#10751)
Swiftyos Aug 27, 2025
3718b94
feat(blocks): Add Ideogram V3 model (#10752)
Bentlybro Aug 27, 2025
b713093
Merge master into dev to tidy up merge history (#10753)
Swiftyos Aug 27, 2025
82618ae
Merge remote-tracking branch 'origin/dev'
Swiftyos Aug 27, 2025
9e21f45
fix: autogpt_platform/frontend/package.json to reduce vulnerabilities
snyk-io[bot] Dec 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,13 @@

# Platform - Backend
!autogpt_platform/backend/backend/
!autogpt_platform/backend/test/e2e_test_data.py
!autogpt_platform/backend/migrations/
!autogpt_platform/backend/schema.prisma
!autogpt_platform/backend/pyproject.toml
!autogpt_platform/backend/poetry.lock
!autogpt_platform/backend/README.md
!autogpt_platform/backend/.env

# Platform - Market
!autogpt_platform/market/market/
Expand All @@ -26,13 +28,15 @@
# Platform - Frontend
!autogpt_platform/frontend/src/
!autogpt_platform/frontend/public/
!autogpt_platform/frontend/scripts/
!autogpt_platform/frontend/package.json
!autogpt_platform/frontend/pnpm-lock.yaml
!autogpt_platform/frontend/tsconfig.json
!autogpt_platform/frontend/README.md
## config
!autogpt_platform/frontend/*.config.*
!autogpt_platform/frontend/.env.*
!autogpt_platform/frontend/.env

# Classic - AutoGPT
!classic/original_autogpt/autogpt/
Expand Down
3 changes: 2 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@
</details>

#### For configuration changes:
- [ ] `.env.example` is updated or already compatible with my changes

- [ ] `.env.default` is updated or already compatible with my changes
- [ ] `docker-compose.yml` is updated or already compatible with my changes
- [ ] I have included a list of my configuration changes in the PR description (under **Changes**)

Expand Down
244 changes: 244 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,244 @@
# GitHub Copilot Instructions for AutoGPT

This file provides comprehensive onboarding information for GitHub Copilot coding agent to work efficiently with the AutoGPT repository.

## Repository Overview

**AutoGPT** is a powerful platform for creating, deploying, and managing continuous AI agents that automate complex workflows. This is a large monorepo (~150MB) containing multiple components:

- **AutoGPT Platform** (`autogpt_platform/`) - Main focus: Modern AI agent platform (Polyform Shield License)
- **Classic AutoGPT** (`classic/`) - Legacy agent system (MIT License)
- **Documentation** (`docs/`) - MkDocs-based documentation site
- **Infrastructure** - Docker configurations, CI/CD, and development tools

**Primary Languages & Frameworks:**
- **Backend**: Python 3.10-3.13, FastAPI, Prisma ORM, PostgreSQL, RabbitMQ
- **Frontend**: TypeScript, Next.js 15, React, Tailwind CSS, Radix UI
- **Development**: Docker, Poetry, pnpm, Playwright, Storybook

## Build and Validation Instructions

### Essential Setup Commands

**Always run these commands in the correct directory and in this order:**

1. **Initial Setup** (required once):
```bash
# Clone and enter repository
git clone <repo> && cd AutoGPT

# Start all services (database, redis, rabbitmq, clamav)
cd autogpt_platform && docker compose --profile local up deps --build --detach
```

2. **Backend Setup** (always run before backend development):
```bash
cd autogpt_platform/backend
poetry install # Install dependencies
poetry run prisma migrate dev # Run database migrations
poetry run prisma generate # Generate Prisma client
```

3. **Frontend Setup** (always run before frontend development):
```bash
cd autogpt_platform/frontend
pnpm install # Install dependencies
```

### Runtime Requirements

**Critical:** Always ensure Docker services are running before starting development:
```bash
cd autogpt_platform && docker compose --profile local up deps --build --detach
```

**Python Version:** Use Python 3.11 (required; managed by Poetry via pyproject.toml)
**Node.js Version:** Use Node.js 21+ with pnpm package manager

### Development Commands

**Backend Development:**
```bash
cd autogpt_platform/backend
poetry run serve # Start development server (port 8000)
poetry run test # Run all tests (requires ~5 minutes)
poetry run pytest path/to/test.py # Run specific test
poetry run format # Format code (Black + isort) - always run first
poetry run lint # Lint code (ruff) - run after format
```

**Frontend Development:**
```bash
cd autogpt_platform/frontend
pnpm dev # Start development server (port 3000) - use for active development
pnpm build # Build for production (only needed for E2E tests or deployment)
pnpm test # Run Playwright E2E tests (requires build first)
pnpm test-ui # Run tests with UI
pnpm format # Format and lint code
pnpm storybook # Start component development server
```

### Testing Strategy

**Backend Tests:**
- **Block Tests**: `poetry run pytest backend/blocks/test/test_block.py -xvs` (validates all blocks)
- **Specific Block**: `poetry run pytest 'backend/blocks/test/test_block.py::test_available_blocks[BlockName]' -xvs`
- **Snapshot Tests**: Use `--snapshot-update` when output changes, always review with `git diff`

**Frontend Tests:**
- **E2E Tests**: Always run `pnpm dev` before `pnpm test` (Playwright requires running instance)
- **Component Tests**: Use Storybook for isolated component development

### Critical Validation Steps

**Before committing changes:**
1. Run `poetry run format` (backend) and `pnpm format` (frontend)
2. Ensure all tests pass in modified areas
3. Verify Docker services are still running
4. Check that database migrations apply cleanly

**Common Issues & Workarounds:**
- **Prisma issues**: Run `poetry run prisma generate` after schema changes
- **Permission errors**: Ensure Docker has proper permissions
- **Port conflicts**: Check the `docker-compose.yml` file for the current list of exposed ports. You can list all mapped ports with:
- **Test timeouts**: Backend tests can take 5+ minutes, use `-x` flag to stop on first failure

## Project Layout & Architecture

### Core Architecture

**AutoGPT Platform** (`autogpt_platform/`):
- `backend/` - FastAPI server with async support
- `backend/backend/` - Core API logic
- `backend/blocks/` - Agent execution blocks
- `backend/data/` - Database models and schemas
- `schema.prisma` - Database schema definition
- `frontend/` - Next.js application
- `src/app/` - App Router pages and layouts
- `src/components/` - Reusable React components
- `src/lib/` - Utilities and configurations
- `autogpt_libs/` - Shared Python utilities
- `docker-compose.yml` - Development stack orchestration

**Key Configuration Files:**
- `pyproject.toml` - Python dependencies and tooling
- `package.json` - Node.js dependencies and scripts
- `schema.prisma` - Database schema and migrations
- `next.config.mjs` - Next.js configuration
- `tailwind.config.ts` - Styling configuration

### Security & Middleware

**Cache Protection**: Backend includes middleware preventing sensitive data caching in browsers/proxies
**Authentication**: JWT-based with Supabase integration
**User ID Validation**: All data access requires user ID checks - verify this for any `data/*.py` changes

### Development Workflow

**GitHub Actions**: Multiple CI/CD workflows in `.github/workflows/`
- `platform-backend-ci.yml` - Backend testing and validation
- `platform-frontend-ci.yml` - Frontend testing and validation
- `platform-fullstack-ci.yml` - End-to-end integration tests

**Pre-commit Hooks**: Run linting and formatting checks
**Conventional Commits**: Use format `type(scope): description` (e.g., `feat(backend): add API`)

### Key Source Files

**Backend Entry Points:**
- `backend/backend/server/server.py` - FastAPI application setup
- `backend/backend/data/` - Database models and user management
- `backend/blocks/` - Agent execution blocks and logic

**Frontend Entry Points:**
- `frontend/src/app/layout.tsx` - Root application layout
- `frontend/src/app/page.tsx` - Home page
- `frontend/src/lib/supabase/` - Authentication and database client

**Protected Routes**: Update `frontend/lib/supabase/middleware.ts` when adding protected routes

### Agent Block System

Agents are built using a visual block-based system where each block performs a single action. Blocks are defined in `backend/blocks/` and must include:
- Block definition with input/output schemas
- Execution logic with proper error handling
- Tests validating functionality

### Database & ORM

**Prisma ORM** with PostgreSQL backend including pgvector for embeddings:
- Schema in `schema.prisma`
- Migrations in `backend/migrations/`
- Always run `prisma migrate dev` and `prisma generate` after schema changes

## Environment Configuration

### Configuration Files Priority Order
1. **Backend**: `/backend/.env.default` → `/backend/.env` (user overrides)
2. **Frontend**: `/frontend/.env.default` → `/frontend/.env` (user overrides)
3. **Platform**: `/.env.default` (Supabase/shared) → `/.env` (user overrides)
4. Docker Compose `environment:` sections override file-based config
5. Shell environment variables have highest precedence

### Docker Environment Setup
- All services use hardcoded defaults (no `${VARIABLE}` substitutions)
- The `env_file` directive loads variables INTO containers at runtime
- Backend/Frontend services use YAML anchors for consistent configuration
- Copy `.env.default` files to `.env` for local development customization

## Advanced Development Patterns

### Adding New Blocks
1. Create file in `/backend/backend/blocks/`
2. Inherit from `Block` base class with input/output schemas
3. Implement `run` method with proper error handling
4. Generate block UUID using `uuid.uuid4()`
5. Register in block registry
6. Write tests alongside block implementation
7. Consider how inputs/outputs connect with other blocks in graph editor

### API Development
1. Update routes in `/backend/backend/server/routers/`
2. Add/update Pydantic models in same directory
3. Write tests alongside route files
4. For `data/*.py` changes, validate user ID checks
5. Run `poetry run test` to verify changes

### Frontend Development
1. Components in `/frontend/src/components/`
2. Use existing UI components from `/frontend/src/components/ui/`
3. Add Storybook stories for component development
4. Test user-facing features with Playwright E2E tests
5. Update protected routes in middleware when needed

### Security Guidelines
**Cache Protection Middleware** (`/backend/backend/server/middleware/security.py`):
- Default: Disables caching for ALL endpoints with `Cache-Control: no-store, no-cache, must-revalidate, private`
- Uses allow list approach for cacheable paths (static assets, health checks, public pages)
- Prevents sensitive data caching in browsers/proxies
- Add new cacheable endpoints to `CACHEABLE_PATHS`

### CI/CD Alignment
The repository has comprehensive CI workflows that test:
- **Backend**: Python 3.11-3.13, services (Redis/RabbitMQ/ClamAV), Prisma migrations, Poetry lock validation
- **Frontend**: Node.js 21, pnpm, Playwright with Docker Compose stack, API schema validation
- **Integration**: Full-stack type checking and E2E testing

Match these patterns when developing locally - the copilot setup environment mirrors these CI configurations.

## Collaboration with Other AI Assistants

This repository is actively developed with assistance from Claude (via CLAUDE.md files). When working on this codebase:
- Check for existing CLAUDE.md files that provide additional context
- Follow established patterns and conventions already in the codebase
- Maintain consistency with existing code style and architecture
- Consider that changes may be reviewed and extended by both human developers and AI assistants

## Trust These Instructions

These instructions are comprehensive and tested. Only perform additional searches if:
1. Information here is incomplete for your specific task
2. You encounter errors not covered by the workarounds
3. You need to understand implementation details not covered above

For detailed platform development patterns, refer to `autogpt_platform/CLAUDE.md` and `AGENTS.md` in the repository root.
Loading
Loading