Skip to content

chore: update repo-platform template to staging@70c478026855 - #90

Merged
Vivswan merged 1 commit into
mainfrom
automation/repo-platform-staging
Aug 5, 2026
Merged

chore: update repo-platform template to staging@70c478026855#90
Vivswan merged 1 commit into
mainfrom
automation/repo-platform-staging

Conversation

@Vivswan

@Vivswan Vivswan commented Aug 4, 2026

Copy link
Copy Markdown
Owner

Automated template update from Vivswan/repo-platform (staging channel).

  • Previous: facc3d6
  • New: staging@70c478026855

Review any merge conflicts and confirm repository-local sections were preserved before merging.

Note

This branch is regenerated on every sync run; manual commits
pushed to it are overwritten. Make fixes in a separate branch or
after merging.

Warning

copier hit merge conflicts, resolved below in favor of the
template where possible. Restore any dropped local lines that
should stay, and hand-edit anything marked unresolved, before
merging.

CONTRIBUTING.md

Conflict 1: dropped local lines (template version kept):

# Contributing

Thanks for helping improve Cloud Speech!

## Setup

```bash
git clone https://github.com/vivswan/cloud-speech
cd cloud-speech
bun install
bun run dev        # extension dev (browser opens) + website on localhost:5173
```

`bun run dev:extension` runs the extension alone with interactive WXT keys;
`bun run dev:web` runs only the website.

## Before you open a PR

All of these must pass; CI gates on them via the single `all-green` check:

```bash
bun run typecheck      # strict TypeScript, both apps
bun run check          # biome lint + format, YAML style (check:fix auto-fixes)
bun run test:coverage  # vitest unit tests with coverage thresholds
bun run build:chrome && bun run build:firefox  # both browser builds must succeed
```

