Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions .cursor/commands/ship.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Ship — Autonomous Build Pipeline

Run the full autonomous founding-engineer pipeline for the Kailash Brand Website.

## Instructions

You are the founding engineer. Work fully autonomously — do NOT ask questions unless blocked by missing secrets (API keys, deploy tokens).

### 1. Read spec

- Read `AI.md` and `Agents.md` completely.
- AI.md is the permanent source of truth.

### 2. Audit

- Explore the entire repo.
- Compare what exists vs what AI.md and `docs/02-architecture.md` require.
- Save or update gap analysis at `.cursor/plans/portfolio-build.md`.

### 3. Implement

Build the complete digital headquarters per AI.md:

- All required pages: Home, Work, Case Study, Process, Services, About, Contact
- Reusable components, design tokens, Tailwind patterns
- SEO: metadata, OpenGraph, Twitter cards, structured data, sitemap, robots
- Accessibility: semantic HTML, ARIA, focus states, contrast
- Performance: Server Components where appropriate

**Never build:** skill bars, logo walls, fake stats, resume page, developer clichés.

### 4. Verify (loop until green)

```bash
npm install
npm run typecheck
npm run lint
npm run build
```

Fix all errors. Do not stop at first failure.

### 5. Ship

```bash
git checkout -b cursor/<short-description>
git add -A
git commit -m "feat: <description>"
git push -u origin HEAD
gh pr create --title "feat: implement Kailash brand website per AI.md" --body "..."
```

PR body must include:
- Checklist of AI.md sections implemented
- Pages built
- Preview instructions (`npm run dev`)

### 6. Report

Return: PR URL, summary, preview instructions, blockers (secrets only), remaining gaps.
6 changes: 6 additions & 0 deletions .cursor/environment.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"install": "npm install",
"build": {
"command": "npm run build"
}
}
100 changes: 100 additions & 0 deletions .cursor/plans/portfolio-build.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
# Portfolio Build Plan — Gap Analysis & Implementation

**Date:** 2026-07-07
**Branch:** `cursor/bootstrap-and-build` → `cursor/kailash-brand-website-v1`
**Spec:** AI.md + docs/02-architecture.md

## What Existed (Pre-Build)

| Area | Status |
|------|--------|
| Next.js 15 + Tailwind v4 scaffold | ✅ |
| Design tokens (globals.css) | ✅ |
| Core UI: Button, Card, Input | ✅ |
| Theme provider | ✅ |
| SEO foundation: metadata helper, sitemap, robots, JSON-LD | ✅ |
| Data layer: case studies, services, FAQ | ✅ |
| Home page (partial): Hero, Who I Help, Services preview, CTA | ✅ |
| Header + Footer (desktop only) | ✅ |

## Gaps Identified

### Pages (Missing)
- `/work` — case study index
- `/work/[slug]` — individual case study
- `/process` — engagement model
- `/services` — full services listing
- `/about` — story and working style
- `/contact` — form + FAQ
- `not-found.tsx`

### Home Sections (Missing)
- Selected work preview
- Process snapshot

### Design System (Missing)
- Container, Section layout primitives
- Typography (Heading, Text)
- Badge, Separator
- Accordion (FAQ)
- Label, Textarea
- FadeIn motion primitive
- Skip-to-content link

### Layout (Missing)
- Mobile navigation
- `<main>` semantic wrapper
- Page header component

### Bootstrap / CI (Missing)
- `.cursor/rules/autonomous.mdc`
- `.cursor/commands/ship.md`
- `.cursor/environment.json`
- `.github/workflows/ci.yml`
- `AGENTS.md` (uppercase alias)

## Implementation Status

### Phase 0 — Bootstrap ✅
- Autonomous rules, ship command, environment.json, CI workflow, AGENTS.md

### Phase 2 — Pages ✅
- All 7 routes + case study dynamic routes
- Per-page metadata with canonical URLs

### Phase 2 — Components ✅
- Full design system primitives
- Mobile nav with accessible toggle
- Contact form with qualification fields (budget, timeline)
- FAQ accordion on contact page

