{"id":46360583,"url":"https://github.com/mitambuch/steaksoap","last_synced_at":"2026-04-19T00:18:13.114Z","repository":{"id":340107968,"uuid":"1162360996","full_name":"mitambuch/steaksoap","owner":"mitambuch","description":"The AI-native React system for solo builders.","archived":false,"fork":false,"pushed_at":"2026-04-16T10:31:59.000Z","size":1615,"stargazers_count":4,"open_issues_count":11,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-16T11:13:52.788Z","etag":null,"topics":["ai","ai-first","claude-code","react","react19","starter-kit","starter-template","steaksoap","tailwind4","tailwindcss","typescript","vibe-coding","vite"],"latest_commit_sha":null,"homepage":"https://steaksoap.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mitambuch.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"docs/agents.md","dco":null,"cla":null}},"created_at":"2026-02-20T06:56:17.000Z","updated_at":"2026-04-16T10:32:03.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mitambuch/steaksoap","commit_stats":null,"previous_names":["mircooo/steaksoap"],"tags_count":78,"template":true,"template_full_name":null,"purl":"pkg:github/mitambuch/steaksoap","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitambuch%2Fsteaksoap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitambuch%2Fsteaksoap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitambuch%2Fsteaksoap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitambuch%2Fsteaksoap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mitambuch","download_url":"https://codeload.github.com/mitambuch/steaksoap/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mitambuch%2Fsteaksoap/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31989329,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"ssl_error","status_checked_at":"2026-04-18T20:23:29.375Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-first","claude-code","react","react19","starter-kit","starter-template","steaksoap","tailwind4","tailwindcss","typescript","vibe-coding","vite"],"created_at":"2026-03-05T01:12:21.717Z","updated_at":"2026-04-19T00:18:13.106Z","avatar_url":"https://github.com/mitambuch.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# project-base\n\nPrivate production base for front-end projects.\nReact 19 + TypeScript 5.9 + Vite 7 + Tailwind CSS 4.\n\n---\n\n## What this is\n\nAn internal foundation optimized for fast, clean front-end work:\n\n- **Concept presentations** and landing pages\n- **Premium showcase sites** and client websites\n- **Projects connecting to external APIs** (REST, GraphQL, headless CMS)\n- **Optional Sanity integration** (add when needed, not baked in)\n\nNot a public template. Not a framework. A disciplined starting point.\n\n## Quick start\n\n```bash\n# Clone from the canonical base\ngit clone git@github.com:Mircooo/steaksoap.git my-project\ncd my-project\npnpm install\npnpm setup          # Interactive wizard — name, repo (private), cleanup\npnpm dev            # → http://localhost:5173\n```\n\nThen in Claude Code, run `/brief` (design direction) then `/init` (colors, fonts, styling).\n\n## Keeping projects up to date\n\nTwo strategies for pulling upstream improvements:\n\n### Selective patch (recommended)\n\n```bash\npnpm base:patch\n```\n\nCherry-pick updates by zone — only pull what you need, avoid merge conflicts:\n\n| Zone | What it updates |\n|------|----------------|\n| `infra` | `.claude/`, `scripts/`, config files |\n| `ui` | `src/components/ui/`, `src/components/layout/` |\n| `all` | Full merge (same as `base:update`) |\n\n```bash\npnpm base:patch infra    # infrastructure only\npnpm base:patch ui       # UI components only\n```\n\n### Full merge\n\n```bash\npnpm base:update\n```\n\nFetches and merges everything from `base/main`. Resolve conflicts if any, then commit.\n\n### Remote setup\n\nThe `base` remote is configured automatically during `pnpm setup`. If you need to add it manually:\n\n```bash\ngit remote add base https://github.com/Mircooo/steaksoap.git\n```\n\n## Tech stack\n\n| Layer | Technology | Version |\n|-------|-----------|---------|\n| Framework | React | 19 |\n| Language | TypeScript | 5.9 (strict, all flags) |\n| Bundler | Vite | 7 |\n| Styling | Tailwind CSS | 4 |\n| Testing | Vitest + Playwright | latest |\n| Linting | ESLint 9 + Prettier | latest |\n| Package manager | pnpm | 10 |\n| Icons | Lucide React | latest |\n\n## Design system\n\nAll tokens live in [`src/index.css`](src/index.css) — single source of truth.\n\n| Token | Dark | Light |\n|-------|------|-------|\n| `accent` | #c44040 | #c44040 |\n| `bg` | #0A0A0A | #B0B0A8 |\n| `fg` | #F0F0F0 | #1A1A1A |\n| `surface` | #141414 | #A4A49C |\n| `muted` | #8A8A8A | #4A4A44 |\n\nFonts: **Space Grotesk** (sans) + **JetBrains Mono** (mono).\nDuration tokens: `fast` (150ms), `base` (300ms), `slow` (500ms), `cinematic` (700ms).\n\nCustomize per project via `/init` or edit `src/index.css` directly.\n\n## AI workflow\n\n38 slash commands, 6 specialized agents, 20 contextual rules — all in `.claude/`.\n\n| Category | Commands |\n|----------|----------|\n| **Scaffold** | `/new-page`, `/new-component`, `/new-feature`, `/new-hook`, `/add-api`, `/init` |\n| **Design** | `/brief`, `/design`, `/design-explore`, `/design-convert` |\n| **Quality** | `/test`, `/review`, `/fix`, `/lighthouse`, `/responsive-check`, `/health-check` |\n| **Ship** | `/release`, `/deploy`, `/handoff`, `/pre-delivery`, `/changelog-client` |\n| **Evolve** | `/refactor`, `/migrate`, `/theme`, `/update-deps`, `/legal` |\n| **Content** | `/wire-content`, `/translate`, `/sync-content` |\n| **Orchestration** | `/dispatch`, `/morning-brief` |\n| **Delegate** | `/delegate`, `/integrate` |\n| **Explore** | `/status`, `/discover`, `/connect`, `/install-extension`, `/spec` |\n\n## Architecture\n\n```\nsrc/\n├── app/                — routes, providers, layout\n├── components/\n│   ├── ui/             — reusable atoms (Button, Card, Modal, Select, Tabs…)\n│   ├── layout/         — Header, Container\n│   └── features/       — ErrorBoundary, SeoHead\n├── config/             — env.ts, site.ts, cloudinary.ts\n├── context/            — ThemeContext\n├── features/           — feature modules (component + hook + types)\n├── hooks/              — useToast, useMediaQuery, useCopyToClipboard\n├── pages/              — page components (one per route)\n├── styles/             — fonts.css, animations.css\n├── utils/              — cn(), helpers\n├── lib/                — API services\n└── workbench/          — playground sections, shared components\n```\n\n## Scripts\n\n| Command | What it does |\n|---------|-------------|\n| `pnpm dev` | Dev server (port 5173) |\n| `pnpm build` | Production build |\n| `pnpm validate` | Lint + typecheck + test + build |\n| `pnpm test:coverage` | Unit tests with coverage report |\n| `pnpm test:e2e` | Playwright E2E tests |\n| `pnpm release` | Version bump + changelog + tag |\n| `pnpm setup` | Interactive project setup wizard |\n| `pnpm base:update` | Pull updates from upstream base |\n| `pnpm analyze` | Bundle size visualization |\n| `pnpm doctor` | Project health check |\n\n## Testing\n\n- **Unit**: Vitest with jsdom, 259+ tests (incl. 15 script smoke tests)\n- **E2E**: Playwright on production build (Chromium + Firefox + WebKit)\n- **A11y**: axe-core integration (unit + E2E)\n- **Lighthouse CI**: a11y + best-practices + SEO + performance ≥ 0.9\n\n## CI/CD\n\nGitHub Actions pipeline:\n1. **validate** — ESLint, TypeScript, Vitest, Vite build (Node 22)\n2. **e2e** — Playwright on built preview\n3. **lighthouse** — Performance + a11y scores\n\n## Security headers \u0026 external services\n\nThe base ships with strict CSP and security headers in [`netlify.toml`](netlify.toml) and [`vercel.json`](vercel.json).\n\nWhen connecting to external APIs, Sanity, or third-party services, you'll need to expand these per project:\n\n```\n# Example: adding Sanity CDN and an external API\nimg-src 'self' data: https://cdn.sanity.io https://res.cloudinary.com;\nconnect-src 'self' https://api.example.com https://*.sanity.io;\n```\n\n**Where to adjust:**\n- `netlify.toml` → `Content-Security-Policy` header value\n- `vercel.json` → `Content-Security-Policy` header value\n- For other platforms: configure equivalent headers in your deployment config\n\nDo not loosen security globally. Add only the domains your project actually uses.\n\n## Principles\n\n- **Reuse-first** — check `components/ui/` before creating anything new\n- **Token-first** — no local colors/spacing if a token covers the need\n- **Branch-first** — never commit to `main` directly\n- **Validate-first** — `pnpm validate` before every commit\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmitambuch%2Fsteaksoap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmitambuch%2Fsteaksoap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmitambuch%2Fsteaksoap/lists"}