feat: Complete platform enhancement with multi-tenant architecture
Major additions: - Territory manager system with application workflow - Custom pricing and page builder with Craft.js - Enhanced Stripe Connect onboarding - CodeReadr QR scanning integration - Kiosk mode for venue sales - Super admin dashboard and analytics - MCP integration for AI-powered operations Infrastructure improvements: - Centralized API client and routing system - Enhanced authentication with organization context - Comprehensive theme management system - Advanced event management with custom tabs - Performance monitoring and accessibility features Database schema updates: - Territory management tables - Custom pages and pricing structures - Kiosk PIN system - Enhanced organization profiles - CodeReadr integration tables 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
106
styleGuide/microcopy-client.md
Normal file
106
styleGuide/microcopy-client.md
Normal file
@@ -0,0 +1,106 @@
|
||||
# 📝 Crispy Goat Microcopy Guide – Client Projects
|
||||
|
||||
For client-facing websites, our copy must reflect **their tone**, not ours. That said, all Crispy Goat projects share one thing: **copy that feels human, intentional, and never robotic.**
|
||||
|
||||
---
|
||||
|
||||
## 🧠 General Tone & Voice
|
||||
|
||||
- Clear, direct, and human
|
||||
- Friendly but not casual unless the brand calls for it
|
||||
- No marketing clichés or AI-sounding nonsense
|
||||
- Helpful microcopy beats witty microcopy — but we’ll take both
|
||||
- Tone should reflect confidence, not desperation
|
||||
|
||||
---
|
||||
|
||||
## ✅ General Writing Principles
|
||||
|
||||
- Keep sentences short and clear
|
||||
- Prefer active voice
|
||||
- Use contractions (“you’re,” “we’ll”) unless it feels off-brand
|
||||
- Avoid jargon unless it’s native to the audience
|
||||
- Avoid anything that sounds like ChatGPT 3.5 wrote it in a rush
|
||||
|
||||
---
|
||||
|
||||
## ✍️ Button Copy
|
||||
|
||||
| Purpose | Text Examples |
|
||||
|------------------|----------------------------------|
|
||||
| Primary CTA | `Get Started`, `Book a Demo`, `Explore Plans` |
|
||||
| Secondary | `Learn More`, `See How It Works` |
|
||||
| Form Submit | `Send Message`, `Submit Inquiry` |
|
||||
| Danger / Delete | `Delete`, `Remove`, `Yes, I’m Sure` |
|
||||
|
||||
---
|
||||
|
||||
## 📋 Form Microcopy
|
||||
|
||||
- Labels must be clear and expected
|
||||
- `Full Name`, `Email Address`, `Company`
|
||||
- Placeholders may add a touch of tone
|
||||
- `you@domain.com`, `Let us know what you're looking for`
|
||||
- Error messages:
|
||||
- `This field is required.`
|
||||
- `Please enter a valid email address.`
|
||||
- `Passwords must match.`
|
||||
|
||||
---
|
||||
|
||||
## 📭 Empty States
|
||||
|
||||
- No data:
|
||||
`No records yet. Check back soon.`
|
||||
- Search no match:
|
||||
`We couldn’t find anything. Try a different filter.`
|
||||
- Form not started:
|
||||
`Fill in the basics to get started.`
|
||||
|
||||
---
|
||||
|
||||
## 🚫 What to Avoid
|
||||
|
||||
- “Welcome to our website”
|
||||
- “Please don’t hesitate to contact us”
|
||||
- “Innovative solutions for modern problems”
|
||||
- “We pride ourselves on excellence”
|
||||
- Any vague industry filler phrases
|
||||
|
||||
---
|
||||
|
||||
## 💬 Footer & Utility Copy
|
||||
|
||||
- `© 2025 [Client Name]. All rights reserved.`
|
||||
- `Built with care by Crispy Goat.` (Optional tag)
|
||||
- `Made in [Location] · Powered by [Tech or Platform]` (Optional, clean)
|
||||
|
||||
---
|
||||
|
||||
## 🎨 Optional Personality Touches (Use Sparingly)
|
||||
|
||||
If the brand tone allows a little playfulness:
|
||||
|
||||
- 404 Page:
|
||||
`Looks like you took a wrong turn. Let’s get you back.`
|
||||
- Confirmation screen:
|
||||
`We got your message. Someone will reach out soon.`
|
||||
- Easter egg:
|
||||
`Nice hover. You’ve got good taste.`
|
||||
|
||||
---
|
||||
|
||||
## 🧠 Summary
|
||||
|
||||
Client-facing copy should:
|
||||
- Reflect their brand voice first
|
||||
- Be smart and human, never stiff or soulless
|
||||
- Help the user, not distract them
|
||||
- Include subtle personality — but keep it *their* personality
|
||||
|
||||
---
|
||||
|
||||
If you're unsure, ask:
|
||||
> Would this sound natural coming from a person, or does it feel like filler?
|
||||
|
||||
If it’s filler, rewrite it.
|
||||
119
styleGuide/microcopy-crispygoat.md
Normal file
119
styleGuide/microcopy-crispygoat.md
Normal file
@@ -0,0 +1,119 @@
|
||||
# 📝 Crispy Goat Microcopy Guide
|
||||
|
||||
This is how Crispy Goat talks — on buttons, forms, error states, and empty spaces. The tone is smart, blunt, self-aware, and never trying too hard.
|
||||
|
||||
---
|
||||
|
||||
## 🧠 General Voice & Tone
|
||||
|
||||
- **Confident. Minimal. Blunt.**
|
||||
- A little dry or deadpan — but never robotic
|
||||
- Never say more than you need to. Ever.
|
||||
- Be clever *only if* it doesn’t slow the user down
|
||||
- Humor should feel unforced. A wink, not a punchline.
|
||||
- If it sounds like a brochure or a startup pitch deck, it’s wrong.
|
||||
|
||||
---
|
||||
|
||||
## 🧩 Common Microcopy Patterns
|
||||
|
||||
### Buttons
|
||||
| Intent | Text |
|
||||
|---------------|-------------------------|
|
||||
| Primary CTA | `Let’s Go` / `Show Me` |
|
||||
| Secondary | `No Thanks` / `Not Now` |
|
||||
| Submit Form | `Send It` / `Do the Thing` |
|
||||
| Danger | `I Know What I’m Doing` |
|
||||
| Obvious Joke | `Absolutely Not` (for a cancel/close button) |
|
||||
|
||||
### Form Fields
|
||||
- Placeholder:
|
||||
`Your Email (we probably won’t write back)`
|
||||
- Label:
|
||||
`Name (real or fake, we don’t care)`
|
||||
- Submit:
|
||||
`Fire It Off`
|
||||
|
||||
### Errors
|
||||
- `Something broke. We’re not surprised.`
|
||||
- `Try again, or don’t.`
|
||||
- `You missed a required field. Embarrassing.`
|
||||
- `That’s not a real email. You knew that.`
|
||||
|
||||
### Empty States
|
||||
- **No results**:
|
||||
`Nothing here. Maybe it’s you.`
|
||||
- **No events yet**:
|
||||
`Quiet for now. We’re plotting.`
|
||||
- **Form incomplete**:
|
||||
`You’re not done. We believe in you, barely.`
|
||||
|
||||
### 404 Page
|
||||
```
|
||||
You went too far. Even goats know their limits.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🎨 Footer Copy Examples
|
||||
|
||||
- `Crispy Goat. Est. 🤷♂️`
|
||||
- `Built with real code and no patience.`
|
||||
- `Good work. Bad attitude.`
|
||||
- `Crafted in the mountains. Released into the wild.`
|
||||
|
||||
---
|
||||
|
||||
## 🤫 Hidden Copy / Easter Eggs
|
||||
|
||||
- Console log: `console.warn("We told you not to inspect.")`
|
||||
- Hover alt text: `"This link goes places. Spiritually."`
|
||||
- Form easter egg: If someone enters `asdf` or fake text, show:
|
||||
`Try harder. Or just leave.`
|
||||
|
||||
---
|
||||
|
||||
## ✅ Style Rules
|
||||
|
||||
- Use sentence case (not Title Case)
|
||||
- Avoid exclamation marks (unless sarcastic)
|
||||
- Never use “submit,” “enter,” “click here,” or “subscribe”
|
||||
- Use periods for tone. They’re blunt.
|
||||
- Don’t write instructions unless they’re funny *and* helpful
|
||||
|
||||
---
|
||||
|
||||
## 💬 Example Voice in Context
|
||||
|
||||
```html
|
||||
<h2>We’re probably not taking clients.</h2>
|
||||
<p>But if you’re insistent, go ahead. We dare you.</p>
|
||||
<button>Make the Case</button>
|
||||
```
|
||||
|
||||
```html
|
||||
<label>Email</label>
|
||||
<input placeholder="We probably won’t reply">
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🧼 Don’t You Dare
|
||||
|
||||
- “We value your business”
|
||||
- “Let’s build something great together”
|
||||
- “Innovative solutions”
|
||||
- “Our team of experts”
|
||||
- Anything that sounds like a pitch deck from 2012
|
||||
|
||||
---
|
||||
|
||||
## 🧠 Summary
|
||||
|
||||
Crispy Goat copy should:
|
||||
- Say only what’s needed — with style
|
||||
- Be proud, dry, and on the edge of rude
|
||||
- Never sound like you’re trying to win the client
|
||||
- Make someone laugh once, raise an eyebrow twice, and trust you anyway
|
||||
|
||||
If it reads like a job application or a startup homepage, rewrite it.
|
||||
93
styleGuide/uistyleguide.md
Normal file
93
styleGuide/uistyleguide.md
Normal file
@@ -0,0 +1,93 @@
|
||||
# 🎨 CrispyGoat Design System – UI Style Guide
|
||||
|
||||
This guide defines the visual identity for all CrispyGoat properties. It ensures design consistency, professionalism, and that unmistakable “CrispyGoat feel.”
|
||||
|
||||
---
|
||||
|
||||
## 🧱 Layout & Spacing
|
||||
|
||||
- Use an **8pt spacing scale**: `8, 16, 24, 32, 48, 64, 96`
|
||||
- All sections must use consistent vertical spacing
|
||||
- **Content containers**:
|
||||
- Max width: `1440px`
|
||||
- Horizontal padding: `32px`
|
||||
- Center-aligned on wide screens
|
||||
- **Cards / Panels**:
|
||||
- Internal padding: `24px` minimum
|
||||
- Internal spacing (gap): `16px`
|
||||
- Vertical spacing between cards: `32px`
|
||||
|
||||
---
|
||||
|
||||
## 🖋 Typography
|
||||
|
||||
- **Font Family**: `Inter`, fallback `sans-serif`
|
||||
- **Base Font Size**: `16px`, `line-height: 1.5`
|
||||
- **Font Scale**:
|
||||
- `h1`: `48px`
|
||||
- `h2`: `36px`
|
||||
- `h3`: `28px`
|
||||
- `h4`: `22px`
|
||||
- **Margins**:
|
||||
- Headings must have `margin-bottom: 16px`
|
||||
- Paragraphs use `margin-bottom: 16px`
|
||||
|
||||
---
|
||||
|
||||
## 🎛 Buttons & Inputs
|
||||
|
||||
- **Buttons**:
|
||||
- Min height: `48px`
|
||||
- Border-radius: `12px`
|
||||
- Font: `Inter`, semi-bold
|
||||
- Padding: `0 24px`
|
||||
- Use high-contrast states (hover, focus, disabled)
|
||||
- **Inputs**:
|
||||
- All form elements must have associated `<label>`
|
||||
- Padding: `12px 16px`
|
||||
- Border-radius: `8px`
|
||||
- Border: `1px solid #CCC`
|
||||
- On focus: use visible outline (`2px solid` or shadow)
|
||||
|
||||
---
|
||||
|
||||
## 🌘 Light & Dark Modes
|
||||
|
||||
- **Dark mode is primary**: It reflects our hand-crafted identity.
|
||||
- **Light mode** must feel white-label — neutral, polished, elegant.
|
||||
- **Do not invert** components — manually design both modes.
|
||||
- Backgrounds:
|
||||
- Dark: `#111` to `#1A1A1A`
|
||||
- Light: `#FFFFFF`, sections use `#F7F7F7`
|
||||
- Text contrast: Use WCAG-compliant ratios at all times.
|
||||
|
||||
---
|
||||
|
||||
## 🖼 Imagery & Visual Elements
|
||||
|
||||
- **Use full-bleed images** on hero and feature sections
|
||||
- **Icons** must be vector-based (SVG preferred)
|
||||
- Images must have rounded corners: `16px`
|
||||
- Avoid drop shadows unless intentional and consistent
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Do Not
|
||||
|
||||
- Do not use unstyled system fonts
|
||||
- Do not break the spacing scale
|
||||
- Do not mix inconsistent border radii
|
||||
- Do not rely on default button/input styles
|
||||
- Do not allow console logs in production
|
||||
|
||||
---
|
||||
|
||||
## ✅ Summary
|
||||
|
||||
CrispyGoat designs should feel:
|
||||
- Considered
|
||||
- Balanced
|
||||
- High-end (like a modern mountain interior designer)
|
||||
- Strict in rules, generous in feel
|
||||
|
||||
Use this guide for all visual QA, prompt-based evaluations, and auto-theming pipelines.
|
||||
0
styleGuide/visualAudit.ts
Normal file
0
styleGuide/visualAudit.ts
Normal file
Reference in New Issue
Block a user