Template
162 lines
4.6 KiB
Markdown
162 lines
4.6 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:
|
||
|
|
INGROUP: Project.Documentation
|
||
|
|
REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoStandards-Template-Generic
|
||
|
|
VERSION: 00.00.01
|
||
|
|
PATH: ./CONTRIBUTING.md
|
||
|
|
BRIEF: Contribution guidelines for the project
|
||
|
|
-->
|
||
|
|
|
||
|
|
# Contributing to MokoStandards-Template-Generic
|
||
|
|
|
||
|
|
We appreciate your interest in contributing to this project! This document provides guidelines for contributing.
|
||
|
|
|
||
|
|
## Table of Contents
|
||
|
|
|
||
|
|
- [Code of Conduct](#code-of-conduct)
|
||
|
|
- [Getting Started](#getting-started)
|
||
|
|
- [How to Contribute](#how-to-contribute)
|
||
|
|
- [Development Workflow](#development-workflow)
|
||
|
|
- [Commit Messages](#commit-messages)
|
||
|
|
- [Pull Request Process](#pull-request-process)
|
||
|
|
|
||
|
|
## Code of Conduct
|
||
|
|
|
||
|
|
This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to hello@mokoconsulting.tech.
|
||
|
|
|
||
|
|
## Getting Started
|
||
|
|
|
||
|
|
1. Fork the repository
|
||
|
|
2. Clone your fork locally
|
||
|
|
3. Set up the development environment
|
||
|
|
4. Create a new branch for your work
|
||
|
|
|
||
|
|
## How to Contribute
|
||
|
|
|
||
|
|
### Reporting Bugs
|
||
|
|
|
||
|
|
- Use the GitHub issue tracker
|
||
|
|
- Describe the bug clearly with steps to reproduce
|
||
|
|
- Include relevant logs, screenshots, or error messages
|
||
|
|
- Specify your environment (OS, version, etc.)
|
||
|
|
|
||
|
|
### Suggesting Enhancements
|
||
|
|
|
||
|
|
- Use the GitHub issue tracker
|
||
|
|
- Clearly describe the enhancement and its benefits
|
||
|
|
- Provide examples of how it would work
|
||
|
|
|
||
|
|
### Contributing Code
|
||
|
|
|
||
|
|
- Pick an issue or create one
|
||
|
|
- Fork the repository and create a branch
|
||
|
|
- Make your changes following the project conventions
|
||
|
|
- Write or update tests as needed
|
||
|
|
- Submit a pull request
|
||
|
|
|
||
|
|
## Development Workflow
|
||
|
|
|
||
|
|
1. Ensure your fork is up to date with the main repository
|
||
|
|
2. Create a feature branch from `main`
|
||
|
|
3. Make your changes
|
||
|
|
4. Test your changes thoroughly
|
||
|
|
5. Commit your changes with clear messages
|
||
|
|
6. Push to your fork
|
||
|
|
7. Create a pull request
|
||
|
|
|
||
|
|
## Commit Messages
|
||
|
|
|
||
|
|
Follow the conventional commit format:
|
||
|
|
|
||
|
|
```
|
||
|
|
<type>(<scope>): <subject>
|
||
|
|
|
||
|
|
<body>
|
||
|
|
|
||
|
|
<footer>
|
||
|
|
```
|
||
|
|
|
||
|
|
Types: `feat`, `fix`, `docs`, `style`, `refactor`, `test`, `chore`, `ci`, `build`, `perf`, `revert`
|
||
|
|
|
||
|
|
Example:
|
||
|
|
```
|
||
|
|
feat(docs): add contributing guidelines
|
||
|
|
|
||
|
|
Add comprehensive contributing guidelines to help new contributors
|
||
|
|
understand the development workflow and coding standards.
|
||
|
|
```
|
||
|
|
|
||
|
|
## Pull Request Process
|
||
|
|
|
||
|
|
1. Update documentation for any new features
|
||
|
|
2. Follow the project's coding style and conventions
|
||
|
|
3. Ensure all tests pass
|
||
|
|
4. Update the CHANGELOG.md with your changes
|
||
|
|
5. Request review from maintainers
|
||
|
|
6. Address any feedback promptly
|
||
|
|
7. Once approved, your PR will be merged
|
||
|
|
|
||
|
|
## Style Guidelines
|
||
|
|
|
||
|
|
- Follow the `.editorconfig` settings
|
||
|
|
- Use tabs for indentation (width: 2 spaces)
|
||
|
|
- Ensure files end with a newline
|
||
|
|
- Use LF line endings (except for Windows-specific files)
|
||
|
|
- Trim trailing whitespace (except in Markdown)
|
||
|
|
|
||
|
|
## Questions?
|
||
|
|
|
||
|
|
If you have questions about contributing, feel free to open an issue or contact the maintainers.
|
||
|
|
|
||
|
|
## Revision History
|
||
|
|
|
||
|
|
| Date | Version | Author | Notes |
|
||
|
|
| --- | --- | --- | --- |
|
||
|
|
| 2026-01-16 | 0.1.0 | Copilot | Initial contributing guidelines |
|
||
|
|
|
||
|
|
## Infrastructure Standards
|
||
|
|
|
||
|
|
All repositories in the MokoConsulting org follow these conventions:
|
||
|
|
|
||
|
|
### Release Tags
|
||
|
|
|
||
|
|
Every repo maintains 5 standard release channel tags:
|
||
|
|
|
||
|
|
- `development` - Active development builds
|
||
|
|
- `alpha` - Early internal testing
|
||
|
|
- `beta` - Broader testing / client UAT
|
||
|
|
- `release-candidate` - Final QA before production
|
||
|
|
- `stable` - Production release
|
||
|
|
|
||
|
|
### Branch Protection
|
||
|
|
|
||
|
|
- `main` is protected; only `jmiller` can push directly
|
||
|
|
- All other contributors must use pull requests
|
||
|
|
- PRs are automatically reviewed by Claude Code
|
||
|
|
|
||
|
|
### CI/CD
|
||
|
|
|
||
|
|
- Gitea Actions runs all CI workflows
|
||
|
|
- GitHub Actions are disabled on mirrored repos
|
||
|
|
- Workflows live in both `.github/workflows/` and `.gitea/workflows/`
|
||
|
|
|
||
|
|
### Update Servers (Joomla)
|
||
|
|
|
||
|
|
In manifest `<updateservers>`, Gitea must be priority 1, GitHub priority 2.
|
||
|
|
|
||
|
|
### Secrets
|
||
|
|
|
||
|
|
All repos have `GA_TOKEN` and `GH_TOKEN` as Actions secrets for API access.
|