Files
MokoOnyx/wiki/reference/contributing.md
T
jmiller 82e04b1818
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Universal: PR Check / Require Docs Update (pull_request) Has been skipped
Universal: PR Check / Wiki Update Reminder (pull_request) Has been skipped
Universal: PR Check / Secret Scan (pull_request) Successful in 6s
Generic: Project CI / Tests (pull_request) Failing after 9s
Generic: Project CI / Lint & Validate (pull_request) Successful in 12s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 14s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Failing after 9s
Universal: PR Check / Validate PR (pull_request) Failing after 15s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
chore: sync main into dev (resolve infra/doc divergence)
# Conflicts:
#	.mokogitea/workflows/issue-branch.yml
#	CHANGELOG.md
#	SECURITY.md
#	source/html/layouts/joomla/module/card.php
#	source/html/layouts/mokoonyx/article-metadata.php
#	source/media/css/a11y-high-contrast.css
#	source/templateDetails.xml
2026-07-12 19:22:08 -05:00

2.7 KiB

Contributing

This document defines how to contribute to Moko Consulting projects.

Branching Strategy

All repositories follow this branching model:

feature/* --> dev --> main
Branch Purpose Direct push?
main Production/release branch No -- PR merge only
dev Integration branch No -- PR merge only (CI bot whitelisted)
feature/* Feature/bugfix work Yes -- create freely
rc/* Release candidates No -- PR merge only
alpha/* Alpha pre-releases No -- PR merge only
beta/* Beta pre-releases No -- PR merge only
version/* Release archive branches Auto-created by CI

Workflow

  1. Create a feature/* branch from dev
  2. Make changes on the feature branch
  3. Open a PR from feature/* to dev
  4. After review, merge to dev
  5. When ready for release, open a PR from dev to main
  6. Merging to main triggers the auto-release pipeline

Automated syncing

  • cascade-dev.yml automatically forward-merges main to dev after every push to main
  • If there are conflicts, a PR is created automatically

Prerequisites

Contributors are expected to:

  • Have a working understanding of the project's platform (Joomla or generic)
  • Be familiar with Git and pull request workflows
  • Review repository governance documents prior to submitting changes

Quick Setup

git clone https://git.mokoconsulting.tech/MokoConsulting/<repo>.git
cd <repo>
git checkout dev
git checkout -b feature/my-change

Coding and Formatting Standards

All contributions must:

  • Follow platform coding standards (Joomla, PHP PSR) where applicable
  • Conform to Moko Consulting repository standards for headers, metadata, and file structure
  • Keep YAML workflow files ASCII-only (no em dashes, arrows, or emoji)

Commit Messages

Commit messages should:

  • Use conventional commits format: type(scope): description
  • Types: feat, fix, chore, docs, refactor, test, ci
  • Focus on what changed and why
  • Include [skip ci] suffix for documentation-only changes

Reporting Issues

Bug reports and enhancement requests should be filed as Gitea issues and include:

  • Clear reproduction steps or use cases
  • Expected versus actual behavior
  • Relevant environment details

Security issues must follow the process in SECURITY.md and must not be reported publicly.

Review Process

All pull requests are subject to review. Review criteria include:

  • Technical correctness
  • Alignment with project goals
  • Maintainability and clarity
  • Risk introduced to release and update processes

License

By contributing, you agree that your contributions will be licensed under GPL-3.0-or-later, consistent with the rest of the project.