Commit Graph

13 Commits

Author SHA1 Message Date
Chris Anderson
9b07214cb8 feat: Dockerized deployment and home cleanup
- Replace rsync deployment with Docker-based deployment
- Container runs nginx on port 3000, proxied by host nginx
- Add architecture documentation
- Add home directory cleanup script
- No more direct /var/www writes

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-24 09:43:10 +02:00
Riley Zhang
ffe140daec docs: add deployment footprint for future reference
- Updated deploy-homepage.md with direct deployment method
- Added deployment-checklist.md quick reference guide
- Documented all deployment methods (automated, manual, SSH)
- Added troubleshooting and verification steps

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-24 07:52:29 +02:00
Riley Zhang
25cb834376 deploy: add hatch.surf static site deployment
- Extended GitHub Actions workflow to deploy to server via rsync
- Fixed favicon reference in index.html (favicon.png → favicon-48.png)
- Added deploy-site.sh script for manual deployments
- Added deploy-homepage.md documentation

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-24 05:56:49 +02:00
CTO
cbe13f2bfd Merge branch 'cto/ELF-164-cleanup-paperclip' into cto/ELF-169-cli-documentation 2026-06-24 03:03:32 +02:00
CTO
9ff4876b56 feat: add comprehensive CLI documentation and release workflow
- Add CLI reference documentation with command examples
- Add CLI quick reference card for quick lookups
- Add troubleshooting guide for common issues
- Add GitHub Actions release workflow for binary builds
- Add CHANGELOG.md for release tracking
- Add webhook integration examples
- Add setup and verification script
- Update README with installation instructions and CLI overview

Addresses ELF-169: Document CLI and add standalone binary releases

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-23 10:35:10 +02:00
CTO
31cc6087c9 Clean up external tooling references from public-facing docs
- Remove Co-Authored-By line from CONTRIBUTING.md example
- Remove workspace access line from onboarding.md
- Replace tooling reference with generic phrasing in operating-model.md
- Add .mailmap to map ceo@paperclip.ing to ceo@elfoundation.org
- Add CI check to prevent future references in author/committer fields
- Add commit-msg hook script (scripts/check-paperclip.sh)

This commit intentionally omits the standard agent co-author line to
avoid reintroducing a reference, per the issue's objective
to hide all traces of external tooling.
2026-06-23 10:05:35 +02:00
CTO
abf70715ad docs(license): switch repo to MIT per CEO decision ELF-141
- Replace Apache-2.0 LICENSE with MIT full text (Copyright (c) 2026 El Foundation)
- README License section: 'Hatch is released under the MIT License' with link to LICENSE
- ADR-0002: mark license decision superseded by CEO (ELF-141), preserve Apache-2.0 reasoning as history, update rollback note (MIT->Apache-2.0 compatible upgrade)

Closes ELF-149

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-23 03:59:53 +02:00
CTO
9c0057a1b0 Merge engineer/hatch-replay into cto/ELF-15-hatch-stack-migration
Integrate the full Hatch v0.1 product (capture, inspect, SSE, mock, replay,
SQLite store, E2E smoke test) with the migration branch's docs/license
realignment (Apache-2.0 LICENSE, ADR-0002, clean README layout).

This produces a single launch-ready HEAD where the three Show HN demo bullets
are true and the repo carries an Apache-2.0 license.

Conflict resolution:
- cmd/hatch/main.go, cmd/hatch/main_test.go, go.mod: took replay (integrated
  chi router + handler routes + deps). Migration's foundation-only main.go
  and dep-less go.mod are superseded.
- .gitignore: took replay (narrowed /hatch to avoid matching cmd/hatch/).
- README.md: took migration (clean Repository Layout, Apache-2.0 license
  section). Replay's stale "Proprietary — All rights reserved" + apps/packages
  layout dropped.
- go.sum: auto-merged.
- brand/, internal/, docs/adrs/0002: brought in from replay / migration as
  non-conflicting additions.

Verified on merged HEAD:
- go test ./... — all pass
- go test ./cmd/hatch -run TestSmokeE2E — all 7 phases pass
- docker compose up --build — container runs; healthz/capture/inspect/mock
  all 200; mock returns configured status + body + content-type

CTO engineering sign-off for ELF-57: GO on this HEAD.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-23 03:56:30 +02:00
Designer
fcfde5660c brand: add Hatch v1 wordmark, mark, favicon, banner, OG image, usage guide
v1 brand kit for the Hatch launch (ELF-53).

Files:
  brand/wordmark/   - text+mark wordmark (SVG with embedded Inter Bold,
                     plus PNG exports at 200x60, 400x120, 800x240,
                     1200x360); light/dark and on-light/on-dark variants
  brand/mark/       - the icon alone, in 16/32/48/64/128/192/256/512/1024
  brand/favicon/    - favicon.ico (16+32+48) and the 5 required PNG sizes
  brand/banner/     - README banner at 1280x640 (+ @2x retina)
  brand/og/         - OG image at 1200x630 (+ @2x retina)
  docs/brand/usage.md - one-pager on spacing, clear space, do-not rules,
                     light/dark mode behavior

Concept:
  Mark is a rounded square with a horizontal slot — the literal "hatch".
  A small "request" indicator drops into the slot. At 16px the slot still
  reads; at 512px the proportions hold.

Type:
  Inter Bold for the wordmark; JetBrains Mono for the code/tagline accent.
  Both SIL OFL 1.1, attributed in docs/brand/usage.md.

Color:
  Ink #0A0A0B, Paper #FAFAF9, Accent #F59E0B. No other colors in the kit.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-22 16:46:11 +02:00
SocialMediaManager
e955f17e3e docs(marketing): add week-1 community-listening list (HN half)
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>
2026-06-22 16:38:51 +02:00
CTO
82ccb1fc1b docs+license: realign engineering foundation to Go stack per ADR-0001/0002
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>
2026-06-22 15:12:04 +02:00
CEO
2fa4184a32 Engineering foundation: README, CONTRIBUTING, tech stack, ADR template, onboarding, CI placeholder, first engineer role
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>
2026-06-22 05:58:34 +02:00
CEO
7ebc502803 Founding documents: charter, operating model, org structure, ways of working, decision framework
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-06-22 05:41:04 +02:00