Skip to content

Make the repo public-ready: English docs/UI, MIT license, README overhaul - #117

Merged
Postlog merged 1 commit into
mainfrom
feat/public-ready
Jun 18, 2026
Merged

Make the repo public-ready: English docs/UI, MIT license, README overhaul#117
Postlog merged 1 commit into
mainfrom
feat/public-ready

Conversation

@Postlog

@Postlog Postlog commented Jun 18, 2026

Copy link
Copy Markdown
Owner

Make the repo public-ready

Prepares subgen for a public release: a newcomer-friendly README, a license, contribution docs, and one consistent language (English) across docs, the admin UI, and user-facing messages.

README & docs

  • Rewrote README.md for newcomers: tagline + badges, hero screenshot, a clear "what / why", a Features list, a screenshot gallery (docs/img/), an env-var table, How-it-works, Docker/deploy, architecture, and Documentation links. Fixed a stale gorilla/mux mention (the HTTP layer is ogen + stdlib ServeMux).
  • Added LICENSE (MIT) and CONTRIBUTING.md (dev setup, tests/lint, codegen, conventions).
  • Added 7 admin-panel screenshots under docs/img/.

English everywhere

Translated all human-facing text to English and updated tests/assertions in lockstep:

  • Docs: AGENTS.md, CHANGELOG.md, all ADRs (+ fixed a stale # 0002 heading in ADR-0005), apitest/README.md, docs/subgen.md.
  • Admin UI: internal/handlers/web/static/ (SPA + login page).
  • All user-facing handler/error message constants in internal/handlers/* and the central ErrorHandler.
  • Unit tests and the black-box apitest assertions now assert the English text.

Decisions

  • docs/decisions/0009-public-ready-and-english-docs.md records the standing policy: English-only docs/UI + MIT license.

Verification

  • go build ./..., go test ./..., and go vet -tags apitest ./apitest/... all pass.
  • No Cyrillic remains in code or docs (only the literal [А-Яа-я] grep pattern documented in the ADR/CONTRIBUTING).

🤖 Generated with Claude Code

@Postlog
Postlog force-pushed the feat/public-ready branch from 5c1a3a1 to 57d8971 Compare June 18, 2026 11:12
Rewrite README for newcomers (Features, screenshots, env-var table; fix the stale gorilla/mux mention), add LICENSE (MIT) and CONTRIBUTING.md, and translate all human-facing text to English: docs (AGENTS.md, CHANGELOG, ADRs, apitest/README, docs/subgen.md), the admin UI (static SPA + login page), and all user-facing handler/error messages. Unit tests and apitest assertions updated in lockstep. Adds ADR-0009 and a docs/img/ placeholder for screenshots.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@Postlog
Postlog force-pushed the feat/public-ready branch from 57d8971 to 07171ff Compare June 18, 2026 11:13
@Postlog
Postlog merged commit 809637e into main Jun 18, 2026
8 checks passed
Postlog pushed a commit that referenced this pull request Jun 18, 2026
Make the admin panel usable on every screen — mini-phones (320px) through
ultrawide. Static-only (app.css/app.js/index.html); Go is untouched and the
desktop (>=992px) is visually unchanged.

- navbar collapses into a hamburger below lg (992px): animated toggle + a
  full-width collapsible menu; the tabs became <button> (keyboard-operable) with
  a focus-visible ring;
- the Users/Nodes tables turn into data-label cards below 992px (two-up on
  tablets via CSS-grid; the table returns at >=992px);
- the config constructors and rule/group/sub-rule rows stack below 768px; the
  orphaned delete "x" is right-aligned;
- touch targets >=40px and 16px inputs (iOS no-zoom) below 768px; hover popovers
  (connections, description) open on tap (:focus-within + tabindex);
- modals are a flex column that scrolls only the body (header/footer pinned even
  on a short landscape screen), with a vh fallback before dvh;
- the Monaco base-YAML editor no longer traps page scroll on touch;
- ultrawide widens the container (>=1600px -> 1320px, >=2200px -> 1560px).

Re-applied on top of the English UI (#117) and the subscription-links popup
(#116) — the new sublinks modal reuses the generic responsive modal. Verified
with headless Chrome / Playwright at 320/360/500/768/850/1024/1280/1600px (no
horizontal overflow, no desktop regression).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Postlog pushed a commit that referenced this pull request Jun 18, 2026
Make the admin panel usable on every screen — mini-phones (320px) through
ultrawide. Static-only (app.css/app.js/index.html); Go is untouched and the
desktop (>=992px) is visually unchanged.

- navbar collapses into a hamburger below lg (992px): animated toggle + a
  full-width collapsible menu; the tabs became <button> (keyboard-operable) with
  a focus-visible ring;
- the Users/Nodes tables turn into data-label cards below 992px (two-up on
  tablets via CSS-grid; the table returns at >=992px);
- the config constructors and rule/group/sub-rule rows stack below 768px; the
  orphaned delete "x" is right-aligned;
- touch targets >=40px and 16px inputs (iOS no-zoom) below 768px; hover popovers
  (connections, description) open on tap (:focus-within + tabindex);
- modals are a flex column that scrolls only the body (header/footer pinned even
  on a short landscape screen), with a vh fallback before dvh;
- the Monaco base-YAML editor no longer traps page scroll on touch;
- ultrawide widens the container (>=1600px -> 1320px, >=2200px -> 1560px).

Re-applied on top of the English UI (#117) and the subscription-links popup
(#116) — the new sublinks modal reuses the generic responsive modal. Verified
with headless Chrome / Playwright at 320/360/500/768/850/1024/1280/1600px (no
horizontal overflow, no desktop regression).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Postlog pushed a commit that referenced this pull request Jun 18, 2026
Make the admin panel usable on every screen — mini-phones (320px) through
ultrawide. Static-only (app.css/app.js/index.html); Go is untouched and the
desktop (>=992px) is visually unchanged.

- navbar collapses into a hamburger below lg (992px): animated toggle + a
  full-width collapsible menu; the tabs became <button> (keyboard-operable) with
  a focus-visible ring;
- the Users/Nodes tables turn into data-label cards below 992px (two-up on
  tablets via CSS-grid; the table returns at >=992px);
- the config constructors and rule/group/sub-rule rows stack below 768px; the
  orphaned delete "x" is right-aligned;
- touch targets >=40px and 16px inputs (iOS no-zoom) below 768px; hover popovers
  (connections, description) open on tap (:focus-within + tabindex);
- modals are a flex column that scrolls only the body (header/footer pinned even
  on a short landscape screen), with a vh fallback before dvh;
- the Monaco base-YAML editor no longer traps page scroll on touch;
- ultrawide widens the container (>=1600px -> 1320px, >=2200px -> 1560px).

Re-applied on top of the English UI (#117) and the subscription-links popup
(#116) — the new sublinks modal reuses the generic responsive modal. Verified
with headless Chrome / Playwright at 320/360/500/768/850/1024/1280/1600px (no
horizontal overflow, no desktop regression).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Postlog pushed a commit that referenced this pull request Jun 19, 2026
Make the admin panel usable on every screen — mini-phones (320px) through
ultrawide. Static-only (app.css/app.js/index.html); Go is untouched and the
desktop (>=992px) is visually unchanged.

- navbar collapses into a hamburger below lg (992px): animated toggle + a
  full-width collapsible menu; the tabs became <button> (keyboard-operable) with
  a focus-visible ring;
- the Users/Nodes tables turn into data-label cards below 992px (two-up on
  tablets via CSS-grid; the table returns at >=992px);
- the config constructors and rule/group/sub-rule rows stack below 768px; the
  orphaned delete "x" is right-aligned;
- touch targets >=40px and 16px inputs (iOS no-zoom) below 768px; hover popovers
  (connections, description) open on tap (:focus-within + tabindex);
- modals are a flex column that scrolls only the body (header/footer pinned even
  on a short landscape screen), with a vh fallback before dvh;
- the Monaco base-YAML editor no longer traps page scroll on touch;
- ultrawide widens the container (>=1600px -> 1320px, >=2200px -> 1560px).

Re-applied on top of the English UI (#117) and the subscription-links popup
(#116) — the new sublinks modal reuses the generic responsive modal. Verified
with headless Chrome / Playwright at 320/360/500/768/850/1024/1280/1600px (no
horizontal overflow, no desktop regression).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants