{"id":48440579,"url":"https://github.com/agentic-engineering-agency/agentforge","last_synced_at":"2026-04-06T15:04:24.201Z","repository":{"id":345629856,"uuid":"1154300932","full_name":"Agentic-Engineering-Agency/agentforge","owner":"Agentic-Engineering-Agency","description":"Self-hosted AI agent framework built on Mastra + Convex. Central daemon, multi-channel (HTTP/Discord/Telegram), CLI-first.","archived":false,"fork":false,"pushed_at":"2026-03-20T00:38:06.000Z","size":4297,"stargazers_count":1,"open_issues_count":37,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-20T15:18:25.222Z","etag":null,"topics":["ai-agents","ai-framework","chatbot","cli","convex","mastra","self-hosted","typescript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Agentic-Engineering-Agency.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-10T08:27:46.000Z","updated_at":"2026-03-20T00:31:19.000Z","dependencies_parsed_at":"2026-03-20T15:20:48.776Z","dependency_job_id":null,"html_url":"https://github.com/Agentic-Engineering-Agency/agentforge","commit_stats":null,"previous_names":["agentic-engineering-agency/agentforge"],"tags_count":91,"template":false,"template_full_name":null,"purl":"pkg:github/Agentic-Engineering-Agency/agentforge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Agentic-Engineering-Agency%2Fagentforge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Agentic-Engineering-Agency%2Fagentforge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Agentic-Engineering-Agency%2Fagentforge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Agentic-Engineering-Agency%2Fagentforge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Agentic-Engineering-Agency","download_url":"https://codeload.github.com/Agentic-Engineering-Agency/agentforge/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Agentic-Engineering-Agency%2Fagentforge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31477014,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T14:34:32.243Z","status":"ssl_error","status_checked_at":"2026-04-06T14:34:31.723Z","response_time":112,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agents","ai-framework","chatbot","cli","convex","mastra","self-hosted","typescript"],"created_at":"2026-04-06T15:03:52.861Z","updated_at":"2026-04-06T15:04:24.190Z","avatar_url":"https://github.com/Agentic-Engineering-Agency.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AgentForge\n\nAgentForge is a TypeScript monorepo for building and operating self-hosted AI agents with a persistent Mastra runtime, a Convex-backed data layer, and CLI-driven local workflows.\n\nThe repository currently contains the framework packages, the local Convex app used during development, the default project template scaffolded by the CLI, and example projects.\n\n## Monorepo Layout\n\n```text\nagentforge/\n├── packages/\n│   ├── cli/                   # agentforge CLI and project scaffolding\n│   ├── runtime/               # Persistent Mastra daemon and channel adapters\n│   ├── core/                  # Shared agent, sandbox, MCP, channel, A2A, voice primitives\n│   └── web/                   # Standalone dashboard package\n├── convex/                    # Local Convex app copy used in repo development\n├── templates/default/         # Synced default project template assets\n├── examples/finforge/         # Example project\n├── docs/                      # Project documentation\n└── tests/e2e/                 # End-to-end test suite\n```\n\nThe scaffolded project template source of truth lives under [`packages/cli/templates/default/`](packages/cli/templates/default/), and Convex template changes must stay synced with the generated copies.\n\n## What Exists Today\n\n- `@agentforge-ai/cli`: scaffolds projects and provides the operational commands used during local development.\n- `@agentforge-ai/runtime`: exports the daemon, agent factory, Convex-backed memory helpers, and HTTP/Discord/Telegram channel adapters.\n- `@agentforge-ai/core`: exports shared agent primitives, sandboxing, MCP, channels, skills, A2A, research, workflows, voice, and browser tooling.\n- `@agentforge-ai/web`: a package-specific dashboard app.\n- `convex/`: the repo’s local Convex backend copy, which mirrors the default template’s Convex layer.\n\n## CLI Surface\n\nThe CLI currently registers these command families from [`packages/cli/src/index.ts`](packages/cli/src/index.ts):\n\n- Project lifecycle: `create`, `run`, `deploy`, `upgrade`\n- Runtime: `start`\n- Cloud/auth/config: `models`, `workspace`, `tokens`, `config`, `vault`, `keys`, `status`\n- Agent and chat: `agents`, `chat`, `sessions`, `threads`\n- Skills and orchestration: `skills`, `skill`, `cron`, `workflows`, `research`\n- Data and files: `files`, `projects`\n- Integrations: `mcp`, `channel:telegram`, `channel:whatsapp`, `channel:slack`, `channel:discord`\n- Execution: `sandbox`\n- Dashboard and logs: `dashboard`, `logs` are registered from the status command module\n\nImportant behavior:\n\n- `agentforge run` starts the local Convex development environment.\n- `agentforge start` boots the persistent daemon and HTTP channel.\n- `agentforge chat` talks to the daemon over the local HTTP/SSE endpoint.\n- `agentforge dashboard` starts a dashboard if it can find one in the project or repo layout.\n\n## Development\n\n### Prerequisites\n\n- Node.js `\u003e=18`\n- pnpm `\u003e=8`\n\n### Install Repo Dependencies\n\n```bash\npnpm install\n```\n\n### Standard Contributor Commands\n\nRun these from the repo root while working on framework code:\n\n```bash\npnpm build\npnpm test\npnpm typecheck\npnpm lint\n```\n\nWhen editing template-backed Convex files, sync the copies afterward:\n\n```bash\npnpm sync-templates\n```\n\n### Working On The Template Dashboard\n\n`packages/cli/templates/default/dashboard` is not a workspace package. If you need to run or edit that dashboard directly, install its dependencies inside that directory:\n\n```bash\ncd packages/cli/templates/default/dashboard\npnpm install\npnpm dev\n```\n\n### Start A Local AgentForge Project For Contribution\n\nUse this flow when you need to validate the framework against a real project scaffold.\n\n1. Build the workspace packages from the repo root.\n2. Create a fresh project or use an existing scaffold.\n3. Configure the project `.env.local`.\n4. Start Convex.\n5. Start the AgentForge daemon.\n6. Chat with an agent and optionally start the dashboard.\n\nExample flow:\n\n```bash\n# From the repo root\npnpm build\n\n# Create a local test project\nnode packages/cli/dist/index.js create /tmp/agentforge-dev\ncd /tmp/agentforge-dev\n\n# Configure environment\ncp .env.example .env.local\n\n# Terminal 1: start Convex first\nnpx convex dev\n\n# Terminal 2: start the daemon\nagentforge start\n\n# Terminal 3: talk to the daemon\nagentforge chat\n\n# Optional: start the dashboard if the project has a dashboard directory\nagentforge dashboard\n```\n\n### Environment And Startup Requirements\n\nThese requirements are enforced by the current command implementations:\n\n- `CONVEX_URL` must exist before `agentforge start`. The command reads it from the environment or from `.env.local`, and it expects `npx convex dev` to have been run first.\n- At least one agent must exist in Convex before `agentforge start` can boot usable runtime agents.\n- `agentforge chat` requires the daemon to already be running on the local HTTP port.\n- `agentforge dashboard` only starts if it can find a dashboard directory in the project, repo layout, or installed package path.\n\n## Documentation Map\n\n- [Getting Started](docs/getting-started.md)\n- [CLI Reference](docs/CLI.md)\n- [Architecture](docs/architecture.md)\n- [Channels](docs/channels.md)\n- [Skills](docs/skills.md)\n- [MCP](docs/mcp.md)\n- [A2A](docs/a2a.md)\n- [Advanced Tools](docs/advanced-tools.md)\n- [Multi-Agent Collaboration](docs/multi-agent-collaboration.md)\n- [Deployment Guide](docs/deployment-guide.md)\n- [Releasing](docs/releasing.md)\n- [Technical Reference](docs/TECH-REFERENCE.md)\n- [FinForge Demo](docs/finforge-demo.md)\n- [Competitive Positioning](docs/competitive-positioning.md)\n\n## Package Docs\n\n- [CLI package README](packages/cli/README.md)\n- [Runtime package README](packages/runtime/README.md)\n- [Core package README](packages/core/README.md)\n- [Web package README](packages/web/README.md)\n- [Default template README](packages/cli/templates/default/README.md)\n\n## Testing\n\n- Unit and package tests: `pnpm test`\n- Type checking: `pnpm typecheck`\n- End-to-end suite: see [`tests/e2e/README.md`](tests/e2e/README.md)\n\n## License\n\n[Apache 2.0](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagentic-engineering-agency%2Fagentforge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagentic-engineering-agency%2Fagentforge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagentic-engineering-agency%2Fagentforge/lists"}