Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
d619124
feat: unify setup-dev flow into shared @inkeep/agents-core/setup module
nick-inkeep Feb 17, 2026
8c10025
fix: robust server spawn and process-group cleanup for setup-dev
nick-inkeep Feb 17, 2026
ceba36b
fix: set INKEEP_CI env vars for CLI push to bypass stale profile cred…
nick-inkeep Feb 17, 2026
1c762d9
fix: build agents-core before setup-dev in Cypress CI
nick-inkeep Feb 17, 2026
9bfefbf
chore: add changeset for agents-core setup module
nick-inkeep Feb 17, 2026
9a7218c
fix: add --cloud flag to setup-dev.js for CI environments
nick-inkeep Feb 17, 2026
9a13a56
fix: gracefully handle missing Docker Compose when DB URLs are config…
nick-inkeep Feb 17, 2026
8e3b384
fix: replace undefined isCloud reference with false in setup-dev.js
nick-inkeep Feb 17, 2026
3869f8b
docs: update internal-surface-areas skill with new setup module paths
nick-inkeep Feb 17, 2026
df7f3a7
fix: log error details in JWT key generation catch block
nick-inkeep Feb 17, 2026
c08696a
feat: add pre-flight checks for Docker and port availability
nick-inkeep Feb 17, 2026
4bd2ff6
fix: use Docker labels for accurate project name in port conflict mes…
nick-inkeep Feb 17, 2026
60a1465
fix: detect docker compose command variant for CI compatibility
nick-inkeep Feb 17, 2026
949d4e8
fix: support cloud mode push without bypass secret
nick-inkeep Feb 17, 2026
fd4abc4
cleanup: remove orphaned scripts/setup.sh
nick-inkeep Feb 18, 2026
6b1bdfe
fix: separate exec timeout from port conflict in setup, add non-compo…
nick-inkeep Feb 18, 2026
ef0693f
fix: detect localhost DB URLs before skipping Docker, add SpiceDB hea…
nick-inkeep Feb 18, 2026
073a471
fix: skip Docker check in CI where databases are service containers
nick-inkeep Feb 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .agents/skills/internal-surface-areas/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ Developer/operator goal: configure the system safely for dev/test/prod and keep
| **Environment templates (`.env.example`, `.env.docker.example`)** | Canonical environment variable templates used for local dev and containerized runs. | — | `.env.example`, `.env.docker.example` |
| **Runtime env schemas (API/CLI/Core)** | Zod schemas that validate and type environment variables per package at startup. | Environment file loader (`loadEnvironmentFiles`), Environment templates (`.env.example`, `.env.docker.example`) | `agents-api/src/env.ts`, `agents-cli/src/env.ts`, `packages/agents-core/src/env.ts` |
| **Env schema documentation enforcement** | Checks ensuring each env var is documented via `.describe()` in the Zod schema (kept in sync with templates). | Runtime env schemas (API/CLI/Core), Environment templates (`.env.example`, `.env.docker.example`) | `scripts/check-env-descriptions.mjs` |
| **Local dev bootstrap (`pnpm setup-dev`)** | One-command developer setup that provisions env files, starts Docker services, runs migrations, and applies the SpiceDB schema. | Environment templates (`.env.example`, `.env.docker.example`), Local database stack (Docker Compose), Drizzle kit configs (manage + runtime), Migration directories (Drizzle SQL), SpiceDB schema (Zed) | `scripts/setup.sh`, `docker-compose.dbs.yml`, `packages/agents-core/spicedb/schema.zed` |
| **Local dev bootstrap (`pnpm setup-dev`)** | One-command developer setup that provisions env files, starts Docker services, runs migrations, and applies the SpiceDB schema. Shared setup module (`@inkeep/agents-core/setup`) used by both monorepo and quickstart template. | Environment templates (`.env.example`, `.env.docker.example`), Local database stack (Docker Compose), Drizzle kit configs (manage + runtime), Migration directories (Drizzle SQL), SpiceDB schema (Zed) | `packages/agents-core/src/setup/setup.ts`, `scripts/setup-dev.js`, `docker-compose.dbs.yml`, `packages/agents-core/spicedb/schema.zed` |