CI runs these via the repo-owned `.github/workflows/checks.yml`, inside the
managed `ci.yml` gate from [repo-platform](https://github.com/vivswan/repo-platform),
which also checks typography (plain ASCII punctuation only), YAML style,
workflow lint, and CodeQL.

PR titles AND commit subjects must follow
[Conventional Commits](https://www.conventionalcommits.org/)
(`feat:`, `fix:`, `docs:`, `chore:`, and so on). PRs are squash-merged, and the
title becomes the commit that drives release-please versioning. `feat!:` and
`fix!:` denote breaking changes.

## Project layout

- `apps/extension`: the WXT extension (see `AGENTS.md` for architecture)
- `apps/web`: the website with setup guides, pricing, troubleshooting, and the
  privacy policy (Astro, GitHub Pages)
- `sources/`: the original single-provider forks, kept as read-only reference

## Adding a TTS provider

The whole point of the architecture: a provider is one file.

1. Create `apps/extension/src/providers/<id>.ts` implementing `TtsProvider`
   (see `types.ts`; `google.ts` is a good REST example, `polly.ts` an SDK one).
2. Register it with one line in `apps/extension/src/providers/index.ts`.
3. Add its strings to all four locales in `apps/extension/src/locales/`.
4. Add a setup guide page at `apps/web/src/pages/setup/<id>.astro` (copy an
   existing one; Astro routes pages by file path, so there is nothing to
   register).
5. Add `buildSsml`/normalization tests under `apps/extension/tests/providers/`.

No provider-specific code goes anywhere else; the UI, storage, and playback
are registry-driven.

## Localization

Every user-facing string needs a key in `en.yml`, `hi.yml`, `zh_CN.yml`, and
`zh_TW.yml`. The build fails on missing keys in the default locale; please keep
the other three in sync rather than leaving English fallbacks.

## Releases (maintainers)

Merging the rolling release-please PR tags a version, builds the chrome and
firefox zips (plus the AMO-required sources zip) from the tag and attaches them
to the GitHub release, and publishes the single chrome zip to every Chrome Web
Store listing ID and the firefox zip to addons.mozilla.org (each skipped until
its secrets are configured); see `.github/workflows/release.yml`. The website
redeploys on the release via the managed `pages.yml` (production root from the
release tag; every push to main also publishes a preview under `/staging/`).

Copilot AI lite review requested due to automatic review settings August 4, 2026 07:16
@github-actions github-actions Bot added the fix-lint Lint / formatting fixes label Aug 4, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Template-sync PR updating this repository to Vivswan/repo-platform staging 70c478026855, refreshing managed community/CI/security automation files.

Changes:

  • Replaces CONTRIBUTING.md with the managed template header + preserves a local-content marker (but local contributing guidance is currently missing below it).
  • Updates the managed CI gate workflow (gitleaks action bump, adds dependency review, adds a release-please freshness check).
  • Adds/refreshes baseline community & security configuration (Contributor Covenant CoC, repo settings flags, copier template pin).

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
CONTRIBUTING.md Swaps to managed contributing template and adds local-section marker (currently missing the repo-specific content below it).
CODE_OF_CONDUCT.md Adds Contributor Covenant Code of Conduct file.
.github/workflows/dependabot-bun-lockfile.yml Comment reflow (no functional change expected).
.github/workflows/ci.yml Updates gate jobs (gitleaks action, dependency review, release freshness check).
.github/settings.yml Enables secret scanning + push protection in managed settings.
.copier-answers.yml Updates tracked template commit reference to the new staging revision.

Comment thread CONTRIBUTING.md
Comment on lines +40 to +42
<!-- Repository-specific contributing documentation (dev setup, build and
test commands, review expectations) goes below this line. It survives
template updates via three-way merge. -->
Comment thread .github/workflows/ci.yml
Comment on lines +160 to +167
run: |
tip="$(git rev-parse "origin/${GITHUB_BASE_REF}")"
if git merge-base --is-ancestor "$tip" HEAD; then
echo "release PR contains the ${GITHUB_BASE_REF} tip (${tip})"
else
echo "::error::Release PR is behind ${GITHUB_BASE_REF} (tip ${tip}); its version and changelog would miss commits already on ${GITHUB_BASE_REF}. Do not merge; release-please refreshes the PR after the next green run on ${GITHUB_BASE_REF}."
exit 1
fi
@Vivswan
Vivswan merged commit 13be777 into main Aug 5, 2026
1 check passed
@Vivswan
Vivswan deleted the automation/repo-platform-staging branch August 5, 2026 06:26
Vivswan added a commit that referenced this pull request Aug 5, 2026
The repo-platform sync (#90) seeded the fleet-wide CONTRIBUTING.md,
which conflicted with the hand-written one; copier resolved toward the
template, dropping the local content into the PR body. Restore the
repo-specific sections below the template's marker so future three-way
merges preserve them, and refresh them while here: the pre-PR command
list now matches everything checks.yml gates, the layout lists the
packages/* workspaces, and the provider checklist covers the roster
wiring that roster-sync.test.ts enforces.
Vivswan added a commit that referenced this pull request Aug 9, 2026
Automated template update from
[`Vivswan/repo-platform`](https://github.com/Vivswan/repo-platform/tree/staging)
(staging channel).

- Previous: `facc3d6`
- New: `staging@70c478026855`

Review any merge conflicts and confirm repository-local sections were
preserved before merging.

> [!NOTE]
> This branch is regenerated on every sync run; manual commits
> pushed to it are overwritten. Make fixes in a separate branch or
> after merging.

> [!WARNING]
> copier hit merge conflicts, resolved below in favor of the
> template where possible. Restore any dropped local lines that
> should stay, and hand-edit anything marked unresolved, before
> merging.

#### `CONTRIBUTING.md`

Conflict 1: dropped local lines (template version kept):

````
# Contributing

Thanks for helping improve Cloud Speech!

## Setup

```bash
git clone https://github.com/vivswan/cloud-speech
cd cloud-speech
bun install
bun run dev # extension dev (browser opens) + website on localhost:5173
```

`bun run dev:extension` runs the extension alone with interactive WXT keys;
`bun run dev:web` runs only the website.

## Before you open a PR

All of these must pass; CI gates on them via the single `all-green` check:

```bash
bun run typecheck      # strict TypeScript, both apps
bun run check # biome lint + format, YAML style (check:fix auto-fixes)
bun run test:coverage  # vitest unit tests with coverage thresholds
bun run build:chrome && bun run build:firefox # both browser builds must
succeed
```

CI runs these via the repo-owned `.github/workflows/checks.yml`, inside the
managed `ci.yml` gate from [repo-platform](https://github.com/vivswan/repo-platform),
which also checks typography (plain ASCII punctuation only), YAML style,
workflow lint, and CodeQL.

PR titles AND commit subjects must follow
[Conventional Commits](https://www.conventionalcommits.org/)
(`feat:`, `fix:`, `docs:`, `chore:`, and so on). PRs are squash-merged, and the
title becomes the commit that drives release-please versioning. `feat!:` and
`fix!:` denote breaking changes.

## Project layout

- `apps/extension`: the WXT extension (see `AGENTS.md` for architecture)
- `apps/web`: the website with setup guides, pricing, troubleshooting, and the
  privacy policy (Astro, GitHub Pages)
- `sources/`: the original single-provider forks, kept as read-only reference

## Adding a TTS provider

The whole point of the architecture: a provider is one file.

1. Create `apps/extension/src/providers/<id>.ts` implementing `TtsProvider`
   (see `types.ts`; `google.ts` is a good REST example, `polly.ts` an SDK one).
2. Register it with one line in `apps/extension/src/providers/index.ts`.
3. Add its strings to all four locales in `apps/extension/src/locales/`.
4. Add a setup guide page at `apps/web/src/pages/setup/<id>.astro` (copy an
   existing one; Astro routes pages by file path, so there is nothing to
   register).
5. Add `buildSsml`/normalization tests under `apps/extension/tests/providers/`.

No provider-specific code goes anywhere else; the UI, storage, and playback
are registry-driven.

## Localization

Every user-facing string needs a key in `en.yml`, `hi.yml`, `zh_CN.yml`, and
`zh_TW.yml`. The build fails on missing keys in the default locale; please keep
the other three in sync rather than leaving English fallbacks.

## Releases (maintainers)

Merging the rolling release-please PR tags a version, builds the chrome and
firefox zips (plus the AMO-required sources zip) from the tag and attaches them
to the GitHub release, and publishes the single chrome zip to every Chrome Web
Store listing ID and the firefox zip to addons.mozilla.org (each skipped until
its secrets are configured); see `.github/workflows/release.yml`. The website
redeploys on the release via the managed `pages.yml` (production root from the
release tag; every push to main also publishes a preview under `/staging/`).
````

Co-authored-by: repo-platform-sync <repo-platform-sync@users.noreply.github.com>
Vivswan added a commit that referenced this pull request Aug 9, 2026
The repo-platform sync (#90) seeded the fleet-wide CONTRIBUTING.md,
which conflicted with the hand-written one; copier resolved toward the
template, dropping the local content into the PR body. Restore the
repo-specific sections below the template's marker so future three-way
merges preserve them, and refresh them while here: the pre-PR command
list now matches everything checks.yml gates, the layout lists the
packages/* workspaces, and the provider checklist covers the roster
wiring that roster-sync.test.ts enforces.
Vivswan added a commit that referenced this pull request Aug 9, 2026
Automated template update from
[`Vivswan/repo-platform`](https://github.com/Vivswan/repo-platform/tree/staging)
(staging channel).

- Previous: `facc3d6`
- New: `staging@70c478026855`

Review any merge conflicts and confirm repository-local sections were
preserved before merging.

> [!NOTE]
> This branch is regenerated on every sync run; manual commits
> pushed to it are overwritten. Make fixes in a separate branch or
> after merging.

> [!WARNING]
> copier hit merge conflicts, resolved below in favor of the
> template where possible. Restore any dropped local lines that
> should stay, and hand-edit anything marked unresolved, before
> merging.

#### `CONTRIBUTING.md`

Conflict 1: dropped local lines (template version kept):

````
# Contributing

Thanks for helping improve Cloud Speech!

## Setup

```bash
git clone https://github.com/vivswan/cloud-speech
cd cloud-speech
bun install
bun run dev # extension dev (browser opens) + website on localhost:5173
```

`bun run dev:extension` runs the extension alone with interactive WXT keys;
`bun run dev:web` runs only the website.

## Before you open a PR

All of these must pass; CI gates on them via the single `all-green` check:

```bash
bun run typecheck      # strict TypeScript, both apps
bun run check # biome lint + format, YAML style (check:fix auto-fixes)
bun run test:coverage  # vitest unit tests with coverage thresholds
bun run build:chrome && bun run build:firefox # both browser builds must
succeed
```

CI runs these via the repo-owned `.github/workflows/checks.yml`, inside the
managed `ci.yml` gate from [repo-platform](https://github.com/vivswan/repo-platform),
which also checks typography (plain ASCII punctuation only), YAML style,
workflow lint, and CodeQL.

PR titles AND commit subjects must follow
[Conventional Commits](https://www.conventionalcommits.org/)
(`feat:`, `fix:`, `docs:`, `chore:`, and so on). PRs are squash-merged, and the
title becomes the commit that drives release-please versioning. `feat!:` and
`fix!:` denote breaking changes.

## Project layout

- `apps/extension`: the WXT extension (see `AGENTS.md` for architecture)
- `apps/web`: the website with setup guides, pricing, troubleshooting, and the
  privacy policy (Astro, GitHub Pages)
- `sources/`: the original single-provider forks, kept as read-only reference

## Adding a TTS provider

The whole point of the architecture: a provider is one file.

1. Create `apps/extension/src/providers/<id>.ts` implementing `TtsProvider`
   (see `types.ts`; `google.ts` is a good REST example, `polly.ts` an SDK one).
2. Register it with one line in `apps/extension/src/providers/index.ts`.
3. Add its strings to all four locales in `apps/extension/src/locales/`.
4. Add a setup guide page at `apps/web/src/pages/setup/<id>.astro` (copy an
   existing one; Astro routes pages by file path, so there is nothing to
   register).
5. Add `buildSsml`/normalization tests under `apps/extension/tests/providers/`.

No provider-specific code goes anywhere else; the UI, storage, and playback
are registry-driven.

## Localization

Every user-facing string needs a key in `en.yml`, `hi.yml`, `zh_CN.yml`, and
`zh_TW.yml`. The build fails on missing keys in the default locale; please keep
the other three in sync rather than leaving English fallbacks.

## Releases (maintainers)

Merging the rolling release-please PR tags a version, builds the chrome and
firefox zips (plus the AMO-required sources zip) from the tag and attaches them
to the GitHub release, and publishes the single chrome zip to every Chrome Web
Store listing ID and the firefox zip to addons.mozilla.org (each skipped until
its secrets are configured); see `.github/workflows/release.yml`. The website
redeploys on the release via the managed `pages.yml` (production root from the
release tag; every push to main also publishes a preview under `/staging/`).
````

Co-authored-by: repo-platform-sync <repo-platform-sync@users.noreply.github.com>
Vivswan added a commit that referenced this pull request Aug 9, 2026
The repo-platform sync (#90) seeded the fleet-wide CONTRIBUTING.md,
which conflicted with the hand-written one; copier resolved toward the
template, dropping the local content into the PR body. Restore the
repo-specific sections below the template's marker so future three-way
merges preserve them, and refresh them while here: the pre-PR command
list now matches everything checks.yml gates, the layout lists the
packages/* workspaces, and the provider checklist covers the roster
wiring that roster-sync.test.ts enforces.
Vivswan added a commit that referenced this pull request Aug 9, 2026
Automated template update from
[`Vivswan/repo-platform`](https://github.com/Vivswan/repo-platform/tree/staging)
(staging channel).

- Previous: `facc3d6`
- New: `staging@70c478026855`

Review any merge conflicts and confirm repository-local sections were
preserved before merging.

> [!NOTE]
> This branch is regenerated on every sync run; manual commits
> pushed to it are overwritten. Make fixes in a separate branch or
> after merging.

> [!WARNING]
> copier hit merge conflicts, resolved below in favor of the
> template where possible. Restore any dropped local lines that
> should stay, and hand-edit anything marked unresolved, before
> merging.

#### `CONTRIBUTING.md`

Conflict 1: dropped local lines (template version kept):

````
# Contributing

Thanks for helping improve Cloud Speech!

## Setup

```bash
git clone https://github.com/vivswan/cloud-speech
cd cloud-speech
bun install
bun run dev # extension dev (browser opens) + website on localhost:5173
```

`bun run dev:extension` runs the extension alone with interactive WXT keys;
`bun run dev:web` runs only the website.

## Before you open a PR

All of these must pass; CI gates on them via the single `all-green` check:

```bash
bun run typecheck      # strict TypeScript, both apps
bun run check # biome lint + format, YAML style (check:fix auto-fixes)
bun run test:coverage  # vitest unit tests with coverage thresholds
bun run build:chrome && bun run build:firefox # both browser builds must
succeed
```

CI runs these via the repo-owned `.github/workflows/checks.yml`, inside the
managed `ci.yml` gate from [repo-platform](https://github.com/vivswan/repo-platform),
which also checks typography (plain ASCII punctuation only), YAML style,
workflow lint, and CodeQL.

PR titles AND commit subjects must follow
[Conventional Commits](https://www.conventionalcommits.org/)
(`feat:`, `fix:`, `docs:`, `chore:`, and so on). PRs are squash-merged, and the
title becomes the commit that drives release-please versioning. `feat!:` and
`fix!:` denote breaking changes.

## Project layout

- `apps/extension`: the WXT extension (see `AGENTS.md` for architecture)
- `apps/web`: the website with setup guides, pricing, troubleshooting, and the
  privacy policy (Astro, GitHub Pages)
- `sources/`: the original single-provider forks, kept as read-only reference

## Adding a TTS provider

The whole point of the architecture: a provider is one file.

1. Create `apps/extension/src/providers/<id>.ts` implementing `TtsProvider`
   (see `types.ts`; `google.ts` is a good REST example, `polly.ts` an SDK one).
2. Register it with one line in `apps/extension/src/providers/index.ts`.
3. Add its strings to all four locales in `apps/extension/src/locales/`.
4. Add a setup guide page at `apps/web/src/pages/setup/<id>.astro` (copy an
   existing one; Astro routes pages by file path, so there is nothing to
   register).
5. Add `buildSsml`/normalization tests under `apps/extension/tests/providers/`.

No provider-specific code goes anywhere else; the UI, storage, and playback
are registry-driven.

## Localization

Every user-facing string needs a key in `en.yml`, `hi.yml`, `zh_CN.yml`, and
`zh_TW.yml`. The build fails on missing keys in the default locale; please keep
the other three in sync rather than leaving English fallbacks.

## Releases (maintainers)

Merging the rolling release-please PR tags a version, builds the chrome and
firefox zips (plus the AMO-required sources zip) from the tag and attaches them
to the GitHub release, and publishes the single chrome zip to every Chrome Web
Store listing ID and the firefox zip to addons.mozilla.org (each skipped until
its secrets are configured); see `.github/workflows/release.yml`. The website
redeploys on the release via the managed `pages.yml` (production root from the
release tag; every push to main also publishes a preview under `/staging/`).
````

Co-authored-by: repo-platform-sync <repo-platform-sync@users.noreply.github.com>
Vivswan added a commit that referenced this pull request Aug 9, 2026
The repo-platform sync (#90) seeded the fleet-wide CONTRIBUTING.md,
which conflicted with the hand-written one; copier resolved toward the
template, dropping the local content into the PR body. Restore the
repo-specific sections below the template's marker so future three-way
merges preserve them, and refresh them while here: the pre-PR command
list now matches everything checks.yml gates, the layout lists the
packages/* workspaces, and the provider checklist covers the roster
wiring that roster-sync.test.ts enforces.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fix-lint Lint / formatting fixes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants