read it directly. Edit here, not there.
## Common Commands
```bash
make up # full stack (postgres, redis, backend, frontend); auto-detects sandbox
make config # interactive setup wizard (LLM, data, sandbox, search
InsForge backend
This project uses [InsForge](https://insforge.dev): an all-in-one, open-source Postgres-based backend (BaaS) that gives this app a database, authentication, file storage, edge functions, realtime
embedded database or replicated on an external one. | `SCION_SERVER_DATABASE_DRIVER` (`sqlite` vs `postgres`) |
| **Tenancy** | Single-user vs multi-user. Only opens up once hosted. | Orthogonal to the tier
table alias, because
`whereKey()` and `whereRelation()` qualify columns with the table name, which Postgres
rejects under an alias. `tests/Arch/ConventionsTest.php` fails when a public method
outside a model, enum, or `Scope
compose up -d` - Start PostgreSQL and Redis services
- `pnpm wait-for-services` - Block until Postgres (including the `test` database) and both Redis instances actually accept connections. `docker compose
local `python/ktx-sl/AGENTS.md` guidance:
parse expressions with sqlglot, quote reserved identifiers before parsing,
and generate postgres-shaped SQL before final dialect transpilation.
- Regex may be used for non-structural sanitization
truth. Open `packages/core/src/types/`, the relevant service in `apps/agor-daemon/src/services/`, or the schema in `packages/core/src/db/schema.{sqlite,postgres}.ts` before assuming behavior.
2. **`apps/agor-docs/pages/guide/`** — user-facing reference pages (also published at [agor.live
reliably.
- Typed validators are schema-level reusable families: `AWS`, `AzureStorage`, `Coinbase`, `GCP`, `MongoDB`, `MySQL`, `Postgres`, `Jdbc`, and `JWT`.
- Raw validators use `validation: { type: Raw, content: }` and are implemented in `crates/kingfisher-scanner/src/validation/raw.rs
tests
pnpm test # unit tests (no deps needed)
pnpm test:integration # needs local Postgres
pnpm test:e2e # needs Docker + Stripe API keys in .env
```
Before committing (CI enforces all three