इस प्रोजेक्ट के बारे में

Go Performance Starter small SaaS उत्पादों के लिए एक opinionated, server-rendered starting point है, जिसमें Go (Chi), templ templates, HTMX Alpine.js के साथ, Tailwind CSS, Supabase (Auth + PostgreSQL) और Cloudflare का संयोजन है। इसका मुख्य दावा है कि कम JavaScript वाले server-rendered Go में performance budgets और AI-agent guardrails को सिर्फ describe करने के बजाय CI में enforce किया जाता है। यह क्या प्रदान करता है Authentication Supabase email/password के साथ server-side JWT validation का उपयोग करता है, और anonymous guest sign-in का भी समर्थन करता है ताकि demo visitors बिना signup किए real identity प्राप्त कर सकें। Multi-tenancy PostgreSQL Row Level Security पर निर्भर है: request JWT claims हर query में scoped transaction (SET LOCAL ROLE plus request.jwt.claims) के माध्यम से पास किए जाते हैं, इसलिए auth.uid() RLS policies के अंदर resolve होता है और repository layer tenant scoping को नहीं छोड़ सकती। README के अनुसार यह Supabase को load-bearing बनाता है; vendor-neutral auth के लिए auth middleware, RLS scope helper और policies को rewrite करना होगा। शामल demo इस stack को exhaustive करने के लिए बनाया गया है: /patterns showcase हर supported HTMX/Alpine pattern का live demo और source के साथ दिखाता है, और एक architecture quiz जिसके wrong answers per-user flashcards बनकर RLS-protected rows में सहेजे जाते हैं। एक background job Supabase admin API के जरिए inactive guests का expiration करता है। Developer tooling में type-safe templ templates जो Go में compile होते हैं, sqlc code generation repository pattern के साथ, air से hot reload, Taskfile automation, golangci-lint, Prometheus metrics, log/slog के साथ structured logging, health checks और CI/CD शामिल हैं। Role-based design system bg-surface और text-muted-foreground जैसे semantic tokens का उपयोग करता है, dark mode components के बजाय tokens को flip करता है और raw grays व dark: drift के खिलाफ CI checks होता है। Performance budgets README में enforce किए गए budgets की सूची है: P95 response time 100ms से कम, binary size 20MB से कम, Docker image 30MB से कम, steady-state memory 128MB से कम, और startup 500ms से कम, जिनकी validated task test:performance और task test:binary-size द्वारा होती है। Agent-assisted development प्रोजेक्ट एक layered AI constitution के साथ आता है: CLAUDE.md halt-on-violation rules रखता है, जबकि .claude/engineering.md, workflow.md और stack.md engineering defaults, process और stack facts रखते हैं। AGENTS.md इन्हीं layers से task agents:build द्वारा generate होता है और CI अगर वह drift करता है तो fail हो जाता है। Non-trivial features Architect to Coder to Reviewer flow के तीन-pass का पालन करते हैं। Done की single definition task ci quality gate है (formatting, lint, race tests, drift checks, binary size, vulnerability scan), जिसे agents threshold कम किए बिना clear करना चाहिए। Architecture Decision Records (ADRs) में Enforcement section होता है जो rules को checks से mapping करता है। task check:adr एक deterministic suite चलाता है जो testable ADR consequences की पुष्टि करता है, जिसमें एक secret scanner भी शामिल है। Checks पहले warnings के रूप में शुरू होते हैं और clean period या real catch के बाद blocking में promote होते हैं। दो hooks blocking हैं: एक Stop-gate जो agents को failing tests या blocker के साथ turn समाप्त करने से रोकती है, और एक PreToolUse guard जो existing ADRs, AGENTS.md या generated code के hand-edits को रोकती है; दोनों के kill-switch हैं। README उन हिस्सों को mark करता है जो load-bearing हैं और जो removable हैं, जिसमें enforcement suite को पूरी तरह prune करने के निर्देश भी शामिल हैं। Root versions.json को public consumption contract के रूप में वर्णित किया गया है जो stack pins की सूची दिखाता है; task versions:check किसी भी key के mismatch पर fail हो जाता है, और नए keys add करना ठीक है लेकिन rename या remove breaking change माना जाता है। Getting started and scope Prerequisites हैं Go 1.26+, Docker, Docker Compose, Task और Node.js 20+। Quick start cloning, .env.example copy करना, database start करना, migrations run करना, sqlc types generate करना, Go और npm dependencies install करना, और hot reload के साथ dev server launch करना कवर करता है, जो डिफ़ॉल्ट रूप से port 4000 पर serve करता है। एक one-time Supabase password-reset template configuration भी document किया गया है। Available tasks में dev, ci, build, test, coverage, performance और binary-size checks, lint, CSS build, Docker image build और vulnerability scanning शामिल हैं। प्रोजेक्ट MIT license के तहत released है।