One-click development environment for AgenticPay with Node.js, Rust, Soroban CLI, Postgres, and Redis.
- Install Docker Desktop (or Docker Engine on Linux).
- Install the Dev Containers extension in VS Code or Cursor.
- Open the repository and run Dev Containers: Reopen in Container.
- Wait for
post-create.shto finish (dependencies, contract build, OpenAPI generation).
| Tool | Version | Purpose |
|---|---|---|
| Node.js | 22 | Frontend, backend, workers |
| Rust | stable | Soroban smart contracts |
| Soroban CLI | 21.x | Contract build & deploy |
| PostgreSQL | 16 | Application database |
| Redis | 7 | Cache & job queues |
Recommended VS Code extensions are installed automatically (ESLint, Prettier, Tailwind, Playwright, Rust Analyzer, Prisma, OpenAPI, Docker).
Inside the devcontainer, Postgres and Redis are reachable on localhost via Docker Compose networking:
- Postgres:
postgresql://postgres:postgres@localhost:5432/agenticpay - Redis:
redis://localhost:6379
On the host machine (without devcontainer), start the same stack:
docker compose up -dThe devcontainer sets safe defaults in devcontainer.json. Copy and customize for secrets:
cp backend/.env.example backend/.env # if present
# Set OPENAI_API_KEY, Web3Auth keys, etc..devcontainer/post-create.sh runs automatically and:
- Adds the
wasm32-unknown-unknownRust target - Installs Soroban CLI via Cargo
- Runs
npm cifor all workspaces - Generates Prisma client
- Builds Soroban contracts (
contracts/) - Generates OpenAPI documentation
- Installs Playwright Chromium for E2E tests
Re-run manually if needed:
bash .devcontainer/post-create.sh- ARM/M1: Images use multi-arch bases (
bookwormNode image). Soroban CLI compiles from source on first create; allow extra time. - Windows: Use WSL2 backend for Docker. Open the repo from the WSL filesystem (
\\wsl$\...) to avoid slow bind mounts. If file watching is unreliable, set"mountType": "delegated"in devcontainer overrides.
# Terminal 1 — API (port 3001)
cd backend && npm run dev
# Terminal 2 — Web (port 3000)
cd frontend && npm run devAPI docs: http://localhost:3001/docs (Swagger UI)
The Devcontainer image is built on every PR via .github/workflows/devcontainer.yml to catch Dockerfile and compose regressions early.