Contributing
Welcome to the ciderpress contributing docs. This directory contains standards, templates, and guides for working in this codebase.
How to Use
- Standards define the rules -- read the relevant standard before writing code or docs.
- Concepts explain the "what" and "why" behind key architectural decisions.
- References are lookup tables for commands, flags, and APIs.
- Guides are step-by-step walkthroughs for common tasks.
Table of Contents
Standards
TypeScript
- Naming -- File, variable, and property naming conventions
- Functions -- Object parameters, JSDoc, pure functions
- Design Patterns -- Functional patterns, factories, composition
- Coding Style -- Formatting, naming conventions, code organization
- State -- Immutability, state encapsulation, data flow
- Conditionals -- ts-pattern, branching logic
- Types -- Discriminated unions, branded types, type patterns
- Errors -- Result type, error handling
- Utilities -- es-toolkit reference
- Testing -- Test structure, mocking, coverage
Git
- Commits -- Commit message format and conventions
- Pull Requests -- PR creation, review, and merge process
Documentation
- Writing -- Writing standards and templates
- Formatting -- Code examples, tables, markdown
- Diagrams -- Mermaid diagram standards
Concepts
- Architecture -- Package ecosystem, layers, design decisions, data flow
- Config -- Config system, output structure, Rspress integration
- Engine -- Sync engine overview, build vs dev, key concepts
- Pipeline -- Sync pipeline, page transformation, entry resolution
- Incremental Sync -- Mtime skipping, content hashing, structural change detection
- OpenAPI Sync -- Spec dereferencing, MDX generation, caching
- Dev Mode -- File watching, debouncing, HMR, config reload
References
- CLI -- Command syntax, flags, Rspress integration
Guides
- Getting Started -- Local setup, reading order, Claude Code configuration
- Developing a Feature -- Branch, code, test, changeset, PR, merge
- Publishing VS Code Extension -- Package and publish the ciderpress VS Code extension