diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md new file mode 100644 index 0000000..f6269d5 --- /dev/null +++ b/docs/CONTRIBUTING.md @@ -0,0 +1,335 @@ +# AI Coding Guidelines — wordofmouth.corneruniverse.com + +## Project Overview + +**Purpose:** Marketing website for Word of Mouth, a consultancy business. + +**Audience:** Potential clients seeking consultancy services. + +**Primary Goals:** +1. Establish credibility and professionalism +2. Clearly communicate services offered +3. Convert visitors to contact/book a consultation +4. Build trust through testimonials and expertise demonstration + +--- + +## Design Direction + +**Aesthetic:** Professional, trustworthy, and approachable. Not cold corporate—warm professionalism. The design should convey expertise while remaining personable. + +**Mood:** Confident, clear, helpful. The visitor should feel they're in capable hands. + +**Color Palette:** Professional but not generic. Consider a primary color that stands out while remaining sophisticated. Define in `/src/styles/variables.css`. + +**Typography:** Clean, readable, professional. A modern sans-serif works well. Headings should command attention; body text should be easy to scan. + +**Whitespace:** Use generously. Consultancy sites benefit from breathing room—it conveys clarity of thought. + +--- + +## Technical Standards + +### Vue 3 Conventions + +- Use Composition API with ` +``` + +### Content Management + +**All text content in `/src/content/site-data.js`:** +```javascript +export const hero = { + headline: "Strategic Consulting for Growing Businesses", + subheadline: "Clarity. Strategy. Results.", + cta: { + text: "Book a Consultation", + link: "#contact" + } +} + +export const services = [ + { + title: "Strategy Development", + description: "...", + icon: "strategy" // or image path + }, + { + title: "Market Analysis", + description: "...", + icon: "analysis" + } +] + +export const about = { + heading: "About", + text: "...", + image: "/images/headshot.jpg", + credentials: [ + "10+ years experience", + "50+ clients served", + "Industry certification" + ] +} + +export const testimonials = [ + { + quote: "Working with Word of Mouth transformed our approach...", + author: "Jane Smith", + role: "CEO, Company Name" + } +] + +export const contact = { + heading: "Let's Talk", + text: "Ready to take the next step? Get in touch.", + email: "hello@wordofmouth.com", + phone: "(555) 123-4567", // or null + calendlyLink: "https://calendly.com/..." // or null +} +``` + +### Styling + +**CSS Custom Properties (variables.css):** +```css +:root { + /* Colors */ + --color-primary: #...; + --color-primary-dark: #...; + --color-secondary: #...; + --color-background: #...; + --color-background-alt: #...; /* For alternating sections */ + --color-text: #...; + --color-text-light: #...; + + /* Typography */ + --font-heading: '...', sans-serif; + --font-body: '...', sans-serif; + --font-size-sm: 0.875rem; + --font-size-base: 1rem; + --font-size-lg: 1.25rem; + --font-size-xl: 1.5rem; + --font-size-2xl: 2rem; + --font-size-3xl: 3rem; + + /* Spacing */ + --space-xs: 0.25rem; + --space-sm: 0.5rem; + --space-md: 1rem; + --space-lg: 2rem; + --space-xl: 4rem; + --space-2xl: 6rem; + + /* Layout */ + --max-width: 1200px; + --section-padding: var(--space-2xl) var(--space-md); +} +``` + +**Responsive Design:** +- Mobile-first approach +- Clean single-column on mobile, multi-column on desktop +- CTA buttons should be prominent at all sizes + +--- + +## Components to Build + +### Layout +- `AppHeader.vue` — Logo, navigation, CTA button +- `AppFooter.vue` — Contact info, links, copyright + +### Sections +- `HeroSection.vue` — Headline, subheadline, primary CTA (most important) +- `ServicesSection.vue` — Grid of service offerings +- `AboutSection.vue` — Photo, bio, credentials +- `TestimonialsSection.vue` — Client quotes (builds trust) +- `ProcessSection.vue` — Optional: how the consultancy works (1, 2, 3 steps) +- `ContactSection.vue` — Contact form or CTA to book + +### Common +- `BaseButton.vue` — Primary (filled) and secondary (outlined) variants +- `ServiceCard.vue` — Icon, title, description +- `TestimonialCard.vue` — Quote, author, role +- `SectionWrapper.vue` — Consistent section padding and max-width + +--- + +## Call-to-Action Strategy + +**Primary CTA:** "Book a Consultation" or "Get in Touch" +- Should appear in: Header, Hero, Contact section +- Use primary button style (filled, prominent color) + +**Secondary CTA:** "Learn More" or section navigation +- Use secondary button style (outlined or text link) + +**CTA Placement:** +``` +[Header with CTA button] +[Hero with prominent CTA] +[Services] +[About] +[Testimonials] +[Contact with CTA] +[Footer] +``` + +The visitor should never be far from a way to take action. + +--- + +## Trust Elements + +**Include these to build credibility:** +- Professional headshot +- Credentials or certifications +- Client testimonials with real names (with permission) +- Years of experience or clients served +- Clear explanation of services and process + +**Testimonial Best Practices:** +```vue +
+

"{{ testimonial.quote }}"

+ +
+``` + +--- + +## Accessibility + +- Semantic HTML: `
`, `
`, `
`, `