### Docker & Deployment Artifacts
Developer/operator goal: run the system in containers for local development and integration testing.
Expand Down
5 changes: 5 additions & 0 deletions .changeset/clumsy-bronze-nightingale.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@inkeep/agents-core": patch
---

Add shared setup module for unified dev environment bootstrapping
6 changes: 5 additions & 1 deletion .github/composite-actions/cypress-e2e/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,15 @@ runs:
sleep 2
done

- name: Build agents-core (required by setup-dev.js)
shell: bash
run: pnpm turbo run build --filter=@inkeep/agents-core

- name: Setup development environment
shell: bash
env:
ENVIRONMENT: development
run: pnpm setup-dev
run: pnpm setup-dev --skip-push

- name: Start backend API server
shell: bash
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ coverage/
.DS_Store
*.pem
*.db
.setup-complete

# debug
npm-debug.log*
Expand Down
1 change: 1 addition & 0 deletions agents-cookbook/template-projects/inkeep.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ export default defineConfig({
tenantId: 'default',
agentsApi: {
url: 'http://localhost:3002',
apiKey: process.env.INKEEP_AGENTS_MANAGE_API_BYPASS_SECRET,
},
manageUiUrl: 'http://localhost:3000',
});
15 changes: 9 additions & 6 deletions agents-docs/content/community/contributing/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -37,16 +37,19 @@ pnpm setup-dev
This will:

- Create `.env` from `.env.example` if missing
- Create `~/.inkeep/config` for user-global settings if missing
- Add `.env` to `.gitignore` if needed
- Install dependencies
- Start Doltgres (manage) + Postgres (runtime) + SpiceDB (authorization) via `docker-compose.dbs.yml` and run migrations
- Create the admin user for auto-login (`pnpm db:auth:init`)
- Generate JWT keys if not already configured
- Check that Docker is running and required ports (5432, 5433, 5434) are free
- Start Doltgres (manage) + Postgres (runtime) + SpiceDB (authorization) via `docker-compose.dbs.yml`
- Run database migrations (manage + runtime)
- Initialize the default organization and admin user
- Push a sample project (weather-project) so the UI is pre-seeded

<Tip>
`pnpm setup-dev` is idempotentsafe to re-run after pulling changes, resetting your database, or switching branches.
Safe to re-run at any time. Each step is additiveit won't drop tables, delete projects, or reset credentials. Migrations apply only what's new, and existing data is preserved. If Docker containers are already running, setup skips startup and proceeds to migrations.
</Tip>

If another Docker Compose project is using the required ports, setup tells you exactly which project is blocking and the command to stop it.

Add API keys for the AI providers you want to use in the root `.env` or `~/.inkeep/config`. `ANTHROPIC_API_KEY` is required.

```dotenv
Expand Down
12 changes: 11 additions & 1 deletion agents-docs/content/troubleshooting.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -80,11 +80,21 @@ If `pnpm dev` fails or services aren't reachable, the most common cause is that
**How to fix:**

1. Ensure Docker Desktop (or Docker daemon) is running
2. Run `pnpm setup-dev` — this is idempotent and will start any stopped databases, apply pending migrations, and ensure the admin user exists
2. Run `pnpm setup-dev` — it will start any stopped databases, apply pending migrations, and ensure the admin user exists
3. Run `pnpm dev` again

For the [quickstart template](/get-started/quick-start), the same applies: run `pnpm setup-dev` from the workspace root before `pnpm dev`.

### Port conflicts

If `pnpm setup-dev` reports that ports 5432, 5433, or 5434 are in use by another Docker Compose project, stop that project first:

```bash
docker compose -p <project-name> down
```

The setup script tells you the exact project name and command. After stopping the conflicting project, re-run `pnpm setup-dev`.

## Check service logs (local development)

When running `pnpm dev` from your [quickstart workspace](/quick-start/start-development), you will see an interactive terminal interface. This interface allows you to inspect the logs of each [running service](/quick-start/start-development#service-ports). You can navigate between services using the up and down arrow keys.
Expand Down
Loading
Loading