You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Tools**: Implement `Tool.Info` interface with `execute()` method
23
-
-**Context**: Pass `sessionID` in tool context, use `App.provide()` for DI
24
-
-**Validation**: All inputs validated with Zod schemas
25
-
-**Logging**: Use `Log.create({ service: "name" })` pattern
26
-
-**Storage**: Use `Storage` namespace for persistence
27
-
-**API Client**: The TypeScript TUI (built with SolidJS + OpenTUI) communicates with the OpenCode server using `@opencode-ai/sdk`. When adding/modifying server endpoints in `packages/opencode/src/server/server.ts`, run `./script/generate.ts` to regenerate the SDK and related files.
5
+
-**Schema**: Drizzle schema lives in `src/**/*.sql.ts`.
6
+
-**Naming**: tables and columns use snake*case; join columns are `<entity>_id`; indexes are `<table>*<column>\_idx`.
7
+
-**Migrations**: generated by Drizzle Kit using `drizzle.config.ts` (schema: `./src/**/*.sql.ts`, output: `./migration`).
8
+
-**Command**: `bun run db generate --name <slug>`.
9
+
-**Output**: creates `migration/<timestamp>_<slug>/migration.sql` and `snapshot.json`.
10
+
-**Tests**: migration tests should read the per-folder layout (no `_journal.json`).
0 commit comments