Skip to content

Add a label-sync workflow so all public repos share one label taxonomy #1

Description

@textconvo-admin

Goal

Every public repo in the textconvo org should carry the same label set. Today each repo still has GitHub's nine default labels, which looks unmanaged next to Stripe/Twilio/Vercel-style orgs.

Build a scheduled + manually triggerable GitHub Actions workflow in this repo (textconvo/.github) that pushes one canonical label list out to every public repo.

Requirements

  1. Create .github/labels.yml as the single source of truth. Each entry: name, color (hex, no #), description.
  2. Create .github/workflows/label-sync.yml:
    • triggers: workflow_dispatch, schedule (weekly, e.g. 0 6 * * 1), and push on main limited to paths: [.github/labels.yml]
    • a matrix over the target repos listed below
    • use EndBug/label-sync@v2 with config-file pointed at the raw labels.yml in this repo, delete-other-labels: true, and repository: textconvo/${{ matrix.repo }}
    • auth via ${{ secrets.LABEL_SYNC_TOKEN }} — a fine-grained PAT with Issues: read and write on the org repos. Never commit a token.
    • permissions: block scoped to contents: read only
    • concurrency group so overlapping runs cancel
    • continue-on-error: false, but fail-fast: false on the matrix so one bad repo does not block the rest
  3. Add a short section to this repo's README explaining how to add a repo to the matrix and how to rotate LABEL_SYNC_TOKEN.

Target repos

.github
awesome-textconvo
terraform-examples
textconvo-api-examples
textconvo-dotnet-sdk
textconvo-go-sdk
textconvo-java-sdk
textconvo-node-sdk
textconvo-openapi
textconvo-postman
textconvo-python-sdk
textconvo-sample-apps
textconvo-webhooks

Proposed label taxonomy

Type: type: bug, type: feature, type: docs, type: question, type: security, type: chore

Area: area: api-examples, area: openapi, area: postman, area: webhooks, area: sdk, area: sample-apps, area: ci

Language: lang: curl, lang: javascript, lang: typescript, lang: python, lang: go, lang: java, lang: csharp, lang: php

Status: status: needs triage, status: needs info, status: confirmed, status: in progress, status: blocked

Resolution: resolution: duplicate, resolution: wontfix, resolution: invalid, resolution: stale

Community: good first issue, help wanted

Priority: priority: p0, priority: p1, priority: p2

Pick a consistent colour family per prefix (one hue per group) and keep descriptions under 100 characters.

Constraints

  • No production code, no internal architecture, no secrets, no infrastructure details in anything you add.
  • Do not duplicate documentation that lives on https://textconvo.ai — link to it instead.
  • Keep the workflow readable; comment the non-obvious parts.

Acceptance criteria

  • labels.yml and label-sync.yml exist and the workflow parses
  • workflow_dispatch run succeeds against all 13 repos
  • The nine GitHub default labels are gone from every repo
  • README documents the process and the required secret

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions