Skip to content

Commit f4e515a

Browse files
[github] Add community health files and templates (#37) (#125)
* [github] Add community health files and templates (#37) * Update wiki submodule pointer for PR #125 * [github] Move community docs to repository root (#37) * [docs] Expand contributor guidance (#37) * [github] Refine pull request template (#37) --------- Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 2d90cbf commit f4e515a

10 files changed

Lines changed: 428 additions & 1 deletion

File tree

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Bug Report
2+
description: Report a reproducible problem in FastForward DevTools
3+
title: "[bug] "
4+
labels:
5+
- bug
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Thanks for taking the time to report a problem. Please provide enough
11+
detail for us to reproduce it.
12+
- type: textarea
13+
id: summary
14+
attributes:
15+
label: Summary
16+
description: What is going wrong?
17+
placeholder: Describe the failure in one or two sentences.
18+
validations:
19+
required: true
20+
- type: textarea
21+
id: steps
22+
attributes:
23+
label: Steps to Reproduce
24+
description: Tell us exactly how to reproduce the issue.
25+
placeholder: |
26+
1. Run ...
27+
2. Edit ...
28+
3. Observe ...
29+
validations:
30+
required: true
31+
- type: textarea
32+
id: expected
33+
attributes:
34+
label: Expected Behavior
35+
placeholder: Describe what you expected to happen.
36+
validations:
37+
required: true
38+
- type: textarea
39+
id: actual
40+
attributes:
41+
label: Actual Behavior
42+
placeholder: Describe what happened instead, including error output.
43+
validations:
44+
required: true
45+
- type: textarea
46+
id: environment
47+
attributes:
48+
label: Environment
49+
description: Share the relevant runtime details.
50+
placeholder: |
51+
- PHP version:
52+
- Composer version:
53+
- fast-forward/dev-tools version:
54+
- OS:
55+
validations:
56+
required: true
57+
- type: textarea
58+
id: additional-context
59+
attributes:
60+
label: Additional Context
61+
description: Logs, screenshots, related links, or anything else helpful.

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Documentation
4+
url: https://php-fast-forward.github.io/dev-tools/
5+
about: Check the published documentation before opening a support request.
6+
- name: Support
7+
url: https://github.com/php-fast-forward/dev-tools/blob/main/SUPPORT.md
8+
about: Learn which channel to use for questions, bugs, and feature ideas.
9+
- name: Security
10+
url: https://github.com/php-fast-forward/dev-tools/blob/main/SECURITY.md
11+
about: Report vulnerabilities privately instead of using public issues.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Feature Request
2+
description: Propose an improvement for FastForward DevTools
3+
title: "[feature] "
4+
labels:
5+
- enhancement
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Thanks for suggesting an improvement. Help us understand the problem
11+
before jumping to the solution.
12+
- type: textarea
13+
id: problem
14+
attributes:
15+
label: Problem
16+
description: What limitation or pain point are you trying to solve?
17+
placeholder: Describe the current limitation.
18+
validations:
19+
required: true
20+
- type: textarea
21+
id: proposal
22+
attributes:
23+
label: Proposed Solution
24+
description: What would you like to happen?
25+
placeholder: Describe the desired behavior or workflow.
26+
validations:
27+
required: true
28+
- type: textarea
29+
id: alternatives
30+
attributes:
31+
label: Alternatives Considered
32+
description: What other approaches have you considered?
33+
placeholder: Describe alternatives, workarounds, or why the current options are insufficient.
34+
validations:
35+
required: false
36+
- type: textarea
37+
id: additional-context
38+
attributes:
39+
label: Additional Context
40+
description: Examples, linked issues, screenshots, or related repositories.

.github/pull_request_template.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
## Related Issue
2+
3+
Closes #
4+
5+
## Motivation / Context
6+
7+
-
8+
9+
## Changes
10+
11+
-
12+
13+
## Verification
14+
15+
- [ ] `composer dev-tools`
16+
- [ ] Focused command(s):
17+
- [ ] Manual verification:
18+
19+
## Documentation / Generated Output
20+
21+
- [ ] README updated
22+
- [ ] `docs/` updated
23+
- [ ] Generated or synchronized output reviewed
24+
25+
## Changelog
26+
27+
- [ ] Added a notable `CHANGELOG.md` entry
28+
29+
## Reviewer Notes
30+
31+
-

.github/wiki

Submodule wiki updated from 244a89c to a4cb5e6

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Added
11+
12+
- Add community health files plus issue and pull request templates for contributors (#37)
13+
1014
### Changed
1115

1216
- Document required GitHub Actions permissions for changelog release automation (#118)

CODE_OF_CONDUCT.md

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
We as members, contributors, and maintainers pledge to make participation in
6+
our community a harassment-free experience for everyone, regardless of age,
7+
body size, visible or invisible disability, ethnicity, sex characteristics,
8+
gender identity and expression, level of experience, education,
9+
socio-economic status, nationality, personal appearance, race, religion, or
10+
sexual identity and orientation.
11+
12+
We pledge to act and interact in ways that contribute to an open, welcoming,
13+
diverse, inclusive, and healthy community.
14+
15+
## Our Standards
16+
17+
Examples of behavior that contributes to a positive environment for our
18+
community include:
19+
20+
- Demonstrating empathy and kindness toward other people
21+
- Being respectful of differing opinions, viewpoints, and experiences
22+
- Giving and gracefully accepting constructive feedback
23+
- Taking responsibility and apologizing to those affected by our mistakes,
24+
then learning from the experience
25+
- Focusing on what is best not just for us as individuals, but for the
26+
overall community
27+
28+
Examples of unacceptable behavior include:
29+
30+
- The use of sexualized language or imagery, and sexual attention or
31+
advances of any kind
32+
- Trolling, insulting or derogatory comments, and personal or political
33+
attacks
34+
- Public or private harassment
35+
- Publishing others' private information, such as a physical or email
36+
address, without their explicit permission
37+
- Other conduct which could reasonably be considered inappropriate in a
38+
professional setting
39+
40+
## Enforcement Responsibilities
41+
42+
Community leaders are responsible for clarifying and enforcing our standards
43+
of acceptable behavior and will take appropriate and fair corrective action
44+
in response to any behavior that they deem inappropriate, threatening,
45+
offensive, or harmful.
46+
47+
Community leaders have the right and responsibility to remove, edit, or
48+
reject comments, commits, code, wiki edits, issues, and other contributions
49+
that are not aligned to this Code of Conduct, and will communicate reasons
50+
for moderation decisions when appropriate.
51+
52+
## Scope
53+
54+
This Code of Conduct applies within all community spaces and also applies
55+
when an individual is officially representing the community in public spaces.
56+
Examples of representing our community include using an official email
57+
address, posting via an official social media account, or acting as an
58+
appointed representative at an online or offline event.
59+
60+
## Enforcement
61+
62+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
63+
reported to the project maintainers at
64+
[github@mentordosnerds.com](mailto:github@mentordosnerds.com). All complaints
65+
will be reviewed and investigated promptly and fairly.
66+
67+
All community leaders are obligated to respect the privacy and security of
68+
the reporter of any incident.
69+
70+
## Enforcement Guidelines
71+
72+
Community leaders will follow these Community Impact Guidelines in
73+
determining the consequences for any action they deem in violation of this
74+
Code of Conduct:
75+
76+
### 1. Correction
77+
78+
**Community Impact**: Use of inappropriate language or other behavior deemed
79+
unprofessional or unwelcome in the community.
80+
81+
**Consequence**: A private, written warning from community leaders, providing
82+
clarity around the nature of the violation and an explanation of why the
83+
behavior was inappropriate. A public apology may be requested.
84+
85+
### 2. Warning
86+
87+
**Community Impact**: A violation through a single incident or series of
88+
actions.
89+
90+
**Consequence**: A warning with consequences for continued behavior. No
91+
interaction with the people involved, including unsolicited interaction with
92+
those enforcing the Code of Conduct, for a specified period of time. This
93+
includes avoiding interactions in community spaces as well as external
94+
channels like social media. Violating these terms may lead to a temporary or
95+
permanent ban.
96+
97+
### 3. Temporary Ban
98+
99+
**Community Impact**: A serious violation of community standards, including
100+
sustained inappropriate behavior.
101+
102+
**Consequence**: A temporary ban from any sort of interaction or public
103+
communication with the community for a specified period of time. No public or
104+
private interaction with the people involved, including unsolicited
105+
interaction with those enforcing the Code of Conduct, is allowed during this
106+
period. Violating these terms may lead to a permanent ban.
107+
108+
### 4. Permanent Ban
109+
110+
**Community Impact**: Demonstrating a pattern of violation of community
111+
standards, including sustained inappropriate behavior, harassment of an
112+
individual, or aggression toward or disparagement of classes of individuals.
113+
114+
**Consequence**: A permanent ban from any sort of public interaction within
115+
the community.
116+
117+
## Attribution
118+
119+
This Code of Conduct is adapted from the
120+
[Contributor Covenant](https://www.contributor-covenant.org/), version 2.1,
121+
available at
122+
<https://www.contributor-covenant.org/version/2/1/code_of_conduct.html>.
123+
124+
Community Impact Guidelines were inspired by
125+
[Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity).

CONTRIBUTING.md

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# Contributing to FastForward DevTools
2+
3+
Thanks for helping improve FastForward DevTools.
4+
5+
## Getting Started
6+
7+
1. Fork the repository and create a branch from `main`.
8+
2. Install dependencies:
9+
10+
```bash
11+
composer install
12+
```
13+
14+
3. Run the standard project gate:
15+
16+
```bash
17+
composer dev-tools
18+
```
19+
20+
4. Read the project guidance before making structural changes:
21+
22+
- `README.md` for the public command surface and contributor workflow
23+
- `docs/` for the generated-user documentation structure
24+
- `AGENTS.md` for repository-specific engineering patterns, project agents,
25+
and skill usage
26+
27+
## Development Workflow
28+
29+
Use the Composer commands exposed by the package during normal development:
30+
31+
```bash
32+
composer dev-tools
33+
composer dev-tools:fix
34+
composer dev-tools tests
35+
composer dev-tools docs
36+
composer dev-tools:sync
37+
```
38+
39+
Focused checks are fine while iterating, but please run the relevant
40+
verification for the files you changed before opening a pull request.
41+
42+
If you contribute with Codex or project agents, prefer the packaged workflow
43+
helpers that already exist in this repository:
44+
45+
- `.agents/skills/github-pull-request/` for issue-to-branch-to-PR flow
46+
- `.agents/skills/github-issues/` for issue drafting and updates
47+
- `.agents/skills/phpunit-tests/` for focused PHPUnit coverage work
48+
- `.agents/skills/phpdoc-code-style/` for PHPDoc and repository PHP style
49+
- `.agents/skills/package-readme/` and `.agents/skills/sphinx-docs/` for
50+
README and `docs/` updates
51+
- `.agents/agents/` for repository-specific role prompts such as
52+
`docs-writer`, `readme-maintainer`, `consumer-sync-auditor`, and
53+
`changelog-maintainer`
54+
55+
## Coding Standards
56+
57+
- Follow the repository PHP style and architecture patterns already in `src/`
58+
and `tests/`.
59+
- Keep command classes focused on orchestration and move non-trivial logic
60+
into dedicated collaborators.
61+
- Update documentation when a change affects commands, workflows, generated
62+
outputs, or consumer onboarding.
63+
- Respect the current command bootstrapping and dependency-injection patterns
64+
described in `AGENTS.md` and `docs/internals/architecture.rst`.
65+
- Keep generated or synchronized surfaces consistent when a change affects
66+
workflows, wiki output, consumer sync assets, or packaged skills.
67+
68+
## Changelog Expectations
69+
70+
Notable pull requests are expected to add an entry to `CHANGELOG.md`.
71+
72+
Typical flow:
73+
74+
```bash
75+
composer changelog:entry --type=changed "Describe the notable change (#123)"
76+
composer changelog:check --against=origin/main
77+
```
78+
79+
## Pull Request Process
80+
81+
- Use the title format `[area] Brief description (#issue-number)` whenever an
82+
issue exists.
83+
- Fill in the pull request template completely.
84+
- Link the issue with `Closes #123` style wording in the PR body.
85+
- Include the commands you ran to verify the change.
86+
87+
## Reporting Problems
88+
89+
- Bugs and feature ideas should use the GitHub issue templates.
90+
- Security issues must not be reported publicly. Please follow
91+
[`SECURITY.md`](SECURITY.md).
92+
- General help requests should follow [`SUPPORT.md`](SUPPORT.md).

0 commit comments

Comments
 (0)