Jonathan Miller abf3bdb59b
Generic: Project CI / Tests (push) Blocked by required conditions
Generic: Repo Health / Scripts governance (push) Blocked by required conditions
Generic: Repo Health / Repository health (push) Blocked by required conditions
Generic: Repo Health / Report Issues (push) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: Auto Version Bump / Version Bump (push) Failing after 6s
Generic: Project CI / Tests (pull_request) Blocked by required conditions
Universal: PR Check / Build RC Package (pull_request) Blocked by required conditions
Universal: PR Check / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Scripts governance (pull_request) Blocked by required conditions
Generic: Repo Health / Repository health (pull_request) Blocked by required conditions
Generic: Repo Health / Report Issues (pull_request) Blocked by required conditions
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been skipped
Generic: Project CI / Lint & Validate (push) Successful in 27s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Branch Policy Check / Verify merge target (pull_request) Successful in 2s
Generic: Repo Health / Access control (pull_request) Successful in 1s
Universal: Build & Release / Promote to RC (pull_request) Failing after 8s
Universal: PR Check / Validate PR (pull_request) Failing after 10s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 28s
Generic: Project CI / Lint & Validate (pull_request) Successful in 29s
PR RC Release / Build RC Release (pull_request) Failing after 30s
feat: issue metadata API + org wiki tab with internal/external mode
Issue Status/Priority/Type API:
- Expose status_id, priority_id, type_id (with resolved names) on Issue API struct
- New endpoints: GET /orgs/{org}/issue-statuses, /issue-priorities, /issue-types
- CreateIssue and EditIssue handlers accept status_id, priority_id, type_id
- MCP tools: 5 new tools + updated create/update with metadata params

Org Wiki Tab:
- Convention repos: wiki (public) and wiki-private (members-only)
- Inline wiki rendering with markdown pipeline, sidebar, footer, page list
- Public/private view dropdown (same UX as org profile README selector)
- External wiki mode: link to outside URL from wiki tab
- Wiki mode setting in org settings (internal vs external with URL field)
- Migration 354: add wiki_mode and wiki_url to user table
2026-06-08 05:45:03 -05:00
2026-04-08 01:17:05 +08:00
2026-06-08 05:45:03 -05:00
2024-07-23 12:07:41 +00:00
2025-06-16 12:03:51 +00:00
2025-09-04 01:17:14 +00:00
2023-01-24 18:52:38 +00:00
2026-04-26 11:46:48 +02:00
2016-11-08 08:42:05 +01:00
2026-03-22 08:18:42 -07:00
2026-01-16 11:00:16 +00:00
2026-04-15 17:26:26 +00:00
2026-05-04 19:27:47 +00:00

Contributing to Moko Consulting Projects

Thank you for your interest in contributing. All Moko Consulting repositories follow this universal workflow and version policy.

Branching Workflow

