Moko Consulting

Open-source software for Joomla, Gitea, and web platforms. Home of MokoSuite, MokoGitea, and MokoCLI.

Tennessee
contributing/getting-started.-

Getting Started

Set up your development environment for MokoConsulting projects.

Prerequisites

Tool Version Purpose
Composer 2.x PHP dependency management
GNU Make 4.x+ Build automation (all repos)
Node.js 20+ MCP servers, build tools
npm 10+ Node package management
Go 1.22+ MokoGitea development
Git 2.40+ Version control
  • A local Joomla 5.x installation for testing extensions
  • Docker for running MokoGitea locally
  • PHPStorm, VS Code, or Sublime Text with PHP/Go/TS plugins

Clone a Repository

All repos are hosted at git.mokoconsulting.tech under the MokoConsulting organization:

git clone https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteBackup.git
cd MokoSuiteBackup

Joomla Extension Development

# Install PHP dependencies
composer install

# Run linting and code standards
make lint
make phpcs

# Build installable ZIP
make build

# Run tests
make test

The built ZIP is in dist/ — install it via System > Install > Extensions in Joomla admin.

For faster iteration without rebuilding:

# Edit JOOMLA_ROOT in Makefile to point to your local Joomla
make dev-install

This symlinks the source into your Joomla installation. Changes are reflected immediately.

MCP Server Development

cd A:/mokoplatform/mcp/servers/{server-name}
npm install
npm run build

MCP servers are loaded by Claude Code from ~/.claude/.mcp.json. After rebuilding, restart your Claude Code session to reload.

MokoGitea Development

git clone https://git.mokoconsulting.tech/MokoConsulting/MokoGitea-APP.git
cd MokoGitea-APP

# Build
make build

# Run locally
./gitea web

See the MokoGitea Architecture page for fork-specific development guidelines.

Common Make Targets

All repos follow a standard Makefile convention:

Command Description
make help List all available targets
make build Lint, validate, and package
make lint Syntax check source files
make test Run test suite
make clean Remove build artifacts
make validate Run all validators (lint + phpcs + phpstan)

Next Steps