chore: commit all changes
This commit is contained in:
17
README.md
17
README.md
@@ -10,8 +10,10 @@ Turbopack-first rebuild of a fiscal.ai-style terminal with OpenClaw integration.
|
||||
- Turbopack for `dev` and `build`
|
||||
- Better Auth (email/password + magic link)
|
||||
- Drizzle ORM (PostgreSQL) + Better Auth Drizzle adapter
|
||||
- Internal API routes via Elysia catch-all (`app/api/[[...slugs]]/route.ts`)
|
||||
- Durable local task engine and JSON data store
|
||||
- Internal API routes via Elysia app module (`lib/server/api/app.ts`)
|
||||
- Eden Treaty for type-safe frontend API calls
|
||||
- Workflow DevKit + Postgres World for durable background task execution
|
||||
- PostgreSQL-backed domain storage (watchlist, holdings, filings, tasks, insights)
|
||||
- OpenClaw/ZeroClaw analysis via OpenAI-compatible chat endpoint
|
||||
|
||||
## Run locally
|
||||
@@ -24,11 +26,12 @@ bun run dev
|
||||
Open [http://localhost:3000](http://localhost:3000).
|
||||
|
||||
Better Auth requires PostgreSQL. Set `DATABASE_URL`, `BETTER_AUTH_SECRET`, and `BETTER_AUTH_BASE_URL` in `.env.local`.
|
||||
Generate and apply auth schema migrations before starting the app:
|
||||
Generate/apply schema migrations and set up the workflow world tables before starting the app:
|
||||
|
||||
```bash
|
||||
bun run db:generate
|
||||
bun run db:migrate
|
||||
bun run workflow:setup
|
||||
```
|
||||
|
||||
## Production build
|
||||
@@ -51,7 +54,6 @@ The base Docker Compose now includes an internal PostgreSQL service (`postgres`)
|
||||
On container startup, the app now applies Drizzle migrations automatically before launching Next.js.
|
||||
For Coolify/remote Docker Compose, only app container port `3000` is exposed internally (no fixed host port bind), avoiding host port collisions.
|
||||
If you use an external Postgres instance, set `DATABASE_URL` explicitly.
|
||||
Runtime data persists in the `app_data` volume (`/app/data` in container).
|
||||
Docker images use Bun (`oven/bun:1.3.5-alpine`) for build and runtime.
|
||||
|
||||
## Environment
|
||||
@@ -73,13 +75,18 @@ OPENCLAW_BASE_URL=http://localhost:4000
|
||||
OPENCLAW_API_KEY=your_key
|
||||
OPENCLAW_MODEL=zeroclaw
|
||||
SEC_USER_AGENT=Fiscal Clone <support@fiscal.local>
|
||||
|
||||
WORKFLOW_TARGET_WORLD=@workflow/world-postgres
|
||||
WORKFLOW_POSTGRES_URL=postgres://postgres:postgres@localhost:5432/fiscal_clone
|
||||
WORKFLOW_POSTGRES_JOB_PREFIX=fiscal_clone
|
||||
WORKFLOW_POSTGRES_WORKER_CONCURRENCY=10
|
||||
```
|
||||
|
||||
If OpenClaw is unset, the app uses local fallback analysis so task workflows still run.
|
||||
|
||||
## API surface
|
||||
|
||||
All endpoints below are handled by Elysia in `app/api/[[...slugs]]/route.ts`.
|
||||
All endpoints below are defined in Elysia at `lib/server/api/app.ts` and exposed via `app/api/[[...slugs]]/route.ts`.
|
||||
|
||||
- `ALL /api/auth/*` (Better Auth handler)
|
||||
- `GET /api/health`
|
||||
|
||||
Reference in New Issue
Block a user