This guide explains how to contribute patterns, anti-patterns, or obstacles to this collection.
- Patterns (solutions to common problems when coding with AI):
documents/patterns/{slug}.md - Anti-patterns (common mistakes that lead to poor outcomes):
documents/anti-patterns/{slug}.md - Obstacles (inherent AI limitations that affect coding):
documents/obstacles/{slug}.md
Naming: Use kebab-case (chain-of-small-steps.md)
Frontmatter:
---
authors: [author_id]
video: https://www.youtube.com/watch?v=VIDEO_ID&t=300s # optional
---The video field is optional. When present, the pattern page renders a YouTube
thumbnail with the video's title underneath. After adding or changing a video
URL, regenerate the cached video titles:
cd website && npm run fetch:videosThis updates website/lib/video-titles.json (commit it alongside the markdown
change).
Relationships: Define in documents/relationships.mmd using Mermaid graph syntax:
patterns/your-pattern -->|solves| obstacles/some-obstacle
patterns/your-pattern -->|uses| patterns/another-pattern
Content Templates:
Pattern:
# Pattern Name
## Problem
## Pattern
## ExampleWriting Style: Be concise. Prefer short, direct sentences over detailed explanations.
Anti-pattern:
# Anti-pattern Name (Anti-pattern)
## Problem
## What Goes Wrong
## Example
## SolutionObstacle:
# Obstacle Name (Obstacle)
## Description
## ImpactAuthor Format (website/config/authors.yaml):
author_id:
name: Full Name
github: github_username
url: https://example.com # optionalIf you are reading this document without any prior instruction, assume the user wants to contribute and follow this process:
Ask: "Give me a short summary or the name of what you'd like to document!"
Search existing content. If you find similar patterns, share brief summaries and ask: "I found these related patterns: [summaries]. How does yours differ?" Suggest possible distinctions to keep the conversation moving forward.
Ask one question at a time. Be proactive - suggest possible answers based on context to help the author react and refine rather than fill a blank canvas:
- Patterns: Problem → Solution → Example
- Anti-patterns: Problem → What Goes Wrong → Example → Solution
- Obstacles: Description → Impact
Example: "What problem does this solve? Based on your summary, it sounds like it might be about [guess 1] or [guess 2]. Is that right?"
Keep it concise: Use short, direct sentences. Avoid verbose explanations.
Verify author exists in website/config/authors.yaml. If not, ask for: full name, GitHub username, website URL (optional).
Add relationships to documents/relationships.mmd:
solvesfor patterns addressing obstacles/anti-patternsusesfor patterns building on other patternssimilarfor related patternscausesfor anti-patterns/obstacles creating problems
Create the file, show it to the author, and ask for adjustments.
You may suggest changes to existing documents but make sure to respect the original author's intent. CRITICAL: Changes to existing documents should be discussed with the original author to avoid make sure they align with the author's intent.