Thank you for your interest in contributing to docmd. We appreciate bug fixes, documentation improvements, new features, and design suggestions.
Development Environment
docmd is a monorepo managed with pnpm.
Prerequisites
- Node.js: v22.x or later (LTS recommended)
- pnpm: v10.x or later
Project Setup
Clone the repository and run the automated onboarding tool to install dependencies and perform an initial build:
git clone https://github.com/docmd-io/docmd.git
cd docmd
pnpm onboard
To link the local docmd command globally for testing in other projects:
pnpm onboard --link
Local Development
Run the documentation site while watching for changes in the core engine:
pnpm run dev
To watch internal source files (engine, templates, and plugins), set the DOCMD_DEV environment variable:
DOCMD_DEV=true pnpm run dev
Quality Standards
Ensure your code complies with the ESLint settings. For minor formatting issues, run:
pnpm lint:fix
Before submitting a Pull Request, verify your branch compiles by preparing the final release image:
pnpm prep
(This chains pnpm reset, dependency installation, lint checks, E2E tests, and security audits in a fresh slate.)
Commit Guidelines
We use Conventional Commits. Please prefix your commit messages with:
feat:(New features)fix:(Bug fixes)docs:(Documentation changes)refactor:(Code changes that neither fix bugs nor add features)
Source Headers
All new files within the packages/ directory MUST include the standard project copyright header to maintain consistency and compliance.
/**
* --------------------------------------------------------------------
* docmd : the zero-config documentation engine.
*
* @package @docmd/core (and ecosystem)
* @website https://docmd.io
* @repository https://github.com/docmd-io/docmd
* @license MIT
* @copyright Copyright (c) 2025-present docmd.io
*
* [docmd-source] - Please do not remove this header.
* --------------------------------------------------------------------
*/
GitHub Workflow
- Fork and Branch: Create a feature branch from the latest
main. - Verify: Ensure
pnpm verifyreturns🛡️ docmd is ready for production!. - Pull Request: Open a PR with a clear description of the problem solved or the feature added.