Creating Your Own Patterns
Learn how to create, package, and share reusable patterns with the SeanStack community.
Pattern Philosophy: Great patterns solve real problems, are well-documented, and follow established conventions. They should be easy to understand and customize.
Getting Started
1. Identify Need
Start with a common problem you've solved multiple times across projects.
2. Build & Test
Create a working implementation in a real project before extracting.
3. Package & Share
Follow the pattern structure guidelines and submit to the registry.
Pattern Directory Structure
Standard structure for organizing your pattern files
my-awesome-pattern/ ├── pattern.json # Required: Pattern metadata ├── README.md # Required: Documentation ├── files/ # Required: Pattern files │ ├── components/ # React components │ │ └── awesome-component.tsx │ ├── hooks/ # Custom hooks │ │ └── use-awesome.ts │ ├── lib/ # Utility functions │ │ └── awesome-utils.ts │ ├── types/ # TypeScript definitions │ │ └── awesome.types.ts │ └── styles/ # CSS/styling files │ └── awesome.css ├── dependencies.json # Required: Dependency information ├── examples/ # Recommended: Usage examples │ ├── basic.tsx │ ├── advanced.tsx │ └── with-customization.tsx ├── tests/ # Optional: Test files │ └── awesome-component.test.tsx └── docs/ # Optional: Extended documentation ├── api.md └── customization.md
Required Files
pattern.json
README.md
files/ directory
dependencies.json
Ready to Create Your First Pattern?
Start with our pattern template and join the community of contributors: