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.

  1. Integration Suite: Run our universal failsafe to test core engine features, versioning, and redirects:
    pnpm test
    
  2. Conventional Commits: We follow Conventional Commits. Use prefixes like feat:, fix:, or docs:.
  3. Copyright Header: All new files in packages/ must include the standard project copyright header. Please copy the header from any existing file in the src/ directory.

πŸš€ Pull Request Workflow

  1. Branch: Create a branch from main.
  2. Code: Make your changes.
  3. Verify: Run pnpm test and ensure it outputs ✨ ALL SYSTEMS GO.
  4. Push & Open: Open a Pull Request against the main branch.

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.