Contributing to Lito

We’re glad you’re interested in contributing to Lito. Whether you’re fixing a typo, reporting a bug, or building an entire framework template, every contribution matters and helps make documentation better for everyone.

Lito is an open-source project and we welcome contributions of all sizes. This guide will help you get started.


Ways to Contribute

Bug Reports

Found something broken? Open a GitHub issue with steps to reproduce, expected behavior, and your environment details. Good bug reports save everyone time.

Documentation

Improve existing docs, fix typos, add examples, or write new guides. Documentation contributions are one of the most impactful ways to help.

Framework Templates

Help bring Lito to React, Next.js, Vue, and Nuxt. The Astro template is production-ready and serves as the reference implementation for other frameworks.

Core Features

Contribute to the CLI, add new MDX components, improve the build pipeline, or work on planned features from the roadmap.


Framework Templates Need Your Help

The Astro template is production-ready with 20+ MDX components, full theming, search, and API documentation support. The other framework templates are at various stages and need community contributors to reach parity.

TemplateStatusRepositoryWhat’s Needed
AstroProduction Readylito-astro-templateBug fixes, new components
ReactIn Progresslito-react-templateMDX components, sidebar, search
Next.jsIn Progresslito-next-templateMDX components, sidebar, search
VueEarly Stagelito-vue-templateCore layout, components, routing
NuxtEarly Stagelito-nuxt-templateCore layout, components, routing

Each template shares the same design system (theme.css) so the visual output is consistent across frameworks. The main work involves porting the Astro components and layouts to each framework’s conventions.


Development Setup

Fork the repository

Fork the repo you want to work on from github.com/Lito-docs. For CLI work, fork lito. For template work, fork the relevant template repo.

Clone your fork

Terminal window
git clone https://github.com/your-username/cli.git
cd cli

Install dependencies with pnpm

Lito uses pnpm as its package manager. Install dependencies for the project you’re working on:

Terminal window
pnpm install

Start the dev server

For CLI development, test against the sample docs:

Terminal window
node bin/cli.js dev -i ../sample-docs

For template development, run the template directly:

Terminal window
pnpm dev

Make your changes

Create a new branch, make your changes, and test them thoroughly. Run lito build -i ../sample-docs to verify production builds work correctly.


Code Style Guidelines

  • Use pnpm for all package management
  • Follow existing code patterns and naming conventions in the codebase
  • CSS uses Tailwind v4 with OKLCH color space and @theme inline blocks
  • MDX components should use theme-aware CSS variables (--primary-*, --gray-*, semantic tokens) rather than hardcoded colors
  • Keep components accessible: use semantic HTML, ARIA attributes, and keyboard navigation where appropriate
  • Write clear, concise commit messages that describe what changed and why

Pull Request Process

Create a branch

Branch from main with a descriptive name: feat/vue-card-component, fix/sidebar-scroll, or docs/update-installation.

Make focused changes

Keep PRs focused on a single concern. Smaller PRs are easier to review and merge. If you’re making unrelated changes, split them into separate PRs.

Test your changes

Run the dev server and verify your changes work. For CLI changes, test both dev and build commands. For template changes, check light and dark mode, mobile responsiveness, and accessibility.

Write a clear PR description

Describe what you changed, why, and include screenshots for visual changes. Reference any related GitHub issues.

Submit and iterate

Open the PR against main. A maintainer will review it and may request changes. Don’t worry if revisions are needed — that’s a normal part of the process.


Questions?

Join the community

Have questions about contributing, need help getting started, or want to discuss a feature idea? Join the Lito Discord server — we’re happy to help. You can also open a GitHub Discussion for longer-form conversations.

  • Roadmap — See what’s planned and where help is most needed
  • FAQ — Common questions about Lito
  • Architecture — Understand how Lito works under the hood
  • Components Reference — Full list of available MDX components