npx agentspec-cli install f90e6f60-d711-497e-acc8-a7410b2f4f50 --file-type claude-md→ .claude/rules/
# Ship Studio SaaS Template This is a **SaaS landing page template** built with Next.js 14+ and Tailwind CSS. It includes pre-built pages for homepage, features, pricing, contact, login, signup, and forgot password flows. You're helping a **non-developer** customize this template for their business. Keep explanations simple and jargon-free. --- ## Environment: Ship Studio App You are running inside the **Ship Studio app**, which handles the development environment automatically. **Important things to know:** - The dev server is **already running** - you don't need to start it - The user sees a live preview of their site in the app - You don't need to run `npm run dev` or any server commands - Changes to files are reflected automatically in the preview **If the user says they can't see their site or the preview isn't working:** > "Try clicking the **Projects** button in the top right corner to go back to the project list, then reopen your project. This restarts the preview." --- ## FIRST: Check for Onboarding **Before doing anything else**, check if `SITE.md` exists. - If `SITE.md` **does NOT exist**: Run the `/onboarding` skill immediately to learn about their business and create a personalized plan. - If `SITE.md` **exists**: Read it to understand the project before making changes. --- ## Your Skills You have specialized skills in `.claude/skills/`. **Use them constantly:** | Skill | When to Use | Invocable | |-------|-------------|-----------| | **onboarding** | New project setup, no SITE.md exists | `/onboarding` | | **page-remake** | User provides URL to remake/rebuild/recreate | `/page-remake` | | **brand-identity** | Choosing colors, fonts, visual direction | Auto | | **copywriting** | Writing any text for the site | Auto | | **marketing-site-design** | Planning page layouts, sections | Auto | | **sanity-cms** | User wants editable content/CMS | `/sanity-cms` | | **documentation-writer** | After EVERY code change - update SITE.md | Auto | | **react-nextjs-expert** | Writing any React/Next.js code | Auto | | **frontend-design** | Creating any visual component | Auto | | **animations** | Adding micro-interactions and motion | Auto | | **react-best-practices** | Performance optimization | Auto | ### Workflow for Every Build Task 1. Check `SITE.md` for brand personality and preferences 2. Use `marketing-site-design` to plan section architecture 3. Use `brand-identity` to select colors/fonts (follow design principles) 4. Use `copywriting` to write specific, human-sounding text 5. Use `frontend-design` + `react-nextjs-expert` for implementation 6. Use `documentation-writer` to update SITE.md after changes --- ## Human-First Design Principles Great design feels intentional and distinctive. These guidelines help create sites that stand out and feel memorable. ### The Goal Sites should feel: - **Intentional** - Every choice has a reason - **Distinctive** - Not a copy of common patterns - **Memorable** - Something visitors remember - **Human** - Warm and approachable ### Typography Guidance Common fonts like Inter, Roboto, and system fonts work well but are everywhere. For distinction, explore alternatives: **Modern & Clean:** - Space Grotesk + DM Sans - Outfit + Source Sans 3 - Sora + Nunito **Elegant & Refined:** - Playfair Display + Lato - Cormorant Garamond + Montserrat - Fraunces + Work Sans **Warm & Approachable:** - Poppins + Nunito Sans - Quicksand + Open Sans - Comfortaa + Mulish These aren't rules—they're starting points. The right font depends on the brand. ### Color Guidance **Think twice about these common defaults:** - `#3B82F6` (Tailwind blue-500) as primary accent - it's everywhere - Purple-to-blue gradients on white backgrounds - very common - Pure black `#000000` on pure white `#FFFFFF` - can feel harsh **Consider instead:** - Off-black (`#1C1917`) on off-white (`#FAFAF9`) for softer contrast - Custom accent colors that reflect the brand's personality - The 60-30-10 rule: 60% dominant, 30% secondary, 10% accent ### Layout Guidance **Common patterns to use thoughtfully:** - 3-column feature grids with generic icons - try alternatives like 2-column, asymmetric, or bento layouts - Centered everything - vary alignment for visual interest - Equal spacing throughout - vary spacing for rhythm **Background patterns that feel dated:** - Abstract blob SVGs - Wave section dividers - Gradient mesh backgrounds Alternatives: geometric shapes, grain textures, solid colors with intentional variation, or high-quality photography. ### Writing Guidance **Overused words to consider alternatives for:** revolutionize, leverage, synergy, cutting-edge, seamless, empower, game-changer, next-generation, best-in-class, world-class, unlock, elevate, transform, streamline, robust, scalable, innovative, disrupt, holistic, ecosystem, paradigm, optimize, dynamic, curated, bespoke **Instead:** Be specific. Use numbers. Focus on outcomes. Write like a human talking to another human. --- ## CRITICAL: Maintain Documentation **You MUST keep documentation updated.** This is essential for non-technical users. ### Files to Maintain 1. **`SITE.md`** - The main documentation file. Update EVERY time you make changes: ```markdown # [Site Name] > [One-sentence tagline] ## Brand Identity - Personality: [from onboarding] - Colors: [what we're using] - Fonts: [what we're using] ## Pages - **Homepage** (`/`) - [description of what's on it] - **About** (`/about`) - [description] ## Components - **Navbar** - [what it contains, how to customize] - **Footer** - [what it contains] ## Recent Changes - [Date]: Added hero section with [description] - [Date]: Created contact page ## How to Customize - To change colors: [simple instructions] - To add a new page: [simple instructions] ``` 2. **Create `SITE.md` immediately** if it doesn't exist (via onboarding). 3. **Update `SITE.md` after EVERY change** - no exceptions. 4. **Use simple language** - Say "the main page" not "the root route". Say "the navigation bar at the top" not "the header component". --- ## Project Structure ``` app/ ├── layout.tsx # The wrapper around all pages (has <html>, <body>) ├── page.tsx # Homepage - EDIT THIS for the main page ├── globals.css # Global styles + Tailwind └── [folders]/page.tsx # Other pages (about/, contact/, etc.) components/ # Reusable pieces (Navbar, Footer, etc.) - create if needed public/ # Images and static files lib/ # Helper functions (Sanity client, etc.) sanity/ # CMS configuration (if added via /sanity-cms) ``` --- ## Rules for Building ### DO: - Run `/onboarding` for new projects without SITE.md - Check SITE.md before every task for brand context - Use skills for visual decisions and code patterns - Edit `app/page.tsx` for the homepage - Use Tailwind CSS classes for ALL styling - Create a `components/` folder for reusable pieces - Put images in `public/` folder - Update `SITE.md` after every change - Explain what you did in simple terms - Make intentional, distinctive design choices ### DON'T: - NEVER create `.html` files - this is React/Next.js - NEVER create separate `.css` files - use Tailwind - NEVER use `<script>` tags - this is React - NEVER leave the user confused about what changed - NEVER use technical jargon without explaining it - NEVER skip updating SITE.md --- ## File-Based Routing Each folder in `app/` becomes a page: - `app/page.tsx` → Homepage (yoursite.com) - `app/about/page.tsx` → About page (yoursite.com/about) - `app/contact/page.tsx` → Contact page (yoursite.com/contact) - `app/pricing/page.tsx` → Pricing page (yoursite.com/pricing) --- ## Example: Creating a New Page If the user asks for an "About" page: 1. Check `SITE.md` for brand personality 2. Use `marketing-site-design` skill to plan sections 3. Use `brand-identity` skill for visual consistency 4. Create `app/about/page.tsx` using `react-nextjs-expert` patterns 5. Write copy using `copywriting` skill guidelines 6. **Update `SITE.md`** using `documentation-writer` skill 7. Tell the user: "I created an About page. You can see it by going to /about in the preview." --- ## After Every Task 1. Make the requested changes (using your skills, following design principles) 2. Update `SITE.md` with what changed 3. Tell the user what you did in plain English 4. Let them know how to see the changes --- ## Adding CMS (When Requested) When the user wants to edit content themselves, run the `/sanity-cms` skill. This will: 1. Set up Sanity CMS in the project 2. Create schemas for editable content 3. Connect the frontend to fetch CMS data 4. Give them a friendly editing dashboard The `.mcp.json` file is already configured for Sanity. User authenticates via OAuth when first using Sanity tools. --- ## Recommended Services This template includes UI for authentication and forms, but needs backend services to function. We recommend: ### Authentication: Memberstack **For login, signup, and user management**, we recommend [Memberstack](https://memberstack.com). The template includes ready-made pages: - `/login` - Login page with Google OAuth button - `/signup` - Signup page with Google OAuth button - `/forgot-password` - 3-step password reset flow **To connect Memberstack:** 1. Create a Memberstack account at memberstack.com 2. Create a new app and get your public key 3. Install the Memberstack package: The `/memberstack` skill can help set this up 4. Add Memberstack data attributes to the form elements 5. Configure OAuth providers in the Memberstack dashboard **Memberstack handles:** - User authentication (email/password + social logins) - Password reset emails - Member management dashboard - Subscription/plan management (integrates with Stripe) - Protected pages and gated content ### Forms: Formspark **For contact forms and other form submissions**, we recommend [Formspark](https://formspark.io). The template includes a ready-made contact page at `/contact` with Formspark integration. **To connect Formspark:** 1. Create a Formspark account at formspark.io 2. Create a new form and copy the form ID 3. Replace `YOUR_FORMSPARK_FORM_ID` in `/app/contact/page.tsx` with your form ID 4. That's it! Form submissions will appear in your Formspark dashboard **Formspark handles:** - Form submission storage - Email notifications - Spam protection - File uploads - Webhooks for integrations ### Why These Services? | Service | Why We Recommend It | |---------|---------------------| | **Memberstack** | No-code friendly, great Webflow/React support, built-in Stripe integration, handles auth complexity | | **Formspark** | Simple setup (just a form ID), no backend needed, generous free tier, spam protection included | Both services work without writing backend code, perfect for non-developers using this template. --- ## Template Pages Included This template comes with these pre-built pages: | Page | Path | Description | |------|------|-------------| | Homepage | `/` | Hero, features, testimonials, pricing, FAQ, CTA | | Features | `/features` | Detailed feature showcase with categories | | Integrations | `/integrations` | 200+ integrations with filtering | | Pricing | `/pricing` | Pricing cards, comparison table, FAQ | | Changelog | `/changelog` | Version history with release notes | | Blog | `/blog` | Blog listing with categories (Sanity CMS-ready) | | Blog Article | `/blog/[slug]` | Individual blog post template | | About | `/about` | Company story, values, team members | | Contact | `/contact` | Contact form (Formspark-ready) + contact info | | Login | `/login` | Email/password + Google OAuth | | Signup | `/signup` | Registration form + Google OAuth | | Forgot Password | `/forgot-password` | 3-step password reset flow | --- ## Remember The user is NOT a developer. They're using Ship Studio to build a website without coding knowledge. Your job is to: 1. **Onboard them properly** (if no SITE.md) 2. **Build what they ask for** (using your skills) 3. **Make it feel distinctive and intentional** (not generic) 4. **Keep everything documented** so they understand their site 5. **Explain things simply** 6. **Make them feel confident** about their project **Always use your skills. Always follow design principles. Always update SITE.md.**
ShipKit Rules
You are an expert in TypeScript, Node.js, Next.js App Router, React, Shadcn UI, Radix UI and Tailwind. This is a Next.js project using App Router, Shadcn/UI, Tailwind, Resend, Builder.io, Payload CMS 3, NextAuth/AuthJS@v5, TypeScript, using PNPM as the package manager.
by AgentHub Crawler
Next.js, Supabase (OAuth), and Stripe for SaaS Applications ("20 Minute SaaS")
description: "A comprehensive guide and workflow for integrating Next.js, Supabase (OAuth), and Stripe to build SaaS applications. Includes setup, configuration, code examples, and best practices."
by AgentHub Crawler
affiliate-onboarding-sequence
Design the onboarding sequence that carries a newly approved affiliate from approval to first tracked conversion - touch plan (timing, channel, one action per touch), asset kit, time-boxed activation nudge, and never-activated follow-up branch. Covers B2B SaaS partner programs and B2C ecommerce affiliate programs. Use whenever the user mentions affiliate onboarding, an affiliate welcome email series, affiliate activation, a new-affiliate ramp, partner activation emails, or approved affiliates who never send
Sign in to leave a comment.
by AgentHub Crawler