Phase 0: project scaffold
- Go module + chi server with embedded SPA serving and /api/health - internal/config env loader (local-dev defaults; auth/copyleaks deferred) - React 19 + Vite 6 + Tailwind v4 frontend with full Petal design tokens - Frontend embedded into the binary via web/embed.go (go:embed all:dist) - README dev workflow, .env.example, BUILD_PLAN progress tracker - Verified end-to-end: binary serves health, embedded SPA, and SPA fallback
This commit is contained in:
37
README.md
Normal file
37
README.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# 🌸 Petal
|
||||
|
||||
A self-hosted, privacy-first writing editor with warm bubbly design, auto-save, and
|
||||
local-LLM grammar/ESL suggestions. See [`petal-spec.md`](./petal-spec.md) for the full
|
||||
design spec and [`BUILD_PLAN.md`](./BUILD_PLAN.md) for build progress.
|
||||
|
||||
## Stack
|
||||
Go + chi backend · SQLite (modernc, pure Go) · React + Vite + Tiptap + Tailwind v4 frontend ·
|
||||
local vLLM/Ollama for AI suggestions. Single-binary deployment (frontend embedded via `go:embed`).
|
||||
|
||||
## Local development
|
||||
|
||||
Two processes during development:
|
||||
|
||||
```bash
|
||||
# 1. Backend (serves /api on :8080)
|
||||
go run ./cmd/server
|
||||
|
||||
# 2. Frontend dev server (HMR on :5173, proxies /api → :8080)
|
||||
cd web && npm install && npm run dev
|
||||
```
|
||||
|
||||
Open http://localhost:5173 while developing.
|
||||
|
||||
## Production build (single binary)
|
||||
|
||||
```bash
|
||||
cd web && npm run build # emits web/dist (embedded by the Go binary)
|
||||
cd .. && go build -o petal ./cmd/server
|
||||
./petal # serves UI + API on :8080
|
||||
```
|
||||
|
||||
Configuration is via environment variables — copy `.env.example` to `.env`.
|
||||
|
||||
## Status
|
||||
Early build, multi-session. Auth (Authentik), Copyleaks plagiarism, and Docker/Traefik
|
||||
deployment are deferred — see `BUILD_PLAN.md`.
|
||||
Reference in New Issue
Block a user