Skip to content

Latest commit

 

History

History
87 lines (62 loc) · 3.35 KB

CONTRIBUTING.md

File metadata and controls

87 lines (62 loc) · 3.35 KB

Meme Driven Development Contributing Guide

Hi, we're really excited that you're interested in contributing to Meme Driven Development!

Before submitting your contribution, please read through the following guide.

🎭 Project Philosophy

This project is a website presenting Meme Driven Development (MDD) — a novel (and fun) approach to modern software development where memes take center stage before, during, and after writing code.

🚀 Getting Started

To get started:

Clone the repository and install dependencies:

pnpm install

Start development mode (includes hot module reload):

pnpm dev

Open http://localhost:4321 to view the site locally.

🧪 Checks

There are three main checks:

  1. Linter & formatter with Biome
  2. Type checking and diagnostics with Astro
  3. Production build with Astro
Command Description
pnpm lint:check Check lint only
pnpm lint Apply lint fixes
pnpm format:check Check formatting only
pnpm format Apply formatting
pnpm check Run all static checks (Biome + Astro)
pnpm check:fix Apply Biome fixes, then run Astro diagnostics
pnpm check:astro Check Astro and TypeScript only
pnpm lint:ci Combined CI gate with GitHub annotations
pnpm links:check Check internal links in the built site
pnpm links:check:external Check internal and external links
pnpm build Build for production

pnpm links:check requires pnpm build first and uses lychee (brew install lychee). Settings live in lychee.toml.

🧹 Code Style & Conventions

  • We use Biome for linting and formatting. Please run pnpm check before submitting a PR; pnpm check:fix applies all fixes locally.
  • Follow existing file and folder naming conventions.
  • Keep commit messages clear and descriptive.

🖼️ Adding a Best Practice

To add a new best practice meme to the gallery:

  1. Add your meme image (.jpg, .png, or .svg) to ./src/memes/.

  2. Register a new entry in ./src/memes/memes.ts:

    {
      title: 'Your Best Practice',
      meme: 'your-meme-file-name',
      ext: 'jpg',
      caption: 'Your caption',
    },
  3. Submit a PR, remembering to follow the MDD specification for PRs. 😉

🐛 How to Report Bugs or Request Features

If you encounter a bug or have a feature request, please open an issue with clear steps to reproduce or a detailed description of your idea. Check for existing issues before creating a new one.

🧐 MDD Reviews

Per the MDD Specification, all feedback on pull requests must be provided in meme form. 🎭