Index · #all
Index
Every published entry, newest first. Use search (press /) to filter by keyword.
25 entries · sorted by last updated
-
Implementation Plan
Tasks are grouped into phases. Each phase is a shippable milestone — by the end of it, something real and working exists that you can use, demo, or build on top of. Phases are sequenced to minimize…
-
Phase 1 — Supabase & Auth Shell: Implementation Plan
By the end of this phase you can:
-
Auth
User profiles are created by a Postgres trigger, not an API route.
-
Copy
All user-visible strings (labels, error messages, button text, page titles, navigation items, etc.) live in `packages/copy`. Source files never contain hardcoded strings.
-
Error Handling
Some failures should crash the process or return an error immediately:
-
Standards & Guidelines
TypeScript types are erased at runtime. They cannot be used to validate data that arrives from outside the codebase — user inputs, API request bodies, query parameters, external API responses, and …
-
Supabase & API
Current API routes live at `/api/` with no version prefix. Versioning (`/api/v1/`, `/api/v2/`) is deferred.
-
Tooling
What we chose: Corepack (`corepack enable` + `corepack use pnpm@latest`) rather than `npm install -g pnpm`.
-
Config Files Explained
```yaml
-
Checkpoint A
Verify your environment:
-
Checkpoint B
Create `tsconfig.base.json` at the repo root. This is the single source of truth for TypeScript settings shared across every package.
-
Checkpoint C
```bash
-
Checkpoint D
Create `.env.example` at the repo root. This file is safe to commit — it contains no real values, only variable names and documentation.
-
Phase 1 Walkthrough
This guide walks through reproducing Phase 1 step by step. It assumes you have completed Phase 0: the monorepo is set up with Turborepo, pnpm workspaces, TypeScript, ESLint, Prettier, and `apps/web…
-
Architecture Handover
This application is a modular, API-first productivity platform built as:
-
Architecture Overview
A monorepo is a single git repository that contains multiple applications and shared packages. Sidekick has:
-
Authentication
This document explains authentication from first principles, then shows how Supabase implements it and how Sidekick's architecture builds on top of it.
-
Next.js
This document covers the Next.js App Router patterns that come up repeatedly in Sidekick. It focuses on the "why" behind each concept, not just the "what".
-
Packages
This document covers how packages in a pnpm monorepo expose their API, declare dependencies, and share code through workspace linking and hoisting.
-
Supabase
This document explains the key Supabase and database concepts introduced in Phase 1, with enough context that you understand not just what to do but why each piece exists.
-
Tooling
This document covers the monorepo tooling decisions introduced in Phase 1: pnpm flags, Turborepo configuration, TypeScript module resolution, ESLint setup, and package conventions.
-
TypeScript
This document covers TypeScript compilation concepts and bundler behaviour as they apply to the Sidekick monorepo.
-
Vercel
This document covers what Vercel provides out of the box and where its built-in capabilities are sufficient vs. where a dedicated tool (like Sentry) becomes necessary.
-
Building in the Margins: Why I’m Spending the Next 3 Years Creating "Sidekick"
Why I'm spending the next 3 years building Sidekick in the open — mastering the full stack without vibe-coding.