From f29ffd5ec8582fd75fe48e92b5122c84eb6a70b2 Mon Sep 17 00:00:00 2001 From: sunyiteng Date: Mon, 15 Jun 2026 19:29:22 +0800 Subject: [PATCH 1/8] feat: add rstack repo maintain skill --- skills/rstack-repo-maintain/SKILL.md | 68 ++++++++ .../rstack-repo-maintain/agents/openai.yaml | 4 + .../references/repo-baselines.md | 149 ++++++++++++++++++ 3 files changed, 221 insertions(+) create mode 100644 skills/rstack-repo-maintain/SKILL.md create mode 100644 skills/rstack-repo-maintain/agents/openai.yaml create mode 100644 skills/rstack-repo-maintain/references/repo-baselines.md diff --git a/skills/rstack-repo-maintain/SKILL.md b/skills/rstack-repo-maintain/SKILL.md new file mode 100644 index 0000000..8d1140a --- /dev/null +++ b/skills/rstack-repo-maintain/SKILL.md @@ -0,0 +1,68 @@ +--- +name: rstack-repo-maintain +description: 'Audit and modernize RstackJS/Rspack ecosystem repositories to the current shared infrastructure baseline: Rslib ESM or dual builds, Rslint recommended rules, Node 20+ support and CI, TypeScript 6 and tsgo where appropriate, concise README/AGENTS docs, release workflow cleanup, and unused dependency removal. Use when updating rstackjs repositories, copying infra patterns from maintained exemplars, or reviewing package/tooling consistency.' +--- + + + +# Rstack Repo Maintain + +## Overview + +Modernize RstackJS repositories without blindly copying config. Use current repository state and recently maintained exemplar repos to make small, verifiable infrastructure upgrades. + +## Baseline Evidence + +Read `references/repo-baselines.md` when choosing a template repo, explaining where the baseline came from, or deciding whether a migration should be pure ESM, dual package, Node 20+, TypeScript 6, Rslint, or tsgo. + +Default starting points: + +- Primary chenjiahan-maintained package baseline: `rstackjs/rslog`. +- Pure ESM and Node 20 plugin package baseline: `rstackjs/rsbuild-plugin-publint`. +- AGENTS.md plus artifact validation reference: `rstackjs/rsbuild-plugin-arethetypeswrong`. +- Rslib `dts.tsgo` reference only: `rstackjs/rsbuild-plugin-virtual-module`. + +Always re-check the target repo and exemplar repo before editing. The reference file is a dated snapshot, not a permanent source of truth. + +## Workflow + +1. **Inventory the target repo** + - Read `package.json`, lockfile, `rslib.config.*`, `rslint.config.*`, `tsconfig*.json`, `.github/workflows/*`, `README.md`, `AGENTS.md`, release config, and source entry points. + - Identify package kind: library, Rsbuild/Rspack plugin, CLI, app template, test fixture, or docs package. + - List current build, lint, typecheck, test, release, and package manager commands before changing them. + +2. **Choose the migration target** + - Prefer pure ESM for modern libraries and plugins when consumers can support it. + - Use dual package output only as a deliberate transition when existing CommonJS consumers or public exports require it. + - Treat runtime support, package exports, CLI bins, side effects, and documented deep imports as compatibility constraints. + +3. **Update the infrastructure in small layers** + - **Rslib**: use `rslib` for builds, keep config minimal, set appropriate `lib.syntax`, emit declarations, and align `package.json#exports` with real output. + - **Rslint**: use `@rslint/core`; enable `js.configs.recommended` when JavaScript files are linted and `ts.configs.recommended` for TypeScript. Keep rule disables scoped and justified. + - **Node/CI**: set Node support to 20+ when the package can support it; run CI on Node 20 plus 24, or document why a narrower/latest-only matrix is acceptable. + - **TypeScript**: upgrade to TypeScript 6, remove stale/deprecated compiler options, prefer `target: "ES2023"` for Node 20+ packages, and keep module resolution consistent with runtime output. + - **tsgo**: enable Rslib declaration `dts: { tsgo: true }` only after checking compatibility with declaration bundling, package shape, and installed `@typescript/native-preview`. + - **Docs**: keep `README.md` focused on purpose, install, usage, options, supported runtimes, release/license links. Add a concise `AGENTS.md` with repo layout, commands, package contract, and validation expectations. + - **Dependency cleanup**: run a repo-appropriate unused dependency check such as Knip when feasible, then remove only dependencies proven unused or misplaced. + +4. **Preserve behavior while modernizing** + - Do not touch business logic unless the infra change requires it. + - Keep compatibility breaks explicit in commit/PR notes: Node floor, ESM-only output, removed exports, changed CLI behavior, or dependency placement changes. + - If a repo needs multiple risky changes, split them into reviewable PR-sized batches. + +5. **Validate before cleanup** + - Run install with the repo package manager. + - Run lint, typecheck if present, build, and tests. + - Run `npm pack --dry-run` or the repo's publish dry-run path for packages. + - Smoke test import/CLI paths that changed. + - Remove obsolete configs and dependencies only after the new path is green. + +## Output + +When reporting back, include: + +- Target baseline and why it was chosen. +- Files changed, grouped by build/lint/TypeScript/CI/docs/dependencies. +- Breaking changes or compatibility risks. +- Commands run and their result. +- Any deliberate deviations from the Rstack baseline. diff --git a/skills/rstack-repo-maintain/agents/openai.yaml b/skills/rstack-repo-maintain/agents/openai.yaml new file mode 100644 index 0000000..bd6f8e6 --- /dev/null +++ b/skills/rstack-repo-maintain/agents/openai.yaml @@ -0,0 +1,4 @@ +interface: + display_name: 'Rstack Repo Maintain' + short_description: 'Modernize Rstack repo infrastructure' + default_prompt: 'Use $rstack-repo-maintain to modernize an Rstack repository baseline.' diff --git a/skills/rstack-repo-maintain/references/repo-baselines.md b/skills/rstack-repo-maintain/references/repo-baselines.md new file mode 100644 index 0000000..e856b9e --- /dev/null +++ b/skills/rstack-repo-maintain/references/repo-baselines.md @@ -0,0 +1,149 @@ + + +# Rstack Repository Baselines + +Snapshot date: 2026-06-15. + +This reference is based on public GitHub PR and repository inspection for `chenjiahan` activity under `rstackjs/*`. Re-check current main branches before applying these patterns. + +## Primary Baseline: rstackjs/rslog + +Use `rslog` as the primary chenjiahan-maintained baseline when modernizing a small Rstack package. + +Why it is the best first template: + +- It has the strongest chenjiahan maintenance signal among inspected candidates: 50 authored PRs. +- It shows the full migration history from Rslib to pure ESM, Node 20+, Rslint, TypeScript 6, and CI cleanup. +- Its current package shape is simple enough to copy: `type: "module"`, explicit `exports`, `files: ["dist"]`, `build: "rslib"`, `lint: "rslint"`, `test: "rstest"`. +- Current `rslib.config.ts` is minimal: `lib: [{ syntax: "es2023", dts: true }]`. +- Current `package.json#engines.node` is `^20.19.0 || >=22.12.0`. + +Useful PRs: + +- [#23 chore(build): switch to Rslib](https://github.com/rstackjs/rslog/pull/23) +- [#33 chore: migrate to Rstest](https://github.com/rstackjs/rslog/pull/33) +- [#43 chore: remove unused @microsoft/api-extractor dependency](https://github.com/rstackjs/rslog/pull/43) +- [#59 feat!: transform to pure ESM package and requires Node 20+](https://github.com/rstackjs/rslog/pull/59) +- [#74 chore: add Rslint as linter](https://github.com/rstackjs/rslog/pull/74) +- [#76 chore: update TypeScript to v6 and adjust tsconfig settings](https://github.com/rstackjs/rslog/pull/76) +- [#77 chore: update tsconfig](https://github.com/rstackjs/rslog/pull/77) +- [#89 chore: optimize CI pnpm setup](https://github.com/rstackjs/rslog/pull/89) +- [#91 chore: upgrade rslint to 0.6.1](https://github.com/rstackjs/rslog/pull/91) + +Known gaps: + +- No `AGENTS.md` in current main at snapshot time. +- No Rslib `dts.tsgo` in current main at snapshot time. +- Rslint config uses TypeScript recommended rules only because the package is TypeScript-only. + +## Secondary Baseline: rstackjs/rsbuild-plugin-publint + +Use `rsbuild-plugin-publint` when a plugin package needs a compact pure ESM + Node 20 example. + +Current traits: + +- `type: "module"`. +- `exports["."].types` plus ESM default entry. +- `engines.node: ">=20.20.2"`. +- `@rslib/core`, `@rslint/core`, TypeScript 6, and Rstest. +- `rslib.config.ts` uses `syntax: "es2023"` and `dts: true`. + +Useful PRs: + +- [#32 chore: upgrade TypeScript to 6.0.2](https://github.com/rstackjs/rsbuild-plugin-publint/pull/32) +- [#40 chore: migrate linting to Rslint and Prettier](https://github.com/rstackjs/rsbuild-plugin-publint/pull/40) +- [#49 feat: pure ESM package](https://github.com/rstackjs/rsbuild-plugin-publint/pull/49) +- [#50 feat!: replace picocolors with styleText and requires Node 20](https://github.com/rstackjs/rsbuild-plugin-publint/pull/50) +- [#54 chore: optimize CI pnpm setup](https://github.com/rstackjs/rsbuild-plugin-publint/pull/54) +- [#56 chore: upgrade rslint to 0.6.1](https://github.com/rstackjs/rsbuild-plugin-publint/pull/56) + +Known gaps: + +- No `AGENTS.md` in current main at snapshot time. +- No Rslib `dts.tsgo` in current main at snapshot time. + +## AGENTS Reference: rstackjs/rsbuild-plugin-arethetypeswrong + +Use `rsbuild-plugin-arethetypeswrong` for a concise `AGENTS.md` and stricter package validation reference. + +Current traits: + +- `type: "module"`. +- `engines.node: ">=20.20.2"`. +- Rslib build, Rslint, TypeScript 6, and Rstest. +- `rslint.config.ts` enables both `js.configs.recommended` and `ts.configs.recommended`. +- Has `AGENTS.md` and README. +- Rslib config includes `rsbuild-plugin-publint` and bundled declarations. + +Useful PRs: + +- [#49 chore: switch to npm staged publishing](https://github.com/rstackjs/rsbuild-plugin-arethetypeswrong/pull/49) +- [#51 chore: build before stage publish](https://github.com/rstackjs/rsbuild-plugin-arethetypeswrong/pull/51) +- [#55 chore: optimize CI pnpm setup](https://github.com/rstackjs/rsbuild-plugin-arethetypeswrong/pull/55) +- [#58 chore: upgrade rslint to 0.6.1](https://github.com/rstackjs/rsbuild-plugin-arethetypeswrong/pull/58) + +Known gaps: + +- Rslib output syntax is `es2022`, not `es2023`, at snapshot time. +- No Rslib `dts.tsgo` in current main at snapshot time. + +## High-Activity Reference: rstackjs/prebundle + +Use `prebundle` as a high-activity reference when maintaining a CLI/build-tool style package with generated artifacts. + +Current traits: + +- 28 chenjiahan-authored PRs at snapshot time. +- Rslib build, Rslint, TypeScript 6, Rstest, README, and `AGENTS.md`. +- `rslint.config.ts` enables both `js.configs.recommended` and `ts.configs.recommended`. + +Useful PRs: + +- [#10 refactor: use Rslib to bundle](https://github.com/rstackjs/prebundle/pull/10) +- [#37 chore: enable npm trusted publishing](https://github.com/rstackjs/prebundle/pull/37) +- [#62 chore: upgrade TypeScript to ^6.0.2](https://github.com/rstackjs/prebundle/pull/62) +- [#72 chore: add Rslint linting](https://github.com/rstackjs/prebundle/pull/72) +- [#81 chore: optimize CI pnpm setup](https://github.com/rstackjs/prebundle/pull/81) +- [#83 chore: upgrade rslint to 0.6.1](https://github.com/rstackjs/prebundle/pull/83) + +Known gaps: + +- No `engines.node` in current main at snapshot time. +- Rslib syntax is `es2021`, so do not copy it for Node 20+/ES2023 packages without checking why. + +## tsgo Reference: rstackjs/rsbuild-plugin-virtual-module + +Use `rsbuild-plugin-virtual-module` only as a concrete Rslib `tsgo` configuration reference. + +Current traits: + +- `rslib.config.ts` uses `dts: { tsgo: true }`. +- `@typescript/native-preview` is installed. +- Dual package output is still present. + +Relevant PR: + +- [#28 chore: update infrastructure for tsgo](https://github.com/rstackjs/rsbuild-plugin-virtual-module/pull/28) + +Important caveat: + +- The tsgo PR was authored by `SoonIter`, not `chenjiahan`. Treat it as implementation evidence for Rslib tsgo, not as part of the chenjiahan-maintained baseline. + +## Search Notes + +Searches used: + +- `type:pr org:rstackjs author:chenjiahan rslib` +- `type:pr org:rstackjs author:chenjiahan rslint` +- `type:pr org:rstackjs author:chenjiahan "typescript 6"` +- `type:pr org:rstackjs author:chenjiahan "Node 20"` +- `type:pr org:rstackjs author:chenjiahan AGENTS` +- `type:pr org:rstackjs author:chenjiahan README` +- `type:pr org:rstackjs author:chenjiahan "optimize CI"` +- `type:pr org:rstackjs author:chenjiahan knip` + +Findings: + +- No chenjiahan-authored `knip` PRs were found in the sampled search results. +- Rslib `dts.tsgo` is not yet a common chenjiahan-authored bulk-maintenance pattern. +- Some heavily maintained packages intentionally remain dual package or use lower output syntax; copy only after checking consumer compatibility. From ca04508e7fab88437dd7f8592df8577a6c95a3db Mon Sep 17 00:00:00 2001 From: sunyiteng Date: Mon, 15 Jun 2026 20:00:01 +0800 Subject: [PATCH 2/8] docs: update rstack repo maintain guidance --- skills/rstack-repo-maintain/SKILL.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/skills/rstack-repo-maintain/SKILL.md b/skills/rstack-repo-maintain/SKILL.md index 8d1140a..e1fd79c 100644 --- a/skills/rstack-repo-maintain/SKILL.md +++ b/skills/rstack-repo-maintain/SKILL.md @@ -1,6 +1,6 @@ --- name: rstack-repo-maintain -description: 'Audit and modernize RstackJS/Rspack ecosystem repositories to the current shared infrastructure baseline: Rslib ESM or dual builds, Rslint recommended rules, Node 20+ support and CI, TypeScript 6 and tsgo where appropriate, concise README/AGENTS docs, release workflow cleanup, and unused dependency removal. Use when updating rstackjs repositories, copying infra patterns from maintained exemplars, or reviewing package/tooling consistency.' +description: 'Audit and modernize RstackJS/Rspack ecosystem repositories to the current shared infrastructure baseline: Rslib ESM or dual builds, Rslint recommended rules, Node 20+ support and CI, TypeScript 6 and tsgo where appropriate, concise README/AGENTS docs, release workflow cleanup, unused dependency removal, and infra PR commit conventions. Use when updating rstackjs repositories, copying infra patterns from maintained exemplars, or reviewing package/tooling consistency.' --- @@ -40,6 +40,7 @@ Always re-check the target repo and exemplar repo before editing. The reference - **Rslib**: use `rslib` for builds, keep config minimal, set appropriate `lib.syntax`, emit declarations, and align `package.json#exports` with real output. - **Rslint**: use `@rslint/core`; enable `js.configs.recommended` when JavaScript files are linted and `ts.configs.recommended` for TypeScript. Keep rule disables scoped and justified. - **Node/CI**: set Node support to 20+ when the package can support it; run CI on Node 20 plus 24, or document why a narrower/latest-only matrix is acceptable. + - **GitHub Actions**: keep `.github/workflows/*` aligned with the chosen baseline repo. Pin third-party actions to commit hashes, not floating tags, and update action pins by copying or refreshing the baseline pattern. - **TypeScript**: upgrade to TypeScript 6, remove stale/deprecated compiler options, prefer `target: "ES2023"` for Node 20+ packages, and keep module resolution consistent with runtime output. - **tsgo**: enable Rslib declaration `dts: { tsgo: true }` only after checking compatibility with declaration bundling, package shape, and installed `@typescript/native-preview`. - **Docs**: keep `README.md` focused on purpose, install, usage, options, supported runtimes, release/license links. Add a concise `AGENTS.md` with repo layout, commands, package contract, and validation expectations. @@ -50,7 +51,13 @@ Always re-check the target repo and exemplar repo before editing. The reference - Keep compatibility breaks explicit in commit/PR notes: Node floor, ESM-only output, removed exports, changed CLI behavior, or dependency placement changes. - If a repo needs multiple risky changes, split them into reviewable PR-sized batches. -5. **Validate before cleanup** +5. **Prepare the infra PR** + - Create the infrastructure update branch from the latest `origin/main` unless the user asks for a different base. + - Use a PR title starting with `chore(infra):`, for example `chore(infra): update repository baseline`. + - Keep each tool update or tool configuration as its own commit unit. Use commit titles such as `chore(deps): update rslint to 0.6.1`, `chore(infra/tsgo): enable tsgo declaration build`, or `chore(infra/ci): pin workflow actions`. + - Do not mix unrelated tool changes, generated lockfile updates, and source fixes in a single commit unless the tool update requires them to stay atomic. + +6. **Validate before cleanup** - Run install with the repo package manager. - Run lint, typecheck if present, build, and tests. - Run `npm pack --dry-run` or the repo's publish dry-run path for packages. From d6b0f24f3cc6995ecb1866a76be89aef1bec61b5 Mon Sep 17 00:00:00 2001 From: sunyiteng Date: Thu, 18 Jun 2026 17:44:45 +0800 Subject: [PATCH 3/8] docs: align rstack repo maintain with rslog baseline --- skills/rstack-repo-maintain/SKILL.md | 26 +++++++++-------- .../references/repo-baselines.md | 29 ++++++++++++------- 2 files changed, 33 insertions(+), 22 deletions(-) diff --git a/skills/rstack-repo-maintain/SKILL.md b/skills/rstack-repo-maintain/SKILL.md index e1fd79c..9200110 100644 --- a/skills/rstack-repo-maintain/SKILL.md +++ b/skills/rstack-repo-maintain/SKILL.md @@ -1,6 +1,6 @@ --- name: rstack-repo-maintain -description: 'Audit and modernize RstackJS/Rspack ecosystem repositories to the current shared infrastructure baseline: Rslib ESM or dual builds, Rslint recommended rules, Node 20+ support and CI, TypeScript 6 and tsgo where appropriate, concise README/AGENTS docs, release workflow cleanup, unused dependency removal, and infra PR commit conventions. Use when updating rstackjs repositories, copying infra patterns from maintained exemplars, or reviewing package/tooling consistency.' +description: 'Audit and modernize RstackJS/Rspack ecosystem repositories to the current shared infrastructure baseline: Rslib ESM or dual builds, Rslint recommended rules, Node 20+ support where appropriate, TypeScript 6 and tsgo where compatible, concise README/AGENTS docs, release workflow cleanup, unused dependency removal, and infra PR commit conventions. Use when updating rstackjs repositories, copying infra patterns from maintained exemplars, or reviewing package/tooling consistency.' --- @@ -17,10 +17,11 @@ Read `references/repo-baselines.md` when choosing a template repo, explaining wh Default starting points: -- Primary chenjiahan-maintained package baseline: `rstackjs/rslog`. +- Primary chenjiahan-maintained small-package baseline: `rstackjs/rslog`. - Pure ESM and Node 20 plugin package baseline: `rstackjs/rsbuild-plugin-publint`. -- AGENTS.md plus artifact validation reference: `rstackjs/rsbuild-plugin-arethetypeswrong`. -- Rslib `dts.tsgo` reference only: `rstackjs/rsbuild-plugin-virtual-module`. +- Concise AGENTS.md and tsgo/publint reference: `rstackjs/rslog`. +- Additional package validation reference: `rstackjs/rsbuild-plugin-arethetypeswrong`. +- Additional Rslib `dts.tsgo` implementation reference: `rstackjs/rsbuild-plugin-virtual-module`. Always re-check the target repo and exemplar repo before editing. The reference file is a dated snapshot, not a permanent source of truth. @@ -37,14 +38,15 @@ Always re-check the target repo and exemplar repo before editing. The reference - Treat runtime support, package exports, CLI bins, side effects, and documented deep imports as compatibility constraints. 3. **Update the infrastructure in small layers** - - **Rslib**: use `rslib` for builds, keep config minimal, set appropriate `lib.syntax`, emit declarations, and align `package.json#exports` with real output. - - **Rslint**: use `@rslint/core`; enable `js.configs.recommended` when JavaScript files are linted and `ts.configs.recommended` for TypeScript. Keep rule disables scoped and justified. - - **Node/CI**: set Node support to 20+ when the package can support it; run CI on Node 20 plus 24, or document why a narrower/latest-only matrix is acceptable. - - **GitHub Actions**: keep `.github/workflows/*` aligned with the chosen baseline repo. Pin third-party actions to commit hashes, not floating tags, and update action pins by copying or refreshing the baseline pattern. + - **Rslib**: use `rslib` for builds, keep config minimal, set appropriate `lib.syntax`, emit declarations, and align `package.json#exports` with real output. Add `rsbuild-plugin-publint` when the package should validate publish metadata during build. + - **Rslint**: use `@rslint/core`; use `ts.configs.recommended` for TypeScript packages. Add `js.configs.recommended` only when JavaScript source or config files are intentionally linted. + - **Prettier**: if the repo already carries Prettier or should check formatting, wire it into lint scripts with the repo's established style (`prettier --check .` / `prettier --write .` or `-c` / `-w`) and keep generated artifacts ignored by `.prettierignore`. + - **Node/CI**: set Node support to 20+ when the package can support it, but do not copy an exact `engines.node` range unless the target repo should declare one. Do not blindly add a Node 20 matrix or an extra CI build step when the maintained baseline intentionally keeps CI latest-only for speed or already builds in release. + - **GitHub Actions**: keep `.github/workflows/*` aligned with the chosen baseline repo. Pin third-party actions to commit hashes, not floating tags, and update action pins by copying or refreshing the baseline pattern instead of inventing new pins. - **TypeScript**: upgrade to TypeScript 6, remove stale/deprecated compiler options, prefer `target: "ES2023"` for Node 20+ packages, and keep module resolution consistent with runtime output. - - **tsgo**: enable Rslib declaration `dts: { tsgo: true }` only after checking compatibility with declaration bundling, package shape, and installed `@typescript/native-preview`. - - **Docs**: keep `README.md` focused on purpose, install, usage, options, supported runtimes, release/license links. Add a concise `AGENTS.md` with repo layout, commands, package contract, and validation expectations. - - **Dependency cleanup**: run a repo-appropriate unused dependency check such as Knip when feasible, then remove only dependencies proven unused or misplaced. + - **tsgo**: enable Rslib declaration `dts: { tsgo: true }` only after checking compatibility with declaration bundling, package shape, and installed `@typescript/native-preview`. Pin native-preview to an exact version and validate emitted declarations plus package contents. + - **Docs**: keep `README.md` focused on purpose, install, usage, options, supported runtimes, release/license links. Add a concise `AGENTS.md` in the rsbuild-style shape: Stack, Commands, Project structure, and Code style. + - **Dependency cleanup**: run a repo-appropriate unused dependency check such as Knip when feasible, then remove only dependencies proven unused or misplaced. Do not add Knip as a dependency unless the repo starts using it in scripts; treat `pnpm stage` and tsgo tool dependencies as known false positives when applicable. 4. **Preserve behavior while modernizing** - Do not touch business logic unless the infra change requires it. @@ -53,7 +55,7 @@ Always re-check the target repo and exemplar repo before editing. The reference 5. **Prepare the infra PR** - Create the infrastructure update branch from the latest `origin/main` unless the user asks for a different base. - - Use a PR title starting with `chore(infra):`, for example `chore(infra): update repository baseline`. + - Use a specific PR title starting with `chore(infra):`, for example `chore(infra): enable tsgo and package validation` or `chore(infra): align build and lint tooling`. - Keep each tool update or tool configuration as its own commit unit. Use commit titles such as `chore(deps): update rslint to 0.6.1`, `chore(infra/tsgo): enable tsgo declaration build`, or `chore(infra/ci): pin workflow actions`. - Do not mix unrelated tool changes, generated lockfile updates, and source fixes in a single commit unless the tool update requires them to stay atomic. diff --git a/skills/rstack-repo-maintain/references/repo-baselines.md b/skills/rstack-repo-maintain/references/repo-baselines.md index e856b9e..c94f1ed 100644 --- a/skills/rstack-repo-maintain/references/repo-baselines.md +++ b/skills/rstack-repo-maintain/references/repo-baselines.md @@ -2,7 +2,7 @@ # Rstack Repository Baselines -Snapshot date: 2026-06-15. +Snapshot date: 2026-06-18. This reference is based on public GitHub PR and repository inspection for `chenjiahan` activity under `rstackjs/*`. Re-check current main branches before applying these patterns. @@ -14,9 +14,13 @@ Why it is the best first template: - It has the strongest chenjiahan maintenance signal among inspected candidates: 50 authored PRs. - It shows the full migration history from Rslib to pure ESM, Node 20+, Rslint, TypeScript 6, and CI cleanup. -- Its current package shape is simple enough to copy: `type: "module"`, explicit `exports`, `files: ["dist"]`, `build: "rslib"`, `lint: "rslint"`, `test: "rstest"`. -- Current `rslib.config.ts` is minimal: `lib: [{ syntax: "es2023", dts: true }]`. +- Its current package shape is simple enough to copy: `type: "module"`, explicit `exports`, `files: ["dist"]`, `build: "rslib"`, `lint: "rslint && prettier --check ."`, `lint:write`, and `test: "rstest"`. +- Current `rslib.config.ts` uses `syntax: "es2023"`, `dts: { tsgo: true }`, and `pluginPublint()`. +- Current `rslint.config.ts` keeps `ts.configs.recommended` only because the package is TypeScript-only. - Current `package.json#engines.node` is `^20.19.0 || >=22.12.0`. +- Current `AGENTS.md` follows the concise rsbuild-style structure: Stack, Commands, Project structure, and Code style. +- Current `.prettierignore` is intentionally minimal: `dist` and `pnpm-lock.yaml`. +- CI intentionally keeps the current Node 24-only test workflow and does not add a separate build step. Useful PRs: @@ -29,12 +33,17 @@ Useful PRs: - [#77 chore: update tsconfig](https://github.com/rstackjs/rslog/pull/77) - [#89 chore: optimize CI pnpm setup](https://github.com/rstackjs/rslog/pull/89) - [#91 chore: upgrade rslint to 0.6.1](https://github.com/rstackjs/rslog/pull/91) +- [#93 chore(infra): enable tsgo, publint, and prettier checks](https://github.com/rstackjs/rslog/pull/93) -Known gaps: +Review-tested decisions from #93: -- No `AGENTS.md` in current main at snapshot time. -- No Rslib `dts.tsgo` in current main at snapshot time. -- Rslint config uses TypeScript recommended rules only because the package is TypeScript-only. +- Keep `AGENTS.md` short and close to `rsbuild/AGENTS.md`; avoid a long maintenance manual. +- Do not mention formatter tools the target repo does not use; use "existing format conventions" or the repo's actual formatter. +- Keep `js.configs.recommended` out of TypeScript-only packages. +- Do not copy `rslog`'s exact `engines.node` range into target repos unless it matches the package policy. +- `@typescript/native-preview` is a deliberate tsgo toolchain dependency; pin it exactly and validate the generated declarations. +- `pnpm stage publish` is a pnpm 11 builtin, not a missing dependency. +- Knip can be used locally for dependency review, but should not be added as a devDependency unless scripted. ## Secondary Baseline: rstackjs/rsbuild-plugin-publint @@ -62,9 +71,9 @@ Known gaps: - No `AGENTS.md` in current main at snapshot time. - No Rslib `dts.tsgo` in current main at snapshot time. -## AGENTS Reference: rstackjs/rsbuild-plugin-arethetypeswrong +## Package Validation Reference: rstackjs/rsbuild-plugin-arethetypeswrong -Use `rsbuild-plugin-arethetypeswrong` for a concise `AGENTS.md` and stricter package validation reference. +Use `rsbuild-plugin-arethetypeswrong` as an additional package validation and staged publishing reference. Use `rslog`, not this repo, as the current AGENTS.md shape. Current traits: @@ -145,5 +154,5 @@ Searches used: Findings: - No chenjiahan-authored `knip` PRs were found in the sampled search results. -- Rslib `dts.tsgo` is not yet a common chenjiahan-authored bulk-maintenance pattern. +- `rslog` now provides the chenjiahan-reviewed tsgo + publint baseline for small packages; `rsbuild-plugin-virtual-module` remains useful only as an additional implementation reference. - Some heavily maintained packages intentionally remain dual package or use lower output syntax; copy only after checking consumer compatibility. From a1b1c6716c38ed4e47607409feb39ea453b1b3dc Mon Sep 17 00:00:00 2001 From: sunyiteng Date: Tue, 23 Jun 2026 14:48:24 +0800 Subject: [PATCH 4/8] docs: add rstest guidance to repo maintain skill --- skills/rstack-repo-maintain/SKILL.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/skills/rstack-repo-maintain/SKILL.md b/skills/rstack-repo-maintain/SKILL.md index 9200110..9a8cf46 100644 --- a/skills/rstack-repo-maintain/SKILL.md +++ b/skills/rstack-repo-maintain/SKILL.md @@ -1,6 +1,6 @@ --- name: rstack-repo-maintain -description: 'Audit and modernize RstackJS/Rspack ecosystem repositories to the current shared infrastructure baseline: Rslib ESM or dual builds, Rslint recommended rules, Node 20+ support where appropriate, TypeScript 6 and tsgo where compatible, concise README/AGENTS docs, release workflow cleanup, unused dependency removal, and infra PR commit conventions. Use when updating rstackjs repositories, copying infra patterns from maintained exemplars, or reviewing package/tooling consistency.' +description: 'Audit and modernize RstackJS/Rspack ecosystem repositories to the current shared infrastructure baseline: Rslib ESM or dual builds, Rslint recommended rules, Rstest test tooling, Node 20+ support where appropriate, TypeScript 6 and tsgo where compatible, concise README/AGENTS docs, release workflow cleanup, unused dependency removal, and infra PR commit conventions. Use when updating rstackjs repositories, copying infra patterns from maintained exemplars, or reviewing package/tooling consistency.' --- @@ -13,7 +13,7 @@ Modernize RstackJS repositories without blindly copying config. Use current repo ## Baseline Evidence -Read `references/repo-baselines.md` when choosing a template repo, explaining where the baseline came from, or deciding whether a migration should be pure ESM, dual package, Node 20+, TypeScript 6, Rslint, or tsgo. +Read `references/repo-baselines.md` when choosing a template repo, explaining where the baseline came from, or deciding whether a migration should be pure ESM, dual package, Node 20+, TypeScript 6, Rslint, Rstest, or tsgo. Default starting points: @@ -28,7 +28,7 @@ Always re-check the target repo and exemplar repo before editing. The reference ## Workflow 1. **Inventory the target repo** - - Read `package.json`, lockfile, `rslib.config.*`, `rslint.config.*`, `tsconfig*.json`, `.github/workflows/*`, `README.md`, `AGENTS.md`, release config, and source entry points. + - Read `package.json`, lockfile, `rslib.config.*`, `rslint.config.*`, `rstest.config.*`, `vitest.config.*`, `jest.config.*`, `playwright.config.*`, `tsconfig*.json`, `.github/workflows/*`, `README.md`, `AGENTS.md`, release config, and source entry points. - Identify package kind: library, Rsbuild/Rspack plugin, CLI, app template, test fixture, or docs package. - List current build, lint, typecheck, test, release, and package manager commands before changing them. @@ -41,6 +41,7 @@ Always re-check the target repo and exemplar repo before editing. The reference - **Rslib**: use `rslib` for builds, keep config minimal, set appropriate `lib.syntax`, emit declarations, and align `package.json#exports` with real output. Add `rsbuild-plugin-publint` when the package should validate publish metadata during build. - **Rslint**: use `@rslint/core`; use `ts.configs.recommended` for TypeScript packages. Add `js.configs.recommended` only when JavaScript source or config files are intentionally linted. - **Prettier**: if the repo already carries Prettier or should check formatting, wire it into lint scripts with the repo's established style (`prettier --check .` / `prettier --write .` or `-c` / `-w`) and keep generated artifacts ignored by `.prettierignore`. + - **Test tooling**: prefer Rstest for JavaScript/TypeScript unit tests in Rstack repositories. When a repo still uses Vitest or Jest, use the `migrate-to-rstest` skill, map scripts and configs to `@rstest/core`, keep Playwright or other browser E2E tooling separate, and remove legacy runner deps/configs only after the migrated scope is green. - **Node/CI**: set Node support to 20+ when the package can support it, but do not copy an exact `engines.node` range unless the target repo should declare one. Do not blindly add a Node 20 matrix or an extra CI build step when the maintained baseline intentionally keeps CI latest-only for speed or already builds in release. - **GitHub Actions**: keep `.github/workflows/*` aligned with the chosen baseline repo. Pin third-party actions to commit hashes, not floating tags, and update action pins by copying or refreshing the baseline pattern instead of inventing new pins. - **TypeScript**: upgrade to TypeScript 6, remove stale/deprecated compiler options, prefer `target: "ES2023"` for Node 20+ packages, and keep module resolution consistent with runtime output. From fcd8e851b44bcf8072e0b9c4febc07b06e6611a3 Mon Sep 17 00:00:00 2001 From: sunyiteng Date: Tue, 23 Jun 2026 14:51:42 +0800 Subject: [PATCH 5/8] docs: remove personal attribution from repo maintain skill --- skills/rstack-repo-maintain/SKILL.md | 4 +-- .../references/repo-baselines.md | 32 +++++++++---------- 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/skills/rstack-repo-maintain/SKILL.md b/skills/rstack-repo-maintain/SKILL.md index 9a8cf46..812c69c 100644 --- a/skills/rstack-repo-maintain/SKILL.md +++ b/skills/rstack-repo-maintain/SKILL.md @@ -3,8 +3,6 @@ name: rstack-repo-maintain description: 'Audit and modernize RstackJS/Rspack ecosystem repositories to the current shared infrastructure baseline: Rslib ESM or dual builds, Rslint recommended rules, Rstest test tooling, Node 20+ support where appropriate, TypeScript 6 and tsgo where compatible, concise README/AGENTS docs, release workflow cleanup, unused dependency removal, and infra PR commit conventions. Use when updating rstackjs repositories, copying infra patterns from maintained exemplars, or reviewing package/tooling consistency.' --- - - # Rstack Repo Maintain ## Overview @@ -17,7 +15,7 @@ Read `references/repo-baselines.md` when choosing a template repo, explaining wh Default starting points: -- Primary chenjiahan-maintained small-package baseline: `rstackjs/rslog`. +- Primary small-package baseline: `rstackjs/rslog`. - Pure ESM and Node 20 plugin package baseline: `rstackjs/rsbuild-plugin-publint`. - Concise AGENTS.md and tsgo/publint reference: `rstackjs/rslog`. - Additional package validation reference: `rstackjs/rsbuild-plugin-arethetypeswrong`. diff --git a/skills/rstack-repo-maintain/references/repo-baselines.md b/skills/rstack-repo-maintain/references/repo-baselines.md index c94f1ed..921d4da 100644 --- a/skills/rstack-repo-maintain/references/repo-baselines.md +++ b/skills/rstack-repo-maintain/references/repo-baselines.md @@ -1,18 +1,16 @@ - - # Rstack Repository Baselines Snapshot date: 2026-06-18. -This reference is based on public GitHub PR and repository inspection for `chenjiahan` activity under `rstackjs/*`. Re-check current main branches before applying these patterns. +This reference is based on public GitHub PR and repository inspection under `rstackjs/*`. Re-check current main branches before applying these patterns. ## Primary Baseline: rstackjs/rslog -Use `rslog` as the primary chenjiahan-maintained baseline when modernizing a small Rstack package. +Use `rslog` as the primary maintained baseline when modernizing a small Rstack package. Why it is the best first template: -- It has the strongest chenjiahan maintenance signal among inspected candidates: 50 authored PRs. +- It has the strongest maintenance signal among inspected candidates. - It shows the full migration history from Rslib to pure ESM, Node 20+, Rslint, TypeScript 6, and CI cleanup. - Its current package shape is simple enough to copy: `type: "module"`, explicit `exports`, `files: ["dist"]`, `build: "rslib"`, `lint: "rslint && prettier --check ."`, `lint:write`, and `test: "rstest"`. - Current `rslib.config.ts` uses `syntax: "es2023"`, `dts: { tsgo: true }`, and `pluginPublint()`. @@ -102,7 +100,7 @@ Use `prebundle` as a high-activity reference when maintaining a CLI/build-tool s Current traits: -- 28 chenjiahan-authored PRs at snapshot time. +- High maintenance activity at snapshot time. - Rslib build, Rslint, TypeScript 6, Rstest, README, and `AGENTS.md`. - `rslint.config.ts` enables both `js.configs.recommended` and `ts.configs.recommended`. @@ -136,23 +134,23 @@ Relevant PR: Important caveat: -- The tsgo PR was authored by `SoonIter`, not `chenjiahan`. Treat it as implementation evidence for Rslib tsgo, not as part of the chenjiahan-maintained baseline. +- Treat this repo as implementation evidence for Rslib tsgo, not as the primary small-package baseline. ## Search Notes Searches used: -- `type:pr org:rstackjs author:chenjiahan rslib` -- `type:pr org:rstackjs author:chenjiahan rslint` -- `type:pr org:rstackjs author:chenjiahan "typescript 6"` -- `type:pr org:rstackjs author:chenjiahan "Node 20"` -- `type:pr org:rstackjs author:chenjiahan AGENTS` -- `type:pr org:rstackjs author:chenjiahan README` -- `type:pr org:rstackjs author:chenjiahan "optimize CI"` -- `type:pr org:rstackjs author:chenjiahan knip` +- `type:pr org:rstackjs rslib` +- `type:pr org:rstackjs rslint` +- `type:pr org:rstackjs "typescript 6"` +- `type:pr org:rstackjs "Node 20"` +- `type:pr org:rstackjs AGENTS` +- `type:pr org:rstackjs README` +- `type:pr org:rstackjs "optimize CI"` +- `type:pr org:rstackjs knip` Findings: -- No chenjiahan-authored `knip` PRs were found in the sampled search results. -- `rslog` now provides the chenjiahan-reviewed tsgo + publint baseline for small packages; `rsbuild-plugin-virtual-module` remains useful only as an additional implementation reference. +- No repo-owned scripted Knip baseline was found in the sampled search results. +- `rslog` now provides the reviewed tsgo + publint baseline for small packages; `rsbuild-plugin-virtual-module` remains useful only as an additional implementation reference. - Some heavily maintained packages intentionally remain dual package or use lower output syntax; copy only after checking consumer compatibility. From cb879ee4142af4a72b5c628834c23e025ef32e29 Mon Sep 17 00:00:00 2001 From: sunyiteng Date: Wed, 24 Jun 2026 12:02:07 +0800 Subject: [PATCH 6/8] chore: update --- .../rstack-repo-maintain/SKILL.md | 6 ++++-- .../references/repo-baselines.md | 21 +++++++++++-------- .../rstack-repo-maintain/agents/openai.yaml | 4 ---- 3 files changed, 16 insertions(+), 15 deletions(-) rename {skills => dev-skills}/rstack-repo-maintain/SKILL.md (92%) rename {skills => dev-skills}/rstack-repo-maintain/references/repo-baselines.md (78%) delete mode 100644 skills/rstack-repo-maintain/agents/openai.yaml diff --git a/skills/rstack-repo-maintain/SKILL.md b/dev-skills/rstack-repo-maintain/SKILL.md similarity index 92% rename from skills/rstack-repo-maintain/SKILL.md rename to dev-skills/rstack-repo-maintain/SKILL.md index 812c69c..308a495 100644 --- a/skills/rstack-repo-maintain/SKILL.md +++ b/dev-skills/rstack-repo-maintain/SKILL.md @@ -1,6 +1,8 @@ --- name: rstack-repo-maintain description: 'Audit and modernize RstackJS/Rspack ecosystem repositories to the current shared infrastructure baseline: Rslib ESM or dual builds, Rslint recommended rules, Rstest test tooling, Node 20+ support where appropriate, TypeScript 6 and tsgo where compatible, concise README/AGENTS docs, release workflow cleanup, unused dependency removal, and infra PR commit conventions. Use when updating rstackjs repositories, copying infra patterns from maintained exemplars, or reviewing package/tooling consistency.' +metadata: + internal: true --- # Rstack Repo Maintain @@ -40,7 +42,7 @@ Always re-check the target repo and exemplar repo before editing. The reference - **Rslint**: use `@rslint/core`; use `ts.configs.recommended` for TypeScript packages. Add `js.configs.recommended` only when JavaScript source or config files are intentionally linted. - **Prettier**: if the repo already carries Prettier or should check formatting, wire it into lint scripts with the repo's established style (`prettier --check .` / `prettier --write .` or `-c` / `-w`) and keep generated artifacts ignored by `.prettierignore`. - **Test tooling**: prefer Rstest for JavaScript/TypeScript unit tests in Rstack repositories. When a repo still uses Vitest or Jest, use the `migrate-to-rstest` skill, map scripts and configs to `@rstest/core`, keep Playwright or other browser E2E tooling separate, and remove legacy runner deps/configs only after the migrated scope is green. - - **Node/CI**: set Node support to 20+ when the package can support it, but do not copy an exact `engines.node` range unless the target repo should declare one. Do not blindly add a Node 20 matrix or an extra CI build step when the maintained baseline intentionally keeps CI latest-only for speed or already builds in release. + - **Node/CI**: verify the effective Node support policy from code, dependencies, CI, and release workflows. Do not blindly add a Node 20 matrix or an extra CI build step when the maintained baseline intentionally keeps CI latest-only for speed or already builds in release. - **GitHub Actions**: keep `.github/workflows/*` aligned with the chosen baseline repo. Pin third-party actions to commit hashes, not floating tags, and update action pins by copying or refreshing the baseline pattern instead of inventing new pins. - **TypeScript**: upgrade to TypeScript 6, remove stale/deprecated compiler options, prefer `target: "ES2023"` for Node 20+ packages, and keep module resolution consistent with runtime output. - **tsgo**: enable Rslib declaration `dts: { tsgo: true }` only after checking compatibility with declaration bundling, package shape, and installed `@typescript/native-preview`. Pin native-preview to an exact version and validate emitted declarations plus package contents. @@ -49,7 +51,7 @@ Always re-check the target repo and exemplar repo before editing. The reference 4. **Preserve behavior while modernizing** - Do not touch business logic unless the infra change requires it. - - Keep compatibility breaks explicit in commit/PR notes: Node floor, ESM-only output, removed exports, changed CLI behavior, or dependency placement changes. + - Keep compatibility breaks explicit in commit/PR notes: ESM-only output, removed exports, changed CLI behavior, or dependency placement changes. - If a repo needs multiple risky changes, split them into reviewable PR-sized batches. 5. **Prepare the infra PR** diff --git a/skills/rstack-repo-maintain/references/repo-baselines.md b/dev-skills/rstack-repo-maintain/references/repo-baselines.md similarity index 78% rename from skills/rstack-repo-maintain/references/repo-baselines.md rename to dev-skills/rstack-repo-maintain/references/repo-baselines.md index 921d4da..6ce3a89 100644 --- a/skills/rstack-repo-maintain/references/repo-baselines.md +++ b/dev-skills/rstack-repo-maintain/references/repo-baselines.md @@ -1,8 +1,9 @@ # Rstack Repository Baselines Snapshot date: 2026-06-18. +Primary `rslog` baseline last verified from `origin/main` on 2026-06-24 at commit `25dc20d3402efc3c3104f776a97a81cf9829be67`. -This reference is based on public GitHub PR and repository inspection under `rstackjs/*`. Re-check current main branches before applying these patterns. +This reference is based on public GitHub PR and repository inspection under `rstackjs/*`. Re-check current main branches before applying these patterns. Secondary reference sections remain at the 2026-06-18 snapshot unless explicitly noted. ## Primary Baseline: rstackjs/rslog @@ -12,13 +13,17 @@ Why it is the best first template: - It has the strongest maintenance signal among inspected candidates. - It shows the full migration history from Rslib to pure ESM, Node 20+, Rslint, TypeScript 6, and CI cleanup. -- Its current package shape is simple enough to copy: `type: "module"`, explicit `exports`, `files: ["dist"]`, `build: "rslib"`, `lint: "rslint && prettier --check ."`, `lint:write`, and `test: "rstest"`. +- Its current package shape is simple enough to copy: `type: "module"`, explicit `exports["."].types` and default ESM entry, `files: ["dist"]`, `build: "rslib"`, `lint: "rslint && prettier --check ."`, `lint:write`, `test: "rstest"`, and `packageManager: "pnpm@11.6.0"`. - Current `rslib.config.ts` uses `syntax: "es2023"`, `dts: { tsgo: true }`, and `pluginPublint()`. -- Current `rslint.config.ts` keeps `ts.configs.recommended` only because the package is TypeScript-only. -- Current `package.json#engines.node` is `^20.19.0 || >=22.12.0`. +- Current `rslint.config.ts` ignores generated `dist` output and keeps `ts.configs.recommended` with no rule overrides because the package is TypeScript-only. +- Current `rstest.config.ts` enables `globals: true`. +- Current `tsconfig.json` uses `rootDir: "./src"`, `outDir: "./dist"`, `target: "ES2023"`, `module: "nodenext"`, `moduleResolution: "nodenext"`, and `types: ["node", "@rstest/core/globals"]`. +- Current dependency pins include `@rslib/core@^0.22.1`, `@rslint/core@^0.6.1`, `@rstest/core@^0.10.4`, `typescript@^6.0.3`, `rsbuild-plugin-publint@^1.0.0`, and exact `@typescript/native-preview@7.0.0-dev.20260615.1`. - Current `AGENTS.md` follows the concise rsbuild-style structure: Stack, Commands, Project structure, and Code style. - Current `.prettierignore` is intentionally minimal: `dist` and `pnpm-lock.yaml`. -- CI intentionally keeps the current Node 24-only test workflow and does not add a separate build step. +- CI intentionally keeps an Ubuntu-only Node `24.16.0` test workflow that runs lint and tests, with no separate build step in test CI. +- Release CI builds before `pnpm stage publish --no-git-checks`, uses OIDC, and keeps `contents: read` plus `id-token: write`. +- Current workflows pin `actions/checkout`, `actions/setup-node`, and `pnpm/action-setup` to commit hashes with version comments, set `package-manager-cache: false` in setup-node, and let `pnpm/action-setup` handle installation with `run_install: true`. Useful PRs: @@ -38,9 +43,10 @@ Review-tested decisions from #93: - Keep `AGENTS.md` short and close to `rsbuild/AGENTS.md`; avoid a long maintenance manual. - Do not mention formatter tools the target repo does not use; use "existing format conventions" or the repo's actual formatter. - Keep `js.configs.recommended` out of TypeScript-only packages. -- Do not copy `rslog`'s exact `engines.node` range into target repos unless it matches the package policy. - `@typescript/native-preview` is a deliberate tsgo toolchain dependency; pin it exactly and validate the generated declarations. - `pnpm stage publish` is a pnpm 11 builtin, not a missing dependency. +- Prefer the current `pnpm/action-setup` + `run_install: true` workflow shape for small pnpm packages; avoid reintroducing ad hoc corepack/install steps unless the target repo needs them. +- In test CI, run lint and tests, but do not add a build job just to follow a generic checklist when release CI already performs the package build. - Knip can be used locally for dependency review, but should not be added as a devDependency unless scripted. ## Secondary Baseline: rstackjs/rsbuild-plugin-publint @@ -51,7 +57,6 @@ Current traits: - `type: "module"`. - `exports["."].types` plus ESM default entry. -- `engines.node: ">=20.20.2"`. - `@rslib/core`, `@rslint/core`, TypeScript 6, and Rstest. - `rslib.config.ts` uses `syntax: "es2023"` and `dts: true`. @@ -76,7 +81,6 @@ Use `rsbuild-plugin-arethetypeswrong` as an additional package validation and st Current traits: - `type: "module"`. -- `engines.node: ">=20.20.2"`. - Rslib build, Rslint, TypeScript 6, and Rstest. - `rslint.config.ts` enables both `js.configs.recommended` and `ts.configs.recommended`. - Has `AGENTS.md` and README. @@ -115,7 +119,6 @@ Useful PRs: Known gaps: -- No `engines.node` in current main at snapshot time. - Rslib syntax is `es2021`, so do not copy it for Node 20+/ES2023 packages without checking why. ## tsgo Reference: rstackjs/rsbuild-plugin-virtual-module diff --git a/skills/rstack-repo-maintain/agents/openai.yaml b/skills/rstack-repo-maintain/agents/openai.yaml deleted file mode 100644 index bd6f8e6..0000000 --- a/skills/rstack-repo-maintain/agents/openai.yaml +++ /dev/null @@ -1,4 +0,0 @@ -interface: - display_name: 'Rstack Repo Maintain' - short_description: 'Modernize Rstack repo infrastructure' - default_prompt: 'Use $rstack-repo-maintain to modernize an Rstack repository baseline.' From 1d6141bf0322af56333afa965b1b2c20d77145fd Mon Sep 17 00:00:00 2001 From: sunyiteng Date: Wed, 24 Jun 2026 12:55:00 +0800 Subject: [PATCH 7/8] chore: update --- AGENTS.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index fe0a623..2349857 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -11,6 +11,7 @@ A collection of Agent Skills for the Rspack ecosystem (Rspack, Rsbuild, Rslib, R ``` agent-skills/ ├── skills/ # Skills directory, contains all Skills +├── dev-skills/ # Developer-facing Skills for Rstack repository maintenance ├── packages/ # Source code projects for complex scripts ├── scripts/ # Project-level configurations and tools │ └── config/ # Common configurations (rslib, tsconfig, etc.) @@ -25,6 +26,8 @@ agent-skills/ - **skills/**: Contains all Skills, each Skill is an independent folder - Each Skill includes `SKILL.md` (required), `scripts/` (optional), `references/` (optional), `assets/` (optional) +- **dev-skills/**: Contains Skills used for Rstack repository maintenance + - These Skills are primarily for repository developers and maintainers, not end users - **packages/**: Contains source code for complex scripts that need compilation - Corresponds to Skills with the same name in the skills directory - Compiled by Rslib and output to the corresponding `skills/{skill-name}/scripts/` directory From dd3c6473a035cc1795ee65c7bbfab663a14b623c Mon Sep 17 00:00:00 2001 From: sunyiteng Date: Wed, 24 Jun 2026 12:57:54 +0800 Subject: [PATCH 8/8] chore: update --- dev-skills/rstack-repo-maintain/references/repo-baselines.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dev-skills/rstack-repo-maintain/references/repo-baselines.md b/dev-skills/rstack-repo-maintain/references/repo-baselines.md index 6ce3a89..913052f 100644 --- a/dev-skills/rstack-repo-maintain/references/repo-baselines.md +++ b/dev-skills/rstack-repo-maintain/references/repo-baselines.md @@ -1,9 +1,9 @@ # Rstack Repository Baselines -Snapshot date: 2026-06-18. +Snapshot date: 2026-06-24. Primary `rslog` baseline last verified from `origin/main` on 2026-06-24 at commit `25dc20d3402efc3c3104f776a97a81cf9829be67`. -This reference is based on public GitHub PR and repository inspection under `rstackjs/*`. Re-check current main branches before applying these patterns. Secondary reference sections remain at the 2026-06-18 snapshot unless explicitly noted. +This reference is based on public GitHub PR and repository inspection under `rstackjs/*`. Re-check current main branches before applying these patterns. Secondary reference sections remain at the 2026-06-24 snapshot unless explicitly noted. ## Primary Baseline: rstackjs/rslog