Contributing

Welcome to the zpress 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.
  • 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, sync engine, UI theme, data flow
  • CLI -- Commands, dev server, file watching, build pipeline

Guides