Files
Neon-Desk/README.md

72 lines
1.5 KiB
Markdown

# Fiscal Clone 3.0
Turbopack-first rebuild of a fiscal.ai-style terminal with OpenClaw integration.
## Stack
- Next.js 16 App Router
- Turbopack for `dev` and `build`
- Internal API routes (`app/api/*`)
- Durable local task engine and JSON data store
- OpenClaw/ZeroClaw analysis via OpenAI-compatible chat endpoint
## Run locally
```bash
npm install
npm run dev
```
Open [http://localhost:3000](http://localhost:3000).
## Production build
```bash
npm run build
npm run start
```
## Docker deployment
```bash
cp .env.example .env
docker compose up --build -d
```
Default app URL: `http://localhost:3000` (override with `APP_PORT` in `.env`).
Runtime data persists in the `app_data` volume (`/app/data` in container).
## Environment
Use root `.env` or root `.env.local`:
```env
# leave blank for same-origin API
NEXT_PUBLIC_API_URL=
OPENCLAW_BASE_URL=http://localhost:4000
OPENCLAW_API_KEY=your_key
OPENCLAW_MODEL=zeroclaw
SEC_USER_AGENT=Fiscal Clone <support@fiscal.local>
```
If OpenClaw is unset, the app uses local fallback analysis so task workflows still run.
## API surface
- `GET /api/health`
- `GET /api/me`
- `GET|POST /api/watchlist`
- `DELETE /api/watchlist/:id`
- `GET|POST /api/portfolio/holdings`
- `PATCH|DELETE /api/portfolio/holdings/:id`
- `GET /api/portfolio/summary`
- `POST /api/portfolio/refresh-prices`
- `POST /api/portfolio/insights/generate`
- `GET /api/portfolio/insights/latest`
- `GET /api/filings`
- `POST /api/filings/sync`
- `POST /api/filings/:accessionNumber/analyze`
- `GET /api/tasks`
- `GET /api/tasks/:taskId`