76 lines
4.7 KiB
Markdown
76 lines
4.7 KiB
Markdown
# Gadget Code — Installation & Setup
|
|
|
|
Gadget Code is a self-hosted **Agentic Engineering Platform (AEP)** — an IDE that drives autonomous AI agents to perform software engineering work on your behalf, running entirely in your own environment.
|
|
|
|
## Architecture
|
|
|
|
```
|
|
┌──────────────────────────────────────────────────────────────────┐
|
|
│ Gadget Code Deployment │
|
|
├──────────────────────────────────────────────────────────────────┤
|
|
│ │
|
|
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
|
│ │ Browser IDE │─────▶│ gadget-code │─────▶│ gadget-drone │ │
|
|
│ │ (React 19) │◀─────│ (Express 5) │◀─────│ (Worker) │ │
|
|
│ └──────────────┘ └──────────────┘ └──────────────┘ │
|
|
│ │ │ │ │
|
|
│ ├ Socket.IO ├ MongoDB ├ Files │
|
|
│ └ JWT Auth ├ Redis Sessions └ Git │
|
|
│ ├ HTTPS/SSL │
|
|
│ ├ Qdrant (semantic search) │
|
|
│ └ │
|
|
│ Infrastructure: │
|
|
│ - Node.js 22+ │
|
|
│ - pnpm 10+ │
|
|
│ - MongoDB │
|
|
│ - Redis │
|
|
│ - SSL Certificates │
|
|
│ - AI Inference (Ollama / OpenAI / Gab AI / etc.) │
|
|
└──────────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
### Components
|
|
|
|
| Component | Role | Runs On |
|
|
|---|---|---|
|
|
| **Browser IDE** | React 19 web application — project management, chat sessions, file editing, drone monitoring | User's browser |
|
|
| **gadget-code:web** | Express 5 API server — REST API, Socket.IO hub, session management, AI provider routing | Server (or localhost) |
|
|
| **gadget-drone** | Worker process — runs the Agentic Workflow Loop (AWL), executes tool calls, manages workspaces | Developer workstation (or server) |
|
|
| **MongoDB** | Primary database — users, projects, chat sessions, AI providers, drone registrations | Server (or localhost) |
|
|
| **Redis** | Session store — Express session persistence, caching | Server (or localhost) |
|
|
| **Qdrant** | Vector database — semantic search over chat history and project knowledge (arriving soon) | Server (or localhost) |
|
|
|
|
## Which Guide Is For You?
|
|
|
|
| I am... | I need to... | Guide |
|
|
|---|---|---|
|
|
| An **IT administrator** | Deploy and manage the Gadget Code platform for my organization | [IT Admin Guide](./it-admin-guide.md) |
|
|
| A **developer / engineer / manager** | Run `gadget-drone` on my workstation to connect to an existing platform | [Drone Operator Guide](./drone-operator-guide.md) |
|
|
| A **solo developer / solopreneur** | Run everything on my own machine — platform + drone + database | [Solo Developer Guide](./solo-developer-guide.md) |
|
|
|
|
## Common Prerequisites
|
|
|
|
All guides require these tools installed on the host:
|
|
|
|
- **Node.js 22+** — [nodejs.org](https://nodejs.org/)
|
|
- **pnpm 10+** — [pnpm.io](https://pnpm.io/)
|
|
|
|
Verify your installation:
|
|
|
|
```bash
|
|
node --version # v22.x.x or later
|
|
pnpm --version # 10.x.x or later
|
|
```
|
|
|
|
## Configuration Reference
|
|
|
|
All guides share the same YAML configuration system. See the full reference:
|
|
|
|
- **[Configuration Guide](../configuration.md)** — complete YAML schema, environment variable substitution, file locations
|
|
- **[Example configs](./config-examples/)** — drop-in templates for `gadget-code.yaml` and `gadget-drone.yaml`
|
|
|
|
## Support
|
|
|
|
- **[Documentation](../)** — architecture, protocols, workspace management
|
|
- **[Financial Support & Hosting](../support.md)** — managed hosting, consulting, donations
|