feature/* ──PR──> dev ──draft PR──> (renamed to rc) ──merge──> main

Step by step

  1. Create a feature branch from dev:

    git checkout dev && git pull
    git checkout -b feature/my-change
    
  2. Work and commit on your feature branch. Push to origin.

  3. Open a PR: feature/my-changedev. After review and checks, merge it.

  4. When ready for release, open a draft PR: devmain.

    • This automatically renames the source branch to rc (release candidate)
    • An RC pre-release is built and uploaded
  5. Alpha and beta branches are created by manually renaming the branch before the RC stage:

    • Rename dev to alpha for early testing → alpha pre-release is built
    • Rename alpha to beta for feature-complete testing → beta pre-release is built
    • When the draft PR is created, the branch is renamed to rc
  6. Once PR checks pass on the rc branch, mark the PR as ready and merge to main.

  7. Merging to main triggers the stable release pipeline:

    • Minor version bump (e.g., 02.09.xx02.10.00)
    • Stability suffix stripped (clean version)
    • Gitea release created with ZIP/tar.gz packages
    • updates.xml updated (Joomla extensions)
    • dev branch recreated from main

Branch summary

Branch Purpose Created by
feature/* New features and fixes Developer
dev Integration branch Auto-recreated after release
alpha Alpha pre-release testing Manual rename from dev
beta Beta pre-release testing Manual rename from alpha
rc Release candidate Auto-renamed on draft PR to main
main Stable releases Protected, merge only
version/XX.YY.ZZ Archived release snapshots Auto-created by CI

Protected branches

Branch Direct push Merge via
main Blocked (CI bot whitelisted) PR merge only
dev Blocked (CI bot whitelisted) PR merge from feature/*
rc Blocked (CI bot whitelisted) Auto-created on draft PR
alpha Blocked (CI bot whitelisted) Manual rename
beta Blocked (CI bot whitelisted) Manual rename
feature/* Open N/A (source branch)

Version Policy

Format

All versions use XX.YY.ZZ — three two-digit segments, zero-padded:

  • XX — Major version (breaking changes)
  • YY — Minor version (new features, bumped on release to main)
  • ZZ — Patch version (auto-incremented on every push to dev/feature branches)

Rollover: patch 9900 increments minor; minor 9900 increments major.

Stability suffixes

Each branch appends a suffix to indicate stability:

Branch Suffix Example
main (none) 02.09.00
dev -dev 02.09.01-dev
feature/* -dev 02.09.01-dev
alpha -alpha 02.09.01-alpha
beta -beta 02.09.01-beta
rc -rc 02.09.01-rc

Auto version bump

On every push to dev, feature/*, or patch/*:

  1. Patch version incremented
  2. Stability suffix -dev applied
  3. All version-bearing files updated (manifests, CHANGELOG, PHP headers, etc.)
  4. Commit created with [skip ci] to avoid loops

Release version flow

Version bumps happen at specific release events:

Event Bump Example
Feature merged to dev Patch bump after dev release 02.09.01-dev → release → 02.09.02-dev
Dev promoted to RC Minor bump 02.09.02-dev02.10.00-rc
RC merged to main Minor bump 02.10.00-rc02.11.00 (stable)
Dev recreated from main Patch bump 02.11.0002.11.01-dev

Release stream copies

When a higher-stability release is published, copies are created for all lesser streams with the same base version:

  • RC 02.10.00-rc also creates: 02.10.00-dev, 02.10.00-alpha, 02.10.00-beta
  • Stable 02.11.00 also creates: 02.11.00-dev, 02.11.00-alpha, 02.11.00-beta, 02.11.00-rc

This ensures Joomla sites on ANY stability channel see the update (Joomla only shows versions higher than what's installed).

Version files

The version tools update all files containing version stamps:

  • .mokogitea/manifest.xml (canonical source)
  • Joomla XML manifests (<version> tag)
  • README.md, CHANGELOG.md (VERSION: pattern)
  • package.json, pyproject.toml
  • Any text file with a VERSION: XX.YY.ZZ label

Files synced from other repos (with a # REPO: header) are not touched.

Code Standards

  • PHP: PSR-12, tabs for indentation
  • Copyright: all files must include the Moko Consulting copyright header
  • License: SPDX identifier GPL-3.0-or-later (or as specified per repo)
  • Attribution: use Authored-by: Moko Consulting in commits, not individual names

Commit Messages

Use conventional commit format:

type(scope): short description

Optional body with context.

Authored-by: Moko Consulting

Types: feat, fix, chore, docs, style, refactor, test, ci

Special flags in commit messages:

  • [skip ci] — skip all CI workflows
  • [skip bump] — skip auto version bump only

Reporting Issues

Use the repository's issue tracker with the appropriate template.


Moko Consulting hello@mokoconsulting.tech

2026-06-07 19:34:12 +00:00
Languages
Go 78.3%
Handlebars 12.5%
TypeScript 4.3%
CSS 1.9%
JavaScript 1.6%
Other 1.3%