### Phase 2 — Home ✅
- Selected work section (featured case studies)
- Process snapshot section

### SEO ✅
- Per-page metadata
- Case study JSON-LD schema
- Sitemap includes all routes + case study slugs
- Robots.txt

### Accessibility ✅
- Semantic HTML (`main`, `nav`, `article`, `section`)
- Skip link
- ARIA on accordion and mobile nav
- Focus-visible styles in globals.css

## Out of Scope (Per AI.md / Roadmap)

- Blog (`/blog`) — future phase
- OpenGraph image generation — needs design asset
- Calendly embed — needs Calendly URL secret
- Analytics — needs provider credentials
- Testimonials — no real testimonials yet
- Production deploy — needs hosting credentials

## Verification Checklist

- [ ] `npm run typecheck`
- [ ] `npm run lint`
- [ ] `npm run build`
54 changes: 54 additions & 0 deletions .cursor/rules/autonomous.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
description: Autonomous founding-engineer workflow for Kailash Brand Website
alwaysApply: true
---

# Autonomous Engineering Rules

## Source of Truth

- **AI.md is law.** Every implementation must align with AI.md principles, positioning, and constraints.
- **Agents.md** defines the mandatory workflow and quality gates.

## Autonomy

- Work fully autonomously. **Never ask the user questions** unless blocked by missing secrets (API keys, deploy tokens, third-party credentials).
- Infer requirements from AI.md, docs/, and existing codebase conventions.
- Take ownership end-to-end: audit → implement → verify → ship.

## Implementation Standards

- **Full implementations only.** No placeholders, lorem ipsum, skeleton pages, or TODO stubs.
- No fake stats, skill bars, logo walls, resume pages, or developer clichés (per AI.md).
- Position Kailash as **Product Engineering Partner**, not a freelancer or framework developer.
- Write copy for founders and decision makers, not developers.

## Design

- Match AI.md brand: Apple / Stripe / Linear minimal style.
- Large whitespace, beautiful typography, content first, motion second.
- Use design tokens from `src/styles/globals.css` — no magic values in components.

## Code Quality

- Strict TypeScript, reusable components, composition over duplication.
- Server Components by default; `"use client"` only when needed.
- Thin pages in `src/app/`, fat features in `src/features/`.

## Verification

After major changes, run until green:

```bash
npm run typecheck
npm run lint
npm run build
```

Fix all errors before committing. Do not stop at first failure.

## Git

- Never commit directly to main.
- Use conventional commits: `feat:`, `fix:`, `chore:`.
- Push branch and open PR with `gh pr create` when work is complete.
12 changes: 12 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Canonical site URL (required in production)
# GitHub Pages: https://kailash-dev.github.io/portfolio
NEXT_PUBLIC_SITE_URL=https://kailash.dev

# GitHub Pages base path (repo name) — only needed for static export builds
NEXT_PUBLIC_BASE_PATH=/portfolio

# Calendly scheduling URL (e.g. https://calendly.com/your-name/discovery)
NEXT_PUBLIC_CALENDLY_URL=

# Formspree form ID for contact form (client-side, works on GitHub Pages)
NEXT_PUBLIC_FORMSPREE_FORM_ID=
32 changes: 32 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: CI

on:
pull_request:
branches: [main, master]
push:
branches: [main, master]

jobs:
quality:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
cache: npm

- name: Install dependencies
run: npm ci

- name: Build
run: npm run build

- name: Lint
run: npm run lint

- name: Typecheck
run: npm run typecheck
54 changes: 54 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Deploy to GitHub Pages

on:
push:
branches: [main, master]
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: pages
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
cache: npm

- name: Install dependencies
run: npm ci

- name: Build for GitHub Pages
env:
GITHUB_PAGES: "true"
NEXT_PUBLIC_BASE_PATH: /portfolio
NEXT_PUBLIC_SITE_URL: https://kailash-dev.github.io/portfolio
run: npm run build

- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: out

deploy:
needs: build
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
Loading
Loading