vibe-ship-it 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/README.md +133 -0
  2. package/bin/init.js +135 -0
  3. package/package.json +30 -0
  4. package/template/CLAUDE.md +71 -0
  5. package/template/_claude/commands/check.md +6 -0
  6. package/template/_claude/commands/save.md +9 -0
  7. package/template/_claude/commands/ship.md +8 -0
  8. package/template/_claude/commands/stuck.md +10 -0
  9. package/template/_claude/commands/wow.md +10 -0
  10. package/template/_github/agents/assistant.agent.md +60 -0
  11. package/template/_github/agents/checker.agent.md +93 -0
  12. package/template/_github/agents/investigator.agent.md +196 -0
  13. package/template/_github/agents/shipper.agent.md +180 -0
  14. package/template/_github/copilot-instructions.md +60 -0
  15. package/template/skills/add-login/SKILL.md +204 -0
  16. package/template/skills/before-you-ship/SKILL.md +132 -0
  17. package/template/skills/build-page/SKILL.md +137 -0
  18. package/template/skills/make-it-wow/SKILL.md +139 -0
  19. package/template/skills/noob-mode/SKILL.md +135 -0
  20. package/template/skills/platforms/web-nextjs/SKILL.md +160 -0
  21. package/template/skills/platforms/web-nextjs/references/tailwind-shortcuts.md +97 -0
  22. package/template/skills/quick-check/SKILL.md +89 -0
  23. package/template/skills/save-data/SKILL.md +155 -0
  24. package/template/skills/send-email/SKILL.md +164 -0
  25. package/template/skills/show-data/SKILL.md +209 -0
  26. package/template/skills/unstuck/SKILL.md +105 -0
  27. package/template/skills/upload-file/SKILL.md +188 -0
  28. package/template/skills/what-am-i-building/SKILL.md +129 -0
  29. package/template/skills/what-am-i-building/references/platform-routing.md +66 -0
