Thank you for contributing to docmd! We appreciate your help in making this tool faster, smarter, and more reliable.
π οΈ Development Setup
docmd is a Monorepo managed with pnpm.
1. Prerequisites
- Node.js: v20+
- pnpm: v10+
2. Setup
Clone the repository and install all workspace dependencies:
git clone https://github.com/docmd-io/docmd.git
cd docmd
pnpm install
3. Running the Dev Server
We use workspace filtering to ensure the local CLI is used during development. Start the documentation site and watch for changes in the core engine automatically:
pnpm run dev
4. Developer Mode
By default, the dev server watches content. To watch internal source code (templates, core engine, plugins), set the environment variable:
# Mac/Linux
DOCMD_DEV=true pnpm run dev
# Windows (PowerShell)
$env:DOCMD_DEV="true"; pnpm run dev
π§ͺ Testing & Quality
Before submitting, ensure your changes havenβt introduced regressions.
- Integration Suite: Run our universal failsafe to test core engine features, versioning, and redirects:
pnpm test - Conventional Commits: We follow Conventional Commits. Use prefixes like
feat:,fix:, ordocs:. - Copyright Header: All new files in
packages/must include the standard project copyright header. Please copy the header from any existing file in thesrc/directory.
π Pull Request Workflow
- Branch: Create a branch from
main. - Code: Make your changes.
- Verify: Run
pnpm testand ensure it outputs⨠ALL SYSTEMS GO. - Push & Open: Open a Pull Request against the
mainbranch.
Copyright Header
All source files in packages/ must include the standard copyright header. If you create a new file, please copy the header from an existing file.
/*!
* --------------------------------------------------------------------
* docmd : the minimalist, zero-config documentation generator.
*
* @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.
* --------------------------------------------------------------------
*/
Code of Conduct
Please note that this project operates with a standard Contributor Code of Conduct. By participating in this project you agree to abide by its terms, ensuring a welcoming and respectful environment for everyone.