Open-source software for Joomla, Gitea, and web platforms. Home of MokoSuite, MokoGitea, and MokoCLI.
Tennessee
publishing/Workflows
Publishing Workflows
Overview
Packages are published to registries automatically via CI workflows triggered by releases.
Composer (PHP — mokocli)
Registry: Packagist + Gitea Composer
Workflow: composer-publish.yml
- Triggers on: stable release created on
main - Publishes to both Packagist and Gitea Composer registry
- Requires
PACKAGIST_TOKENsecret
Setup:
- Register package on Packagist.org (one-time, done)
- Add
PACKAGIST_TOKENrepo secret - Ensure
composer.jsonhas NOversionfield (Packagist reads from tags)
npm (TypeScript — MCP servers)
Workflow: npm-publish.yml
- Triggers on: stable release created on
main - Publishes to both npm public registry and Gitea npm registry
- Requires
NPM_TOKENsecret
Repos with npm-publish:
- mcp-mokogitea-api
- mcp-mokowaas-api
- mcp-mokocrm-api
- mcp-mokossh
- mcp-mokomonitor
- mcp-mokobackup
- mcp-mokodreamhost
- mcp-mokomysql
- mcp-windows
- Template-MCP (template for new MCP repos)
Setup for new MCP repos:
- Ensure
npm-publish.ymlexists (synced from Template-MCP) - Add
NPM_TOKENorg secret (already org-wide) - Set
nameandversioninpackage.json
Secrets Reference
| Secret | Scope | Where to Add |
|---|---|---|
NPM_TOKEN |
Org-wide | Org settings → Actions → Secrets |
PACKAGIST_TOKEN |
mokocli only | Repo settings → Actions → Secrets |
MOKOGITEA_TOKEN |
Org-wide | Used by release workflows for API calls |
Gitea Package Registry
All repos automatically publish to the Gitea package registry when tags are created:
- Composer packages: visible at
/packages/MokoConsulting/composer - npm packages: visible at
/packages/MokoConsulting/npm
No additional workflow needed — Gitea handles this natively.
Revision History
| Date | Author | Changes |
|---|---|---|
| 2026-06-21 | jmiller | Initial creation documenting all publish workflows |
Pages