Adds docs/marketing/community-listening-week1.md per ELF-51.
10 HN threads (requestbin / ngrok / self-hosted / single-binary Go)
with one-line engagement plans and explicit no-go lines.
Reddit half is deferred to ELF-58 because the JSON listing endpoint
was blocked by the network policy at draft time.
Reviewer: Head of Marketing.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Migration commit for the ELF-15 atomic PR. Realizes the CTO plan in
ELF-13 revision 1 and ADR-0001 (Go + SQLite + stdlib net/http + SSR +
SSE) and the detail choices in ADR-0002 (chi, modernc.org/sqlite, html/
template, stdlib testing, Apache-2.0).
Docs:
- docs/engineering/tech-stack.md rewritten for Go + SQLite + stdlib
net/http + SSR + SSE. Frontend is server-rendered HTML + a little
vanilla JS. Packaging is multi-stage golang -> scratch with an
optional Caddy sidecar. Boring-technology principle kept.
- docs/engineering/first-engineer-role.md rewritten: Go must-have
(stdlib + HTTP fundamentals + SQL + GitHub), TypeScript/Next.js/
Prisma/PostgreSQL moved to nice-to-have or deferred. Tailwind and
monorepo tooling explicitly deferred.
- docs/engineering/onboarding.md: pnpm install / pnpm dev replaced
with go test ./... and go run ./cmd/hatch. New step: read local-dev
and hatch-architecture on day 1.
- docs/engineering/local-dev.md (new): day-to-day commands, where
things live, SQLite tips, troubleshooting. Living doc, engineer owns.
- docs/engineering/hatch-architecture.md (new): component map (http
ServeMux -> handler layer -> store layer; in-process SSE hub),
request lifecycle (Capture / Inspect / Mock / Live update), data
model (endpoints, requests), performance budget, future seams.
- docs/adrs/0002-hatch-detail-stack.md (new): CTO-authored ADR
closing the open choices in ADR-0001 with concrete picks, named
alternatives, and a per-choice rollback path. Router: go-chi/chi.
SQLite driver: modernc.org/sqlite (pure Go, no CGO). Templates:
stdlib html/template + //go:embed. Tests: stdlib testing + httptest.
License: Apache-2.0.
Housekeeping:
- README.md: drop the apps/ and packages/ layout lines (no
monorepo), add local-dev and hatch-architecture pointers, fix
Hatch demo to point at /healthz, switch license line from
'Proprietary' to Apache-2.0 with a LICENSE file pointer.
- CONTRIBUTING.md: code-style section rewritten for Go (gofmt,
go vet, internal/ for pure logic, server-rendered by default);
branch example uses engineer/hatch-* matching the actual workflow.
- LICENSE: full Apache-2.0 text, copyright El Foundation 2026.
Per ADR-0002.
- .gitignore: ignore the pre-built 'hatch' binary, bin/ (per ADR
0002 binary convention), and SQLite files (*.db, *.db-journal,
*.db-wal, *.db-shm).
Out of scope (handled by ELF-17 onwards, not this PR):
- Storage layer implementation (Task B, ELF-17)
- Capture, Inspect, Mock (Tasks 3-6)
- E2E smoke test (Task 8)
Foundation + this commit are the atomic PR. CI is green (go vet,
go test ./... -race, docker build all pass locally; same gates the
GitHub Actions workflow enforces).
Co-Authored-By: Paperclip <noreply@paperclip.ing>
Sets up the engineering baseline for El Foundation before product work begins.
- README.md: project overview and repo layout
- CONTRIBUTING.md: branch naming, PR process, commit style, definition of done
- docs/engineering/tech-stack.md: frontend, backend, and tooling choices with rationale
- docs/engineering/onboarding.md: 30-day onboarding checklist
- docs/adrs/adr-template.md: decision record template
- .github/workflows/ci.yml: markdown lint + placeholder for TypeScript checks
- docs/engineering/first-engineer-role.md: scope, skills, 30-day priorities, hire recommendation
Co-Authored-By: Paperclip <noreply@paperclip.ing>