ae2860c3b5
Platform: moko-platform CI / Gate 2: Unit Tests (8.1) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.1) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 3: Self-Health Check (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 4: Governance (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 3: Self-Health Check (push) Blocked by required conditions
Platform: moko-platform CI / Gate 5: Template Integrity (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 4: Governance (push) Blocked by required conditions
Platform: moko-platform CI / CI Summary (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 5: Template Integrity (push) Blocked by required conditions
Platform: moko-platform CI / CI Summary (push) Blocked by required conditions
Generic: Repo Health / Release configuration (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
Universal: PR Check / Build RC Package (pull_request) Blocked by required conditions
Generic: Repo Health / Site Health (push) Has been skipped
Universal: PR Check / Branch Policy (pull_request) Successful in 6s
Generic: Repo Health / Access control (push) Successful in 9s
Universal: PR Check / Validate PR (pull_request) Failing after 10s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 22s
Universal: Auto Version Bump / Version Bump (push) Failing after 23s
Platform: moko-platform CI / Gate 1: Code Quality (push) Failing after 1m13s
Platform: moko-platform CI / Gate 1: Code Quality (pull_request) Failing after 1m17s
Authored-by: Moko Consulting Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
129 lines
5.5 KiB
Markdown
129 lines
5.5 KiB
Markdown
<!--
|
|
Copyright (C) 2026 Moko Consulting <hello@mokoconsulting.tech>
|
|
|
|
This file is part of a Moko Consulting project.
|
|
|
|
SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License (./LICENSE).
|
|
|
|
# FILE INFORMATION
|
|
DEFGROUP: {{DEFGROUP}}
|
|
INGROUP: Project.Documentation
|
|
REPO: https://git.mokoconsulting.tech/mokoconsulting-tech/{{REPO_NAME}}
|
|
VERSION: {{standards_version}}
|
|
PATH: ./CONTRIBUTING.md
|
|
BRIEF: How to contribute; branch strategy, commit conventions, PR workflow, and release pipeline
|
|
-->
|
|
|
|
# Contributing
|
|
|
|
Thank you for your interest in contributing to **{{REPO_NAME}}**!
|
|
|
|
This repository is governed by **[moko-platform](https://git.mokoconsulting.tech/MokoConsulting/moko-platform)** — the authoritative source of coding standards, workflows, and policies for all Moko Consulting repositories.
|
|
|
|
## Branch Strategy
|
|
|
|
| Branch | Purpose | Deploys To |
|
|
|--------|---------|------------|
|
|
| `main` | Bleeding edge — all development merges here | CI only |
|
|
| `dev/XX.YY.ZZ` | Feature development | Dev server (version: "development") |
|
|
| `version/XX` | Stable frozen snapshot | Demo + RS servers |
|
|
|
|
### Development Workflow
|
|
|
|
```
|
|
1. Create branch: git checkout -b dev/XX.YY.ZZ/my-feature
|
|
2. Develop + test (dev server auto-deploys on push)
|
|
3. Open PR → main (squash merge only)
|
|
4. Auto-release (version branch + tag + GitHub Release created automatically)
|
|
```
|
|
|
|
### Branch Naming
|
|
|
|
| Prefix | Use |
|
|
|--------|-----|
|
|
| `dev/XX.YY.ZZ` | Feature development (e.g., `dev/02.00.00/add-extrafields`) |
|
|
| `version/XX` | Stable release (auto-created, never manually pushed) |
|
|
| `chore/` | Automated sync branches (managed by moko-platform) |
|
|
|
|
> **Never use** `feature/`, `hotfix/`, or `release/` prefixes — they are not part of the moko-platform branch strategy.
|
|
|
|
## Commit Conventions
|
|
|
|
Use [conventional commits](https://www.conventionalcommits.org/):
|
|
|
|
```
|
|
feat(scope): add new extrafield for invoice tracking
|
|
fix(sql): correct column type in llx_mytable
|
|
docs(readme): update installation instructions
|
|
chore(deps): bump enterprise library to 04.02.30
|
|
```
|
|
|
|
**Valid types:** `feat` | `fix` | `docs` | `chore` | `ci` | `refactor` | `style` | `test` | `perf` | `revert` | `build`
|
|
|
|
## Pull Request Workflow
|
|
|
|
1. **Branch** from `main` using `dev/XX.YY.ZZ/description` format
|
|
2. **Bump** the patch version in `README.md` before opening the PR
|
|
3. **Title** must be a valid conventional commit subject line
|
|
4. **Target** `main` — squash merge only (merge commits are disabled)
|
|
5. **CI checks** must pass before merge
|
|
|
|
### What Happens on Merge
|
|
|
|
When your PR is merged to `main`, these workflows run automatically:
|
|
|
|
1. **sync-version-on-merge** — auto-bumps patch version, propagates to all file headers
|
|
2. **auto-release** — creates `version/XX` branch, git tag, and GitHub Release
|
|
3. **deploy-demo / deploy-rs** — deploys to demo and RS servers (if `src/**` changed)
|
|
|
|
## Coding Standards
|
|
|
|
All contributions must follow [moko-platform](https://git.mokoconsulting.tech/MokoConsulting/moko-platform):
|
|
|
|
| Standard | Reference |
|
|
|----------|-----------|
|
|
| Coding Style | [coding-style-guide.md](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/blob/main/docs/policy/coding-style-guide.md) |
|
|
| File Headers | [file-header-standards.md](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/blob/main/docs/policy/file-header-standards.md) |
|
|
| Branching | [branch-release-strategy.md](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/blob/main/docs/policy/branch-release-strategy.md) |
|
|
| Merge Strategy | [merge-strategy.md](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/blob/main/docs/policy/merge-strategy.md) |
|
|
| Scripting | [scripting-standards.md](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/blob/main/docs/policy/scripting-standards.md) |
|
|
| Build & Release | [build-release.md](https://git.mokoconsulting.tech/MokoConsulting/moko-platform/blob/main/docs/workflows/build-release.md) |
|
|
|
|
## PR Checklist
|
|
|
|
- [ ] Branch named `dev/XX.YY.ZZ/description`
|
|
- [ ] Patch version bumped in `README.md`
|
|
- [ ] Conventional commit format for PR title
|
|
- [ ] All new files have FILE INFORMATION headers
|
|
- [ ] `declare(strict_types=1)` in all PHP files
|
|
- [ ] PHPDoc on all public methods
|
|
- [ ] Tests pass
|
|
- [ ] CHANGELOG.md updated
|
|
- [ ] No secrets, tokens, or credentials committed
|
|
|
|
## Custom Workflows
|
|
|
|
Place repo-specific workflows in `.mokogitea/workflows/custom/` — they are **never overwritten or deleted** by moko-platform sync:
|
|
|
|
```
|
|
.mokogitea/workflows/
|
|
├── deploy-dev.yml ← Synced from moko-platform
|
|
├── auto-release.yml ← Synced from moko-platform
|
|
└── custom/ ← Your custom workflows (safe)
|
|
└── my-custom-ci.yml
|
|
```
|
|
|
|
## License
|
|
|
|
By contributing, you agree that your contributions will be licensed under the [GPL-3.0-or-later](LICENSE) license.
|
|
|
|
---
|
|
|
|
*This file is synced from [moko-platform](https://git.mokoconsulting.tech/MokoConsulting/moko-platform). Do not edit directly — changes will be overwritten on the next sync.*
|