Skip to content

chore: bootstrap contributor onboarding (issue templates, labels, roadmap)#22

Merged
hoainho merged 1 commit into
mainfrom
chore/contributor-onboarding-foundation
Jul 3, 2026
Merged

chore: bootstrap contributor onboarding (issue templates, labels, roadmap)#22
hoainho merged 1 commit into
mainfrom
chore/contributor-onboarding-foundation

Conversation

@hoainho

@hoainho hoainho commented Jun 1, 2026

Copy link
Copy Markdown
Owner

Summary

Bootstraps the contributor-onboarding foundation OhMyPerf needs to convert visitors into stars/forks/PRs. No code or behaviour changes — pure scaffolding + a 1-line package.json bug fix.

Surfaces touched

  • CI / tooling (.github/, scripts/)
  • Documentation (SUPPORT.md, ROADMAP.md, LABELS.md, docs/*-PROPOSAL.md)
  • package.jsonbugs.url typo fix only (no version bump, no dep change)

No packages/core/ impact. No surface contract change.

What ships

Issue intake (raises bar from "free text" to "structured triage"):

  • .github/ISSUE_TEMPLATE/bug_report.yml — required fields: version, surface (multi-select), Node version, OS, repro, actual, expected
  • .github/ISSUE_TEMPLATE/feature_request.yml — problem / proposal / surface / alternatives / OpenSpec willingness
  • .github/ISSUE_TEMPLATE/question.yml — minimal, points to Discussions
  • .github/ISSUE_TEMPLATE/config.yml — disables blank issues, links to Discussions + security advisories + hosted viewer

Funding + governance:

  • .github/FUNDING.yml — GitHub Sponsors enabled, other platforms commented out until verified
  • .github/CODE_OF_CONDUCT.md — Contributor Covenant 2.1 (standard, expected by Linux Foundation programs / Hacktoberfest / GitHub's "community standards")
  • SUPPORT.md — channel routing matrix; reduces "how do I report X" friction

Roadmap + label system:

  • ROADMAP.md — Q2/Q3/Q4 2026 milestones + "Considering" + "How to influence" sections
  • LABELS.md — 36-label taxonomy: type/*, area/*, priority/*, status/*, plus recruiting labels (good-first-issue, help-wanted, mentor-available, hacktoberfest)
  • scripts/setup-labels.sh — idempotent bash script that creates or updates all 36 labels via gh CLI. Run once: ./scripts/setup-labels.sh

Contributor recruitment material:

  • .github/GOOD_FIRST_ISSUES.md — 15 ready-to-open issue drafts (sized 1-4h each) + 5 larger help-wanted issues, each with acceptance criteria + hints + difficulty rating + suggested labels

Proposals (not applied — owner reviews):

  • docs/README-HERO-PROPOSAL.md — README hero rewrite lifting MCP angle to top + badge row + GIF placeholder
  • docs/CONTRIBUTING-ADDITIONS-PROPOSAL.md — "Your first PR" walkthrough + coding conventions + rejection criteria

Bug fix:

  • package.json: bugs.url was pointing at github.com/ohmyperf/ohmyperf/issues (non-existent org). Now correctly points at github.com/hoainho/ohmyperf/issues. npm bugs @ohmyperf/cli now resolves.

Verification

  • npm pkg get bugs.url"https://github.com/hoainho/ohmyperf/issues"
  • Issue forms render correctly in GitHub UI when branch is checked out (verified by manually visiting the ?template=bug_report.yml URL on the branch).
  • scripts/setup-labels.sh hoainho/ohmyperf runs idempotently (create-or-update logic, no destructive deletes).

Recommended next steps after merge

  1. Run ./scripts/setup-labels.sh hoainho/ohmyperf once.
  2. Open the 15 good-first-issues from .github/GOOD_FIRST_ISSUES.md (copy/paste each block as a new issue, apply the suggested labels).
  3. Open the 5 help-wanted issues.
  4. Review docs/README-HERO-PROPOSAL.md and decide whether to apply the hero rewrite as a follow-up PR.
  5. Review docs/CONTRIBUTING-ADDITIONS-PROPOSAL.md and merge the additions into the existing CONTRIBUTING.md if approved.
  6. Enable GitHub Discussions if not already on.

Out of scope (separate PRs)

  • README rewrite (proposed, not applied)
  • CONTRIBUTING.md merge (proposed, not applied)
  • Demo GIF recording
  • Cross-repo PR campaign (separate marketing workstream)

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds essential community and project files, including a Code of Conduct, a roadmap, issue templates, support guidelines, and a label setup script. The review feedback points out several areas for improvement: dynamically resolving the repository name in the label setup script to support external forks, correcting a reference to a non-existent package path in the 'Good First Issues' backlog, and fixing a broken relative link to the roadmap in the feature request template.

Comment thread scripts/setup-labels.sh
Comment on lines +4 to +9
REPO="${1:-hoainho/ohmyperf}"

if ! command -v gh >/dev/null 2>&1; then
echo "ERROR: gh CLI not found. Install from https://cli.github.com/" >&2
exit 1
fi

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Hardcoding the default repository to hoainho/ohmyperf will cause the script to fail with permission errors for any external contributor running it on their fork without arguments. We can dynamically resolve the current repository using the gh CLI, falling back to an error if it cannot be resolved.

Suggested change
REPO="${1:-hoainho/ohmyperf}"
if ! command -v gh >/dev/null 2>&1; then
echo "ERROR: gh CLI not found. Install from https://cli.github.com/" >&2
exit 1
fi
REPO="${1:-}"
if ! command -v gh >/dev/null 2>&1; then
echo "ERROR: gh CLI not found. Install from https://cli.github.com/" >&2
exit 1
fi
if [ -z "$REPO" ]; then
REPO=$(gh repo view --json nameWithOwner -q .nameWithOwner 2>/dev/null || echo "")
fi
if [ -z "$REPO" ]; then
echo "ERROR: Could not resolve repository. Please run inside a git repository or pass the repository as an argument (e.g. owner/repo)." >&2
exit 1
fi

Comment on lines +233 to +234
**Hints.**
- Schema source-of-truth: `packages/shared-types/src/report.schema.json`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The path packages/shared-types/src/report.schema.json references a non-existent package. According to the package list and test suite in README.md, there is no @ohmyperf/shared-types or packages/shared-types workspace. Please update this hint to point to the correct location of the report schema (e.g., within packages/core or wherever the schema is defined).

attributes:
label: Pre-flight
options:
- label: I searched [existing issues](https://github.com/hoainho/ohmyperf/issues?q=is%3Aissue) and the [roadmap](../ROADMAP.md)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The relative link ../ROADMAP.md will not resolve correctly when the issue template is rendered on GitHub (it will point to a 404). Please use an absolute URL or a repository-relative URL instead, such as https://github.com/hoainho/ohmyperf/blob/main/ROADMAP.md.

…dmap)

Adds the foundation contributors expect before opening a PR:

- .github/ISSUE_TEMPLATE/ — bug, feature, question forms with structured fields
- .github/FUNDING.yml — GitHub Sponsors
- .github/CODE_OF_CONDUCT.md — Contributor Covenant 2.1
- .github/GOOD_FIRST_ISSUES.md — 15 ready-to-open issue drafts + 5 help-wanted
- SUPPORT.md — channel routing for users
- ROADMAP.md — quarterly milestones tied to OpenSpec changes
- LABELS.md + scripts/setup-labels.sh — 36-label taxonomy via gh CLI
- docs/CONTRIBUTING-ADDITIONS-PROPOSAL.md — first-PR walkthrough
- docs/README-HERO-PROPOSAL.md — README hero rewrite proposal

Also fixes package.json bugs.url which was pointing at github.com/ohmyperf/ohmyperf
(non-existent org) instead of github.com/hoainho/ohmyperf. `npm bugs @ohmyperf/cli`
now resolves correctly.

No code changes. No surface impact. Behaviour unchanged.
@hoainho
hoainho force-pushed the chore/contributor-onboarding-foundation branch from f81e1cf to 66f0d19 Compare July 3, 2026 04:25
@hoainho
hoainho merged commit 0b30f3c into main Jul 3, 2026
2 of 13 checks passed
@hoainho
hoainho deleted the chore/contributor-onboarding-foundation branch July 3, 2026 04:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant