Public handling: selected full-text prompt with secret filtering.
Prompt Text
PLEASE IMPLEMENT THIS PLAN:# 热门前端框架 Public Corpus 与定时更新计划## Summary- 建一个新的 `frontend-frameworks-public` corpus,覆盖 12 个主流+创新前端框架:React, Vue, Angular, Svelte, Solid, Qwik, Astro, Next.js, Nuxt, SvelteKit, Remix/React Router, TanStack Start。- 边界定义为“官方框架相关 repo 集”,不抓整个 Meta/Vercel/Google org;每个项目保存 GitHub 元数据、README 摘要、release 要点、链接、hash、分类和语言/技术栈索引。- 公共 wiki 只放 curated Markdown 摘要和导航;raw 层保存 manifest 与 provenance,避免公开镜像不明许可的全文代码或超长 release body。## Key Changes- 新增 ingest 脚本 `scripts/ingest-frontend-frameworks-public.ps1`,接口: - `-Root .` - `-Mode Light|Digest`,默认 `Digest` - `-SkipValidation` - `-DryRun`- 新增 raw 层: - `raw/frontend-frameworks-public/manifest.json` - `raw/frontend-frameworks-public/inbox/YYYY-MM-DD-digest.json` - `raw/frontend-frameworks-public/registry.json`- `registry.json` 初始框架边界: - React: `facebook/react`, `reactjs/react.dev` - Vue: `vuejs/core`, `vuejs/docs`, `vuejs/router`, `vuejs/pinia`, `vuejs/devtools` - Angular: `angular/angular`, `angular/angular-cli`, `angular/angular.dev`, `angular/components` - Svelte: `sveltejs/svelte`, `sveltejs/kit`, `sveltejs/svelte.dev` - Solid: `solidjs/solid`, `solidjs/solid-start`, `solidjs/solid-docs` - Qwik: `QwikDev/qwik`, `BuilderIO/qwik` - Astro: `withastro/astro`, `withastro/docs`, `withastro/starlight` - Next.js: `vercel/next.js` - Nuxt: `nuxt/nuxt`, `nuxt/ui`, `nuxt/content`, `nuxt/image` - Remix/React Router: `remix-run/react-router`, `remix-run/remix` - TanStack Start: `TanStack/router`, `TanStack/start`- Stable IDs: - Framework: `framework:<slug>` - Repo: `github:<owner>/<repo>` - Release: `github-release:<owner>/<repo>:<tag_name>` - Registry candidate: `github-candidate:<owner>/<repo>`- Wiki outputs: - `wiki/topics/frontend-frameworks-public.md` as the clickable hub. - `wiki/entities/frontend-frameworks/<framework>.md` for each framework. - `wiki/sources/frontend-frameworks/<owner>-<repo>.md` for each repo. - `wiki/sources/frontend-frameworks/releases/<owner>-<repo>-<tag>.md` only for meaningful releases. - `wiki/analyses/frontend-framework-taxonomy.md` grouped by UI framework, meta-framework, compiler/runtime, router/state, docs/tooling. - `wiki/analyses/frontend-framework-idea-map.md` explaining what each project is trying to do and what ideas/releases introduced.- Add home/index links so the user can click from wiki home/index into framework, repo, release, language, and category pages.## Ingest Behavior- GitHub source coverage per repo: - repo metadata, stars/forks, topics, license, default branch, latest commit SHA, languages API, repo tree sample, README path/hash, changelog path/hash if present. - GitHub releases via `/repos/{owner}/{repo}/releases`, including tag, published date, author, prerelease flag, URL, body hash, and short summary. - Do not copy full source code into public wiki.- Classification fields: - `framework_slug`, `ecosystem_role`, `primary_language`, `file_extension_profile`, `license`, `public_handling`, `source_confidence`, `semantic_hash`. - `ecosystem_role` values: `ui-framework`, `meta-framework`, `compiler-runtime`, `router`, `state-management`, `docs`, `devtools`, `component-system`, `content`, `image`, `starter-or-examples`.- Release summaries: - Extract high-signal bullets from release body: breaking changes, new APIs, compiler/runtime changes, routing/data changes, migration notes. - Store full release body hash and canonical GitHub URL; public page uses concise summary.- Candidate discovery: - For each registry owner/org, list repos weekly and record candidates only when repo name/topic/description matches framework-specific keywords. - Candidates go into manifest as `candidate` and a “Needs Review” section, but are not promoted to official corpus pages until a future registry update confirms them.## Automation- Add Codex automation `update-frontend-frameworks-public-corpus`.- Schedule: weekly Monday after existing corpus jobs, model `gpt-5.5`, reasoning `medium`.- Prompt behavior: - Run `scripts/ingest-frontend-frameworks-public.ps1 -Mode Digest`. - Inspect output and `raw/frontend-frameworks-public/manifest.json`. - Run `scripts/wiki-catalog.ps1`, `scripts/wiki-lint.ps1`, and `git diff --check`. - Stage only the frontend-framework corpus paths, `wiki/index.md`, `wiki/log.md`, and `wiki/catalog.json`. - Commit `Update frontend frameworks public corpus` and push `origin/main` only when stable IDs, semantic hashes, releases, or registry evidence changed. - Ignore unrelated local changes such as `GetPdf.pdf` and caches.## Test Plan- Dry run: - `scripts/ingest-frontend-frameworks-public.ps1 -DryRun` - Confirm it discovers all 12 frameworks and does not write files.- First real ingest: - Confirm manifest has no duplicate stable IDs. - Confirm every repo page links back to its framework and taxonomy. - Confirm every release page links to repo, framework, and GitHub release URL.- Validation: - `scripts/wiki-catalog.ps1` - `scripts/wiki-lint.ps1` - `git diff --check`- Acceptance criteria: - From `wiki/topics/frontend-frameworks-public.md`, user can click into each framework, then each official repo, then each captured release. - Search works for framework names, repo names, languages, file extensions, and release ideas. - Public pages contain summaries/links/hashes, not full unlicensed code dumps.## Assumptions- “完整 GitHub” means complete within the curated official framework-related repo registry, not entire owner organizations.- First version prioritizes high-quality navigability over exhaustive ecosystem breadth.- Weekly updates are enough; urgent one-off refreshes can run the same script manually.- Existing `GITHUB_TOKEN` or `GH_TOKEN` should be used when available to avoid rate limits; unauthenticated fallback records rate-limit errors instead of inventing missing data.
Reuse Notes
EXTRACTED: This is a selected Codex prompt or automation prompt from the local Codex corpus.
INFERRED: Future agents can reuse its structure, constraints, and acceptance criteria when creating similar Codex workflows.