Jonathan Miller b3f159078a
Universal: Changelog Validation / Validate CHANGELOG.md (pull_request) Failing after 2s
Universal: CodeQL Analysis / Analyze (actions) (pull_request) Failing after 1m15s
Universal: CodeQL Analysis / Analyze (javascript) (pull_request) Failing after 1m15s
MCP: Copilot Agent / Run Copilot Coding Agent (pull_request) Failing after 2s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 3s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
MCP: Build & Validate / build (20) (pull_request) Failing after 5s
Universal: PR Check / Validate PR (pull_request) Failing after 2s
MCP: Standards Compliance / Secret Scanning (pull_request) Successful in 2s
MCP: Standards Compliance / License Header Validation (pull_request) Failing after 3s
MCP: Standards Compliance / Repository Structure Validation (pull_request) Failing after 2s
MCP: Standards Compliance / Coding Standards Check (pull_request) Failing after 3s
MCP: Standards Compliance / Workflow Configuration Check (pull_request) Failing after 3s
MCP: Standards Compliance / Documentation Quality Check (pull_request) Successful in 3s
MCP: Standards Compliance / README Completeness Check (pull_request) Failing after 2s
MCP: Standards Compliance / Git Repository Hygiene (pull_request) Successful in 2s
MCP: Standards Compliance / Script Integrity Validation (pull_request) Successful in 4s
MCP: Standards Compliance / Line Length Check (pull_request) Failing after 3s
MCP: Standards Compliance / File Naming Standards (pull_request) Successful in 3s
MCP: Standards Compliance / Insecure Code Pattern Detection (pull_request) Successful in 3s
MCP: Standards Compliance / Version Consistency Check (pull_request) Successful in 37s
MCP: Build & Validate / build (22) (pull_request) Failing after 1m2s
MCP: Standards Compliance / Code Complexity Analysis (pull_request) Successful in 34s
MCP: Standards Compliance / File Size Limits (pull_request) Successful in 3s
MCP: Standards Compliance / Binary File Detection (pull_request) Successful in 3s
MCP: Standards Compliance / TODO/FIXME Tracking (pull_request) Successful in 2s
MCP: Standards Compliance / Code Duplication Detection (pull_request) Successful in 35s
MCP: Standards Compliance / Dependency Vulnerability Scanning (pull_request) Successful in 34s
MCP: Standards Compliance / Unused Dependencies Check (pull_request) Successful in 33s
MCP: Standards Compliance / Broken Link Detection (pull_request) Successful in 3s
MCP: Standards Compliance / API Documentation Coverage (pull_request) Successful in 3s
MCP: Standards Compliance / Dead Code Detection (pull_request) Failing after 53s
MCP: Standards Compliance / Accessibility Check (pull_request) Successful in 3s
MCP: Standards Compliance / Performance Metrics (pull_request) Failing after 31s
MCP: Standards Compliance / Enterprise Readiness Check (pull_request) Successful in 37s
Universal: Auto-Assign / Assign unassigned issues and PRs (pull_request_target) Successful in 1s
MCP: Standards Compliance / Repository Health Check (pull_request) Successful in 39s
MCP: Standards Compliance / Terraform Configuration Validation (pull_request) Failing after 43s
Universal: CodeQL Analysis / Security Scan Summary (pull_request) Successful in 1s
MCP: Standards Compliance / Compliance Summary (pull_request) Failing after 1s
chore: rename config to .mcp_mokocrm.json (underscore convention)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-19 14:54:57 -05:00

Contributing to dolibarr-api-mcp

We appreciate your interest in contributing to this project! This document provides guidelines for contributing.

Table of Contents

Code of Conduct

This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to hello@mokoconsulting.tech.

Getting Started

  1. Fork the repository
  2. Clone your fork locally
  3. Install dependencies: npm install
  4. Build: npm run build
  5. Create a new branch for your work

How to Contribute

Reporting Bugs

  • Use the Gitea issue tracker
  • Describe the bug clearly with steps to reproduce
  • Include the Dolibarr version you're connecting to
  • Include relevant logs or error messages

Adding New Tools

If you want to add support for a Dolibarr API endpoint not yet covered:

  1. Check the Dolibarr API Explorer for endpoint details
  2. Add the tool registration in src/index.ts following the existing patterns
  3. Update docs/API.md with the new tool's parameter table
  4. Update README.md tool listing
  5. Update CHANGELOG.md

Contributing Code

  • Pick an issue or create one
  • Fork the repository and create a branch
  • Make your changes following the project conventions
  • Submit a pull request

Development Workflow

  1. Ensure your fork is up to date with the main repository
  2. Create a feature branch from main
  3. Make your changes
  4. Test against a Dolibarr instance (use npm run setup to configure a dev connection)
  5. Build with npm run build to catch TypeScript errors
  6. Commit your changes with clear messages
  7. Push to your fork
  8. Create a pull request

Commit Messages

Follow the conventional commit format:

<type>(<scope>): <subject>

<body>

<footer>

Types: feat, fix, docs, style, refactor, test, chore, ci, build, perf, revert

Example:

feat(tools): add shipment management tools

Add dolibarr_shipments_list, dolibarr_shipment_get, and
dolibarr_shipment_validate tools for the /shipments API endpoint.

Pull Request Process

  1. Update documentation for any new tools
  2. Follow the project's coding style and conventions
  3. Ensure npm run build succeeds without errors
  4. Update the CHANGELOG.md with your changes
  5. Request review from maintainers
  6. Address any feedback promptly
  7. Once approved, your PR will be merged

Style Guidelines

  • Use tabs for indentation
  • All source files must include the Moko Consulting copyright header
  • Use snake_case for local variables (matching Dolibarr API field names)
  • Use Zod for all tool parameter validation
  • Follow the formatResponse() pattern for consistent error handling

Infrastructure Standards

All repositories in the MokoConsulting org follow these conventions:

Release Tags

Every repo maintains 5 standard release channel tags:

  • development - Active development builds
  • alpha - Early internal testing
  • beta - Broader testing / client UAT
  • release-candidate - Final QA before production
  • stable - Production release

Branch Protection

  • main is protected; only jmiller can push directly
  • All other contributors must use pull requests
  • PRs are automatically reviewed by Claude Code

CI/CD

  • Gitea Actions runs all CI workflows
  • Workflows live in .gitea/workflows/

Secrets

All repos have GA_TOKEN and GH_TOKEN as Actions secrets for API access.

Questions?

If you have questions about contributing, feel free to open an issue or contact the maintainers at hello@mokoconsulting.tech.

Revision History

Date Version Author Notes
2026-05-07 0.0.1 jmiller Initial contributing guidelines
S
Description
MCP server for Dolibarr ERP/CRM REST API operations
Readme
707 KiB
Languages
TypeScript 53.1%
Markdown 34.7%
Shell 5.9%
JavaScript 2.6%
Makefile 1.8%
Other 1.9%