Moko Consulting

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

Tennessee
contributing/issue-guidelines.-

Issue Guidelines

How to file and manage issues in MokoConsulting repositories.

Label Taxonomy

Labels use colon-style naming: category: value

Priority

Label Color Description
priority: critical #e11d48 (red) Production down, data loss, security vulnerability
priority: high #f97316 (orange) Major feature broken, blocking work
priority: medium #eab308 (yellow) Important but not urgent
priority: low #3b82f6 (blue) Nice to have, minor improvement

Type

Label Description
type: bug Something is broken
type: feature New functionality
type: enhancement Improvement to existing feature
type: docs Documentation update
type: security Security-related issue
type: refactor Code improvement without behavior change
type: test Test coverage improvement

Area

Label Description
area: frontend UI, templates, CSS, JavaScript
area: backend PHP logic, models, controllers
area: api REST API endpoints
area: ci CI/CD workflows, build system
area: infra Infrastructure, deployment, servers
area: database Schema, migrations, queries

Status

Label Description
status: blocked Waiting on external dependency
status: wontfix Intentionally not addressing
status: duplicate Duplicate of another issue
status: needs-info Needs more information from reporter
status: ready Ready to be worked on

Bug Reports

Include:

  1. Steps to reproduce — exact sequence to trigger the bug
  2. Expected behavior — what should happen
  3. Actual behavior — what actually happens
  4. Environment — Joomla version, PHP version, browser
  5. Screenshots/logs — if applicable
## Bug Report

**Steps to reproduce:**
1. Go to Components > MokoSuiteBackup > Profiles
2. Click "New" to create a profile
3. Leave title empty and click Save

**Expected:** Validation error shown
**Actual:** Blank page with PHP error

**Environment:** Joomla 5.2.1, PHP 8.2.15, MySQL 8.0

Feature Requests

Include:

  1. Use case — what problem does this solve?
  2. Proposed solution — how should it work?
  3. Alternatives considered — other approaches evaluated
  4. Priority rationale — why is this important?

Issue Management

  • New issues triaged within 48 hours
  • Labels applied during triage
  • Linked to milestones when scheduled
  • Closed automatically by PR merge when using Closes #123