@@ -0,0 +1,132 @@
1
+ ---
2
+ name: before-you-ship
3
+ description: "Full pre-deploy checklist. Runs automatically before deployment. Triggers: 'full check', 'check everything', 'production ready', 'is this ready to deploy', 'pre-deploy', 'ship check', 'before deploy'."
4
+ ---
5
+
6
+ # Before You Ship
7
+
8
+ The full 8-item checklist that runs before deployment. Called automatically by the shipper agent. Can also be triggered manually.
9
+
10
+ ## The 8 Checks
11
+
12
+ ### 1. All Pages Load
13
+ Visit every route in the app. Each must render without:
14
+ - Console errors
15
+ - Blank pages
16
+ - Uncaught exceptions
17
+ - Missing components
18
+
19
+ ### 2. Forms Save Correctly
20
+ Submit every form with test data. Verify:
21
+ - Data appears in Supabase (or whatever storage is used)
22
+ - Success confirmation shows
23
+ - Form clears or redirects after submit
24
+ - Submit button shows loading state (prevents double-submit)
25
+
26
+ ### 3. Auth Works (if present)
27
+ If the project has login:
28
+ - Visit a protected page while logged out → should redirect to login
29
+ - Log in with valid credentials → should reach the protected page
30
+ - Sign out → should return to public page
31
+ - Visit login while already logged in → should redirect to dashboard
32
+
33
+ Skip if no auth is set up.
34
+
35
+ ### 4. Mobile Layout
36
+ Check at 375px (phone) and 768px (tablet):
37
+ - No horizontal overflow
38
+ - Text readable without zooming
39
+ - Navigation usable (hamburger, bottom nav, or responsive links)
40
+ - Forms fillable (inputs not cut off, keyboard doesn't hide submit button)
41
+ - Images scale properly
42
+
43
+ ### 5. Images Load
44
+ - No broken image icons
45
+ - All images have reasonable file sizes (warn if any > 1MB)
46
+ - All `<img>` tags have `alt` attributes (even if empty string for decorative images)
47
+
48
+ ### 6. No Dead Links
49
+ - Click every link on every page
50
+ - No 404 pages
51
+ - No links that go nowhere or point to `#`
52
+ - External links open in new tab
53
+
54
+ ### 7. Accessibility Basics
55
+ Not a full WCAG audit — just the essentials:
56
+ - Images have `alt` text
57
+ - Form inputs have labels (visible or `aria-label`)
58
+ - Color contrast is sufficient (text is readable against background)
59
+ - Focus indicators visible when tabbing
60
+ - Page has a `<title>` tag
61
+
62
+ ### 8. Page Speed
63
+ Run a basic performance check:
64
+ - Page loads in under 3 seconds
65
+ - No massive unoptimized images
66
+ - No blocking scripts
67
+ - Fonts load without visible flash
68
+
69
+ ## Report Format
70
+
71
+ ```
72
+ 🔍 Full check — 8 items:
73
+
74
+ 1. ✅ All pages load without errors
75
+ 2. ✅ Contact form saves correctly
76
+ 3. ⏭️ No login (skipped)
77
+ 4. ⚠️ Mobile: nav menu overlaps logo on small phones
78
+ 5. ✅ All images load
79
+ 6. ✅ All links work
80
+ 7. ⚠️ 2 images missing alt text
81
+ 8. ✅ Loads in 1.6 seconds
82
+
83
+ 6 passed · 2 warnings · 0 blockers
84
+
85
+ The 2 warnings won't break anything for visitors:
86
+ 1. Nav overlap — only on very small phones (iPhone SE)
87
+ 2. Missing alt text — screen reader users won't know
88
+ what those images show
89
+
90
+ 👍 Safe to ship. Fix the warnings after if you want.
91
+ ```
92
+
93
+ ## Severity Levels
94
+
95
+ | Level | Icon | Meaning | Action |
96
+ |---|---|---|---|
97
+ | Pass | ✅ | Works correctly | None |
98
+ | Skipped | ⏭️ | Not applicable (e.g., no auth) | None |
99
+ | Warning | ⚠️ | Minor issue, won't break for users | Report, don't block |
100
+ | Blocker | ❌ | Will break for visitors | Must fix before deploy |
101
+
102
+ ### Blockers (must fix)
103
+ - A page crashes or shows an error
104
+ - Main form doesn't save data
105
+ - Login doesn't work (if auth exists)
106
+ - Page takes over 10 seconds to load
107
+
108
+ ### Warnings (can ship, fix later)
109
+ - Minor layout issues on edge screen sizes
110
+ - Missing alt text
111
+ - Slight performance issues
112
+ - Minor visual inconsistencies
113
+
114
+ ## After the Check
115
+
116
+ If **no blockers**:
117
+ > "All good — safe to ship. There are [N] minor things you could fix later, but nothing that'll break for visitors. Ready to deploy?"
118
+
119
+ If **blockers found**:
120
+ > "Found [N] things that should be fixed first — they'd cause problems for visitors:
121
+ > 1. [Blocker description]
122
+ > 2. [Blocker description]
123
+ >
124
+ > Want me to fix these? Should take [rough time estimate]."
125
+
126
+ ## Rules
127
+
128
+ - This check is NON-NEGOTIABLE before deploy — the shipper agent always runs it
129
+ - Be honest about blockers — don't let broken things ship
130
+ - Be relaxed about warnings — perfection is not required for launch
131
+ - Always frame warnings as "you can fix this later" — don't make the designer feel the site isn't ready
132
+ - Celebrate when it passes: "Looking great! Ready for the world to see it."
@@ -0,0 +1,137 @@
1
+ ---
2
+ name: build-page
3
+ description: "Builds UI from descriptions, screenshots, or Figma designs. Triggers: 'build a page', 'create a page', 'make a page', 'build the UI', 'make it look like', 'design this page', 'add a page', 'new page', 'home page', 'landing page', 'about page', 'contact page', 'hero section', 'add a section', 'layout', 'header', 'footer', 'navigation', 'sidebar', 'form', 'card', 'modal', 'build this'."
4
+ ---
5
+
6
+ # Build Page
7
+
8
+ Turns descriptions, screenshots, or Figma designs into working UI. The designer's primary creative tool.
9
+
10
+ ## Input Types
11
+
12
+ ### 1. Text Description
13
+ > "I want a landing page with a big headline, some portfolio images in a grid, and a contact form at the bottom"
14
+
15
+ → Decompose into sections, generate each, preview immediately.
16
+
17
+ ### 2. Screenshot / Image
18
+ > *pastes or uploads an image*
19
+
20
+ → Analyze the layout, colors, typography, and spacing. Reproduce as closely as possible. Ask: "Does this match? What should change?"
21
+
22
+ ### 3. Figma Reference
23
+ > "Here's my Figma design" / provides a Figma link
24
+
25
+ → If Figma MCP is available, pull design data directly. Otherwise, ask them to screenshot the specific frame.
26
+
27
+ ### 4. Vague Request
28
+ > "make me a website"
29
+
30
+ → Don't ask 10 questions. Pick a sensible default (clean landing page with hero, features section, CTA), build it, show it. They'll tell you what to change.
31
+
32
+ ## Build Process
33
+
34
+ ### Step 1: Decompose
35
+ Break the page into sections mentally. Don't show the decomposition to the designer — just build.
36
+
37
+ Typical page anatomy:
38
+ - Navigation (header)
39
+ - Hero section (headline + CTA)
40
+ - Content sections (features, portfolio, testimonials, etc.)
41
+ - Forms (contact, signup, booking)
42
+ - Footer
43
+
44
+ ### Step 2: Generate
45
+ Build the full page in one go. Use:
46
+ - Tailwind CSS for all styling
47
+ - Semantic HTML
48
+ - Good defaults: comfortable spacing, readable typography, balanced proportions
49
+ - Real-looking placeholder content (not "Lorem ipsum" — use realistic copy)
50
+
51
+ ### Step 3: Preview
52
+ Ensure dev server is running. Tell the designer:
53
+ > "Check your browser — here's what it looks like."
54
+
55
+ ### Step 4: Iterate
56
+ Wait for feedback. Common responses and what to do:
57
+
58
+ | They say | They mean | Do |
59
+ |---|---|---|
60
+ | "Perfect!" | Done | Move on |
61
+ | "Close but..." | Needs tweaks | Ask what specifically |
62
+ | "The spacing feels off" | Padding/margin/gap issue | Adjust spacing, show again |
63
+ | "Too much text" | Content is overwhelming | Reduce copy, increase white space |
64
+ | "Make it more [adjective]" | Aesthetic change | Apply the vibe (see adjective table below) |
65
+ | "Like [reference site]" | Match an external reference | Analyze the reference, adapt to their content |
66
+
67
+ ### Adjective Translation Table
68
+
69
+ | They say | They mean | You do |
70
+ |---|---|---|
71
+ | "Modern" | Clean lines, lots of white space, sans-serif | Inter/system font, minimal borders, generous padding |
72
+ | "Bold" | Strong colors, large typography | Increase heading size, use black/bright accent |
73
+ | "Minimal" | Less is more, lots of breathing room | Remove visual noise, increase white space, fewer elements |
74
+ | "Fun" | Playful colors, rounded corners, casual | Rounded-xl, bright palette, informal copy |
75
+ | "Professional" | Corporate, trustworthy, serious | Neutral palette, geometric, structured grid |
76
+ | "Luxury" / "Premium" | Elegant, expensive-feeling | Dark background, gold/muted accents, serif headings, generous spacing |
77
+ | "Warm" | Inviting, comfortable | Warm color palette (amber, terracotta), organic shapes, soft shadows |
78
+ | "Techy" | Developer/startup vibe | Dark mode, monospace accents, neon accents, code-like elements |
79
+ | "Friendly" | Approachable, human | Rounded shapes, illustrations, conversational copy |
80
+
81
+ ## Component Library
82
+
83
+ When building, prefer these patterns:
84
+
85
+ ### Navigation
86
+ ```
87
+ Sticky header, logo left, links right, mobile hamburger menu.
88
+ Simple — no mega-menus unless asked.
89
+ ```
90
+
91
+ ### Hero Section
92
+ ```
93
+ Full-width, large headline (text-5xl to text-7xl),
94
+ subtitle underneath, one prominent CTA button.
95
+ Optional: background image or gradient.
96
+ ```
97
+
98
+ ### Feature Grid
99
+ ```
100
+ 3-column grid (responsive to single column on mobile).
101
+ Icon or image + heading + short description per card.
102
+ ```
103
+
104
+ ### Contact Form
105
+ ```
106
+ Name, email, message fields.
107
+ Single "Send" button.
108
+ Clean layout, clear labels.
109
+ Connect to save-data skill when they say "make it work."
110
+ ```
111
+
112
+ ### Footer
113
+ ```
114
+ Logo, key links, copyright.
115
+ Keep it simple — designers rarely care about the footer first.
116
+ ```
117
+
118
+ ## Visual Defaults
119
+
120
+ Always apply these unless told otherwise:
121
+ - Font: system font stack or Inter
122
+ - Heading sizes: responsive using `text-3xl md:text-5xl lg:text-7xl`
123
+ - Body text: `text-base` or `text-lg`, line-height relaxed
124
+ - Spacing: generous (`py-16 md:py-24` between sections)
125
+ - Colors: start with neutral palette + one accent color
126
+ - Border radius: `rounded-lg` or `rounded-xl` (not square, not full circle)
127
+ - Shadows: subtle (`shadow-sm` or `shadow-md`), never harsh
128
+ - Max width: content constrained with `max-w-7xl mx-auto`
129
+ - Padding: `px-4 md:px-8` for horizontal padding
130
+
131
+ ## Critical Rules
132
+
133
+ 1. **Never generate ugly starter code.** Every page should look like a real product from the first render.
134
+ 2. **Use realistic placeholder content.** "Sarah Chen, UX Designer" not "John Doe, Lorem Ipsum."
135
+ 3. **Mobile-first.** Build for phone first, then make it nice on desktop.
136
+ 4. **Show, don't tell.** After building, say "Check your browser" — don't describe what the CSS does.
137
+ 5. **One page at a time.** Don't scaffold 5 empty pages. Build the one they're talking about fully, then move to the next.
@@ -0,0 +1,139 @@
1
+ ---
2
+ name: make-it-wow
3
+ description: "Instant visual polish. Makes your site look premium with animations, better typography, and modern effects. Triggers: 'make it look better', 'make it wow', 'polish', 'make it premium', 'it looks boring', 'more animation', 'make it pop', 'spice it up', 'make it cool', 'fancy', 'sleek', 'modern', 'upgrade the design', 'too plain', 'needs more life'."
4
+ ---
5
+
6
+ # Make It Wow
7
+
8
+ Applies opinionated visual upgrades to make the site look premium. No configuration, no questions. Just make it look better, immediately.
9
+
10
+ ## How It Works
11
+
12
+ When triggered, scan the current page and apply upgrades from these categories. Don't ask which ones — apply all that make sense for the current content.
13
+
14
+ ## Upgrade Categories
15
+
16
+ ### 1. Smooth Scroll
17
+ Add document-level smooth scrolling:
18
+ ```css
19
+ html { scroll-behavior: smooth; }
20
+ ```
21
+
22
+ ### 2. Page Entrance Animation
23
+ Add fade-in + slide-up to main content sections on page load:
24
+
25
+ For Next.js with Tailwind — use CSS animations:
26
+ ```css
27
+ @keyframes fadeInUp {
28
+ from {
29
+ opacity: 0;
30
+ transform: translateY(20px);
31
+ }
32
+ to {
33
+ opacity: 1;
34
+ transform: translateY(0);
35
+ }
36
+ }
37
+
38
+ .animate-fade-in-up {
39
+ animation: fadeInUp 0.6s ease-out forwards;
40
+ }
41
+ ```
42
+
43
+ Apply staggered delays to sections for a cascading reveal effect.
44
+
45
+ If Framer Motion is available or appropriate to install:
46
+ ```tsx
47
+ <motion.div
48
+ initial={{ opacity: 0, y: 20 }}
49
+ animate={{ opacity: 1, y: 0 }}
50
+ transition={{ duration: 0.6 }}
51
+ >
52
+ ```
53
+
54
+ ### 3. Typography Upgrade
55
+ - Headlines: increase contrast between heading and body sizes
56
+ - Use `font-semibold` or `font-bold` on headings, `font-normal` on body
57
+ - Add `tracking-tight` to large headings
58
+ - Ensure line-height is relaxed on body text (`leading-relaxed`)
59
+ - If the site uses only system font, consider adding Inter or a personality font
60
+
61
+ ### 4. Hover States
62
+ Add hover effects to all interactive elements:
63
+ - Buttons: subtle scale + shadow lift
64
+ ```
65
+ hover:scale-[1.02] hover:shadow-lg transition-all duration-200
66
+ ```
67
+ - Cards: lift effect
68
+ ```
69
+ hover:-translate-y-1 hover:shadow-xl transition-all duration-300
70
+ ```
71
+ - Links: color transition
72
+ ```
73
+ hover:text-[accent-color] transition-colors duration-200
74
+ ```
75
+ - Images: subtle zoom
76
+ ```
77
+ hover:scale-105 transition-transform duration-500 overflow-hidden
78
+ ```
79
+
80
+ ### 5. Gradient & Color Depth
81
+ - Replace flat backgrounds with subtle gradients
82
+ - Add depth with layered backgrounds
83
+ - Use accent color consistently across CTAs, links, and highlights
84
+ - Dark sections alternating with light sections for visual rhythm
85
+
86
+ ### 6. Spacing & White Space
87
+ - Increase section padding if too tight
88
+ - Add more vertical space between sections (`py-20 md:py-32`)
89
+ - Ensure content doesn't touch edges on any screen size
90
+ - Use `max-w` constraints to keep text readable
91
+
92
+ ### 7. Scroll Reveal (Optional)
93
+ For longer pages, add intersection observer to fade in sections as user scrolls. Only if the page has 3+ sections.
94
+
95
+ CSS + JS approach (no library needed):
96
+ ```css
97
+ .reveal {
98
+ opacity: 0;
99
+ transform: translateY(30px);
100
+ transition: opacity 0.6s ease, transform 0.6s ease;
101
+ }
102
+ .reveal.visible {
103
+ opacity: 1;
104
+ transform: translateY(0);
105
+ }
106
+ ```
107
+
108
+ ### 8. Micro-Details
109
+ - Add `rounded-2xl` to cards (softer than `rounded-lg`)
110
+ - Subtle border: `border border-gray-100` on light cards
111
+ - Background texture: very subtle noise or gradient overlay
112
+ - Focus states: visible and styled, not default browser outline
113
+ - Selection color: match accent color
114
+
115
+ ## Performance Rules
116
+
117
+ NEVER violate these:
118
+ - Only animate `transform` and `opacity` (never `width`, `height`, `margin`, `top`)
119
+ - Wrap continuous animations in `@media (prefers-reduced-motion: no-preference)`
120
+ - Add `will-change: transform` only during animation, remove after
121
+ - Wrap hover animations in `@media (hover: hover)` to skip touch devices
122
+ - Keep total animation CSS under 5KB
123
+
124
+ ## Application Process
125
+
126
+ 1. Scan current page
127
+ 2. Identify which upgrades apply (don't add scroll reveal to a single-section page)
128
+ 3. Apply all applicable upgrades
129
+ 4. Show the result: "Check your browser — added smooth animations, hover effects, and better typography."
130
+ 5. Don't list every CSS change. Just show the before/after feeling.
131
+
132
+ ## What NOT To Do
133
+
134
+ - Don't ask "which style would you prefer?" — just pick one and commit
135
+ - Don't add 3D effects, parallax, or WebGL unless specifically asked
136
+ - Don't change the layout — only enhance the existing design
137
+ - Don't change colors dramatically — enhance what's there
138
+ - Don't add sound effects (ever)
139
+ - Don't add loading spinners where none are needed
@@ -0,0 +1,135 @@
1
+ ---
2
+ name: noob-mode
3
+ description: "Plain-English translation layer. Explains technical things in simple language. Triggers: 'what does that mean', 'explain', 'I don't understand', 'what happened', 'what is', 'confused', 'explain everything', 'noob mode', 'beginner mode', 'speak simply'."
4
+ ---
5
+
6
+ # Noob Mode
7
+
8
+ Translates everything technical into clear, jargon-free language. Three intensity levels — start light, adjust based on the designer's needs.
9
+
10
+ ## Intensity Levels
11
+
12
+ ### Light Mode (Default)
13
+
14
+ - Define technical terms only on FIRST use, as brief parentheticals
15
+ - Explain only risky or destructive actions (file deletion, deployment, database changes)
16
+ - Skip explanation for routine actions (creating files, reading code, running dev server)
17
+ - Keep definitions to one sentence max
18
+
19
+ Example:
20
+ > "I'll create a server action (code that runs when someone submits a form) to save the contact info."
21
+
22
+ After the first use, just say "server action" without re-explaining.
23
+
24
+ ### Full Mode
25
+
26
+ Activated when the designer says: "explain everything", "noob mode", "I'm confused about everything", or during their very first session.
27
+
28
+ - Explain every action before taking it
29
+ - Define every technical term
30
+ - Show risk level for every operation
31
+ - Narrate multi-step tasks with a roadmap
32
+ - Translate all command output
33
+
34
+ Risk indicators:
35
+ | Action | Risk | Icon |
36
+ |---|---|---|
37
+ | Reading/viewing files | Low | 🟢 |
38
+ | Creating a new file | Moderate | 🟡 |
39
+ | Editing an existing file | Moderate | 🟡 |
40
+ | Installing packages | Moderate | 🟡 |
41
+ | Running shell commands | High | 🔴 |
42
+ | Deleting files | High | 🔴 |
43
+ | Deploying | Critical | ⛔ |
44
+
45
+ Format for full-mode actions:
46
+ ```
47
+ 📋 WHAT I'M DOING: [One plain sentence]
48
+ 🎯 WHY: [Connection to what you asked for]
49
+ ⚠️ RISK: [icon] [level] — [one sentence in everyday terms]
50
+ ```
51
+
52
+ ### Silent Mode
53
+
54
+ Activated when the designer says: "just do it", "stop explaining", "I trust you", or after many sessions with no questions.
55
+
56
+ - Do the work without narration
57
+ - Summarize at the end: "Done — created 2 files and updated your form"
58
+ - Only speak up for destructive or irreversible actions
59
+
60
+ ## Intensity Auto-Detection
61
+
62
+ - First session ever → Full mode for first 10 minutes, then Light
63
+ - Designer asks "what does X mean?" → Stay in current mode but explain that term
64
+ - Designer says "just do it" or "skip the explanation" → Switch to Silent
65
+ - Designer says "what's happening?" or "explain" → Switch to Full for this task, then back to Light
66
+
67
+ ## Analogies Reference
68
+
69
+ Use these consistently. Don't invent new ones each time — consistency builds familiarity.
70
+
71
+ | Technical concept | Analogy |
72
+ |---|---|
73
+ | Database | A spreadsheet in the cloud |
74
+ | Database table | A tab in a spreadsheet |
75
+ | Row | One line/entry in the spreadsheet |
76
+ | Column/field | A column in the spreadsheet |
77
+ | Query | Looking something up in the spreadsheet |
78
+ | Foreign key | A cell that says "see row 5 in the other spreadsheet tab" |
79
+ | API | A waiter — takes your order to the kitchen and brings back food |
80
+ | Server | A computer that's always on, waiting for visitors |
81
+ | Client | The visitor's browser — what they see on their screen |
82
+ | Server action | Code that runs when someone submits a form |
83
+ | Environment variable | A secret sticky note on the server — programs can read it but visitors can't |
84
+ | Git repository | A project folder with a built-in time machine |
85
+ | Git branch | A photocopy of your project to try changes without touching the original |
86
+ | Git commit | Saving a snapshot with a note about what you changed |
87
+ | Git merge | Combining the edits from your photocopy back into the original |
88
+ | Pull request | "I made changes — can someone review before we make them official?" |
89
+ | npm install | Downloading tools this project needs, like getting supplies before a craft project |
90
+ | Package/dependency | A pre-built tool the project uses, like a reference book for your work |
91
+ | Build | Converting the code into something that can actually run — like exporting a PDF from your design file |
92
+ | Deploy | Putting it online so anyone with the link can see it |
93
+ | Terminal/shell | A text-based control panel — you type commands instead of clicking buttons |
94
+ | Component | A reusable piece of your page — like a symbol in Figma |
95
+ | Props | Settings you pass to a component — like overrides on a Figma instance |
96
+ | State | Information the page remembers while someone's using it — like a form field that knows what you typed |
97
+ | Route | A page at a specific URL — /about goes to your About page |
98
+ | Middleware | A security checkpoint between the visitor and your page |
99
+ | Webhook | An automatic notification — "when X happens, tell Y" |
100
+ | Cache | Remembering an answer so you don't have to look it up again |
101
+ | SSL/HTTPS | The padlock in the browser — means the connection is encrypted |
102
+ | DNS | The phone book of the internet — converts yoursite.com to a server address |
103
+ | CDN | Copies of your site stored around the world so it loads fast everywhere |
104
+
105
+ ## Error Translation
106
+
107
+ When a command or process produces an error, always translate:
108
+
109
+ ```
110
+ ❌ WHAT WENT WRONG: [Plain English]
111
+ 💡 WHY: [Why it happened, in non-technical terms]
112
+ 🔧 FIX: [What to do about it]
113
+ ```
114
+
115
+ Common translations:
116
+
117
+ | Error | Translation |
118
+ |---|---|
119
+ | `ECONNREFUSED` | "Can't connect to the server. It might not be running." |
120
+ | `MODULE_NOT_FOUND` | "A tool this project needs isn't installed. I'll install it." |
121
+ | `EACCES` / permission denied | "Your computer won't let me do this. Usually means we need to run it differently." |
122
+ | `404` | "That page doesn't exist. Might be a typo in the URL or the page hasn't been created yet." |
123
+ | `500` | "Something went wrong on the server side. Let me check the code." |
124
+ | `CORS` | "The browser is blocking this request for security reasons. I'll fix the server settings." |
125
+ | `hydration mismatch` | "The page looks different on the server vs the browser. Usually a small code fix." |
126
+ | `type error` | "The code expected one type of data but got another. Like putting text where a number should go." |
127
+ | Build failed | "The code can't be converted to a working site. Usually a typo or missing piece. Let me find it." |
128
+
129
+ ## Tone
130
+
131
+ - Never make the designer feel bad for not knowing something
132
+ - "Here's how this works" not "you should know that..."
133
+ - If they ask what something means, answer warmly and completely
134
+ - End complex explanations with "Does that make sense?" or "Want me to explain differently?"
135
+ - Celebrate completions: "That's live!" / "Working!" / "Looks great!"