Getting Started
Writing Articles
Articles live in thecontent/ directory as MDX files. Each article has its own folder structure that keeps content and demos organized together.
Article Structure
Required Frontmatter
Every article must include frontmatter with metadata:Importing Demos
Import and display demos from the colocateddemos/ directory:
Code Standards
The wiki follows strict conventions to ensure consistency and maintainability. These standards are documented inAGENTS.md and enforced through automated linting.
Naming Conventions
All names use kebab-case throughout the project:- Files:
use-audio.ts,styles.module.css - Directories:
button-group/,mastering-animate-presence/ - CSS classes:
.button-primary,.nav-item - URL slugs:
/12-principles-of-animation
function Button()).
Component Guidelines
Use function declarations with explicit TypeScript interfaces:Styling Standards
- Use CSS Modules for all component styles (
.module.css) - Leverage theme variables from
/styles/styles.theme.css - Never hardcode colors or dimensions
- Use data attributes for variants
Animation Best Practices
When creating demos with motion, follow these guidelines:Timing
- Micro-interactions: 100-200ms
- Standard transitions: 200-300ms
- Page transitions: 300-400ms
- Never exceed 300ms for user-initiated actions
Easing
- Use
ease-outfor entrances (arrive fast, settle gently) - Use
ease-infor exits (build momentum before departure) - Use spring physics for organic, overshoot-and-settle effects
Accessibility
Respect user preferences for reduced motion:Interactive Demos
The wiki includes two types of interactive components:Standard Demos
Standard demos can import from the main codebase using path aliases:Playground Demos
Playground demos use Sandpack and must be self-contained. They cannot import from the codebase:<Button onClick={toggle}>Toggle</Button>❌ Incorrect:
<Button>{visible ? "Hide" : "Show"}</Button>
Audio Transcription
Articles are transcribed using Eleven Labs to provide audio versions. Due to API limitations:- Do not include transcription in your pull request
- Mention in your PR description if you’d like audio transcription
- The maintainer will handle transcription after the article is merged
Before Submitting
Run the linter to catch issues:Pull Request Process
Questions and Feedback
If you have questions about contributing, suggestions for new articles, or feedback on existing content:- Open an issue on GitHub for discussions and suggestions
- Join the conversation in pull request comments
- Reference the standards in
AGENTS.mdfor detailed technical guidance