Logfire Instrumentation
basicmachines-co/basic-memory
Adds Pydantic Logfire tracing, logging and metrics to Python, JavaScript or TypeScript and Rust projects, with the correct setup order and library extras.
对任意项目进行全面的成熟度评估扫描。当用户说"检查项目成熟度"、"项目评估"、 "maturity assessment"、"代码质量扫描"、"项目健康度"、"项目体检"、 "scan project maturity"、"项目有多成熟"时触发。适用场景:接手新项目前的摸底、 发布前的质量审查、技术尽调、团队内部代码健康度盘点。
$ npx skills add KonghaYao/peri --skill project-maturity -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install KonghaYao/peri project-maturity --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/KonghaYao/peri.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/project-maturity .claude/skills/project-maturity && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "project-maturity" agent skill from https://github.com/KonghaYao/peri/tree/main/.claude/skills/project-maturity into .claude/skills/project-maturity/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "project-maturity", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/KonghaYao/peri/tree/main/.claude/skills/project-maturityType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add KonghaYao/peri --skill project-maturity -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install KonghaYao/peri project-maturity --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/KonghaYao/peri.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/project-maturity .agents/skills/project-maturity && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "project-maturity" agent skill from https://github.com/KonghaYao/peri/tree/main/.claude/skills/project-maturity into .agents/skills/project-maturity/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "project-maturity", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add KonghaYao/peri --skill project-maturity -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install KonghaYao/peri project-maturity --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/KonghaYao/peri.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/project-maturity .cursor/skills/project-maturity && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "project-maturity" agent skill from https://github.com/KonghaYao/peri/tree/main/.claude/skills/project-maturity into .cursor/skills/project-maturity/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "project-maturity", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/KonghaYao/peri.git --path .claude/skills/project-maturity--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add KonghaYao/peri --skill project-maturity -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install KonghaYao/peri project-maturity --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/KonghaYao/peri.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/project-maturity .gemini/skills/project-maturity && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "project-maturity" agent skill from https://github.com/KonghaYao/peri/tree/main/.claude/skills/project-maturity into .gemini/skills/project-maturity/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "project-maturity", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install KonghaYao/peri project-maturityInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add KonghaYao/peri --skill project-maturity -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/KonghaYao/peri.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/project-maturity .github/skills/project-maturity && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "project-maturity" agent skill from https://github.com/KonghaYao/peri/tree/main/.claude/skills/project-maturity into .github/skills/project-maturity/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "project-maturity", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add KonghaYao/peri --skill project-maturity -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install KonghaYao/peri project-maturity --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/KonghaYao/peri.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/project-maturity .opencode/skills/project-maturity && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "project-maturity" agent skill from https://github.com/KonghaYao/peri/tree/main/.claude/skills/project-maturity into .opencode/skills/project-maturity/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "project-maturity", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
project-maturity对任意项目进行全面的成熟度评估扫描。当用户说"检查项目成熟度"、"项目评估"、 "maturity assessment"、"代码质量扫描"、"项目健康度"、"项目体检"、 "scan project maturity"、"项目有多成熟"时触发。适用场景:接手新项目前的摸底、 发布前的质量审查、技术尽调、团队内部代码健康度盘点。
Project Maturity is an agent skill from KonghaYao/peri. 对任意项目进行全面的成熟度评估扫描。当用户说"检查项目成熟度"、"项目评估"、 "maturity assessment"、"代码质量扫描"、"项目健康度"、"项目体检"、 "scan project maturity"、"项目有多成熟"时触发。适用场景:接手新项目前的摸底、 发布前的质量审查、技术尽调、团队内部代码健康度盘点。
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `references/generic.md`, `references/go.md` and `references/python.md`).
It sits in DevOps & Cloud. It works with TypeScript, Rust and Python. The repository describes itself as: Lightweight Rust Agent only use 50MB RAM, but Claude Code Plugin compatible, Dynamic Workflow, Goal, Artifacts, Free Web Search, full feature and better support! The licence is Apache-2.0.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit d7ee444. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Project Maturity loads about 1.8k tokens when it runs, and up to ~6.9k if it reads all its reference files. Until then it costs about 46 tokens; SKILL.md has 399 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
- .env 已 gitignored → 合格Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from KonghaYao/peri at commit d7ee444, republished under its Apache-2.0 licence (© KonghaYao). 399 words, ~1,764 tokens.
.claude/skills/project-maturity/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.对任意项目进行 8 维度深度成熟度扫描,产出结构化 Markdown 报告。
语言检测 → 加载 Reference → 并行收集 8 维度数据 → 综合评分 → 输出报告三个核心原则:
扫描项目根目录,按优先级判断主语言:
| 信号 | 判定 |
|---|---|
Cargo.toml | Rust |
package.json + tsconfig.json | TypeScript |
package.json(无 tsconfig) | JavaScript/Node |
go.mod | Go |
pyproject.toml / setup.py / requirements.txt | Python |
pom.xml / build.gradle | Java/Kotlin |
Gemfile | Ruby |
CMakeLists.txt | C/C++ |
| 以上皆无 | Generic(通用检查) |
多语言项目:按代码量占比识别主语言和次语言,报告中对每种语言分别评估。
根据检测结果,读对应 reference 文件获取语言特定的检查命令和指标:
references/rust.md — Rust 项目references/typescript.md — TypeScript/JavaScript 项目references/python.md — Python 项目references/go.md — Go 项目references/generic.md — 通用回退Reference 文件包含的内容:
关键:所有收集操作必须并行执行。不要串行逐个询问。
用语言 reference 提供的命令统计:
✅ 源代码行数(排除依赖/target/node_modules/build)
✅ 源文件数量
✅ 模块/包/crate 数量
✅ 各模块代码分布(最大的 5 个模块)
✅ 按语言拆分的代码量(多语言项目)评价标准:
✅ 总提交数 + 首次/最后提交日期
✅ 近 30 天提交趋势(每日统计)
✅ 贡献者数量 + Top 3 贡献者占比(识别总线因子)
✅ 活跃分支数 + 标签数
✅ 版本标签命名规范度
✅ 合并提交比例(反映协作模式)评价标准:
分两层检查:单元测试 + 集成/E2E 测试。
✅ #[test] / it() / def test_* 等测试函数数量
✅ 测试目录结构(tests/ 或 __tests__/ 等)
✅ 运行完整测试套件,统计通过/失败/跳过
✅ 各子模块的测试代码行数 vs 源代码行数
✅ 是否有 E2E/集成测试及框架
✅ 是否有覆盖率工具配置(tarpaulin/istanbul/coverage.py 等)
✅ CI 中是否跑测试评价标准(通用):
注意:不同语言/框架的测试文化不同。Rust 项目 5% 测试比可能已经不错(大量类型系统保证),但 JS/Python 项目 5% 是严重不足。具体阈值见各语言 reference。
✅ 静态分析结果(clippy/eslint/pylint 等)
✅ 构建是否通过(build/compile)
✅ 格式化检查(fmt/format/check)
✅ unsafe/危险模式计数(如 Rust unsafe、Python eval/exec、JS eval)
✅ 错误处理模式(unwrap/panic 计数 vs expect/Result 处理)
✅ TODO/FIXME/HACK/XXX 残留数量
✅ pre-commit hooks 配置(lefthook/husky/pre-commit)评价标准:
✅ CI pipeline 文件(.github/workflows / .gitlab-ci.yml / Jenkinsfile 等)
✅ CI 覆盖的操作系统数
✅ CI 步骤完整性:build / test / lint / audit / bench
✅ 发布流程(release workflow / publish script / Docker)
✅ 多平台/多架构构建支持
✅ 容器化(Dockerfile / docker-compose)
✅ 安装/部署脚本
✅ 版本管理自动化程度评价标准:
✅ README 质量(行数、是否有架构图、快速上手)
✅ CHANGELOG 是否存在及更新频率
✅ 设计文档/架构文档数量
✅ API 文档生成配置(rustdoc/jsdoc/sphinx 等)
✅ 贡献指南(CONTRIBUTING.md)
✅ 开发规范文档(CLAUDE.md / DEVELOPER.md)
✅ License 文件评价标准:
✅ 依赖审计工具运行结果(cargo audit / npm audit / pip audit / govulncheck)
✅ unsafe 代码块 + 是否有安全注释
✅ 密钥/凭证硬编码检查(.env 文件是否在 .gitignore)
✅ 已知漏洞扫描
✅ 是否有安全策略文档(SECURITY.md)评价标准:
✅ 监控/可观测性(tracing/logging/metrics)
✅ 第三方服务集成(数据库、消息队列、API 网关等)
✅ 插件/扩展系统
✅ i18n 国际化
✅ 多环境配置管理
✅ 外部工具链集成评价标准:
每个维度给出 1-5 星评分:
| 星级 | 含义 | 典型特征 |
|---|---|---|
| ★★★★★ | 行业领先 | 所有子项均达到最佳实践 |
| ★★★★☆ | 良好 | 大部分子项达标,有改进空间 |
| ★★★☆☆ | 基本合格 | 核心功能具备,但存在明显短板 |
| ★★☆☆☆ | 不足 | 多个子项缺失,影响项目健康 |
| ★☆☆☆☆ | 严重不足 | 关键维度存在重大缺陷 |
综合分 = 各维度加权平均:
| 维度 | 权重 | 理由 |
|---|---|---|
| 测试覆盖 | 20% | 决定代码变更信心 |
| 代码质量 | 20% | 影响维护成本 |
| CI/CD | 15% | 影响交付效率 |
| 文档 | 15% | 影响新人上手 |
| 安全 | 15% | 影响生产可用性 |
| 项目规模 | 5% | 不是越大越好 |
| 活跃度 | 5% | 反映项目生命周期 |
| 外部集成 | 5% | 生态系统成熟度 |
对发现的问题按严重程度分级:
| 级别 | 标识 | 定义 | 示例 |
|---|---|---|---|
| 🔴 高 | 必须修复 | 可能导致生产事故或安全漏洞 | 核心模块 0 测试、有已知高危漏洞、构建失败 |
| 🟡 中 | 建议修复 | 影响开发效率或长期维护 | CHANGELOG 过时、单人开发总线风险、.unwrap() 过多 |
| 🟢 低 | 宜改进 | 锦上添花的优化项 | 缺少 Dockerfile、无 API 文档 |
保存为 <项目根目录>/maturity-report.md。使用以下模板(严格遵守):
# 🔬 [项目名] 成熟度评估报告
> 评估日期:YYYY-MM-DD | 主语言:[语言] | 代码规模:[行数]
> 综合评分:★☆☆☆☆ ~ ★★★★★(X.X/5.0)— [一句话定性]
---
## 一、综合概览
[2-3 句话的总体评价,点出核心优势和核心短板]
### 成熟度雷达
[用 8 行 ASCII 文字绘制 8 轴雷达图,格式如下:]
规模 ★★★★★
/\
/ \
CI/CD / \ 活跃度
★★★★ / \ ★★★★★
/ \
/ ★★ \
/ 测试覆盖 \
/ \
文档 ★★★★ ────── ★★★★ 代码质量 ★★★★ 外部集成
总评:[一句话] 最高维度:[维度名] 最低维度:[维度名]
---
## 二、8 维度详解
### 2.1 项目规模 ★★★★★
| 指标 | 数值 | 评价 |
|------|------|------|
| ... | ... | ... |
[如果需要,列出 Top 5 模块代码分布]
---
### 2.2 开发活跃度 ★★★★★
| 指标 | 数值 | 评价 |
|------|------|------|
| ... | ... | ... |
[包含近 30 天提交趋势 ASCII 图]
---
### 2.3 测试覆盖 ★★★★★
| 指标 | 数值 | 评价 |
|------|------|------|
| ... | ... | ... |
[包含各模块测试代码比表格]
⚠️ [如果有零测试模块,在此标注]
---
### 2.4 代码质量 ★★★★★
| 指标 | 数值 | 评价 |
|------|------|------|
| ... | ... | ... |
---
### 2.5 CI/CD 与 DevOps ★★★★★
| 指标 | 状态 |
|------|:--:|
| ... | ... |
---
### 2.6 文档 ★★★★★
| 指标 | 数值 | 评价 |
|------|------|------|
| ... | ... | ... |
---
### 2.7 安全 ★★★★★
| 指标 | 状态 |
|------|:--:|
| ... | ... |
---
### 2.8 外部集成与生态 ★★★★★
| 指标 | 状态 |
|------|:--:|
| ... | ... |
---
## 三、风险清单
### 🔴 高风险(必须修复)
1. **[风险标题]**:[具体描述 + 影响 + 建议修复方案]
### 🟡 中风险(建议修复)
1. **[风险标题]**:[具体描述 + 影响 + 建议修复方案]
### 🟢 改进建议
1. **[建议标题]**:[具体描述 + 预期收益]
---
## 四、改进路线图(可选)
如果发现 3+ 个高中风险,给出优先级排序的改进路线图:
| 优先级 | 改进项 | 预期工作量 | 预期收益 |
|:--:|------|:--:|------|
| 1 | ... | X 天 | 解决 N 个高/中风险 |
| 2 | ... | X 天 | ... |
---<项目根目录>/maturity-report.mdtarget/、node_modules/、dist/、build/、.git/、worktrees/side-projects/、examples/、demo/ 中的代码默认不计入主项目统计,但需在报告中标注folder_operations,不用 ls -R© KonghaYao, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files (references) in .claude/skills/project-maturity of KonghaYao/peri.
Open the folder on GitHubat commit d7ee444
Project Maturity next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Project Maturity this skillKonghaYao/peri | 223 | — | ~1.8k | Automated safety check: Notes | Apache-2.0 | |
| Logfire Instrumentationbasicmachines-co/basic-memory | 4.1k | — | ~2.3k | Automated safety check: Pass | AGPL-3.0 | |
| Workflow Setupathola/claude-night-market | 342 | — | ~1.4k | Automated safety check: Pass | MIT | |
| Supercov Securitysupercorp-ai/supercov | 150 | 1 repos | ~236 | Automated safety check: Pass | MIT | |
| Logfire Instrumentationpydantic/skills | 140 | — | ~6.1k | Automated safety check: Pass | MIT | |
| Project Initathola/claude-night-market | 342 | — | ~1.2k | Automated safety check: Pass | MIT |
basicmachines-co/basic-memory
Adds Pydantic Logfire tracing, logging and metrics to Python, JavaScript or TypeScript and Rust projects, with the correct setup order and library extras.
athola/claude-night-market
Configures GitHub Actions CI/CD workflows for testing, linting, and deployment.
supercorp-ai/supercov
Scans a repository's source for security vulnerabilities with the supercov CLI, pointing to the line of each finding and mapping it to CWE classes.
pydantic/skills
Add Pydantic Logfire observability to application code — traces, logs, metrics, and AI/agent spans.
athola/claude-night-market
Scaffolds new projects with git, CI/CD workflows, pre-commit hooks, and build config.
firecrawl/firecrawl
Adds Firecrawl's /scrape endpoint to application code to pull markdown, HTML, links, screenshots or structured data from a single known URL.
KonghaYao/peri
Queries Langfuse traces, prompts, datasets and sessions, and analyzes local LLM gateway logs for requests, context growth, token use and cache hits.
KonghaYao/peri
Audits recent agent conversation history and turns repeated failures and successes into testable harness improvement proposals that later audits can check.
KonghaYao/peri
Runs commands, reads and edits files, and copies data on remote machines through a single-file Node script that wraps the system ssh and scp, in Chinese.
KonghaYao/peri
Sends a compact, redacted decision packet to a tool-free Opus advisor subagent when a task has high-risk trade-offs or stalled investigations, then weighs the answer.
KonghaYao/peri
Registers, lists and removes recurring agent tasks with five-field cron expressions, and sets safety rules so a schedule is created only when the user clearly asks.
KonghaYao/peri
Verifies and repairs a feature by using the real Peri terminal UI as a user would, looping verify, decide, fix and review until a fresh round shows no blockers.
Works with
Categories
对任意项目进行全面的成熟度评估扫描。当用户说"检查项目成熟度"、"项目评估"、 "maturity assessment"、"代码质量扫描"、"项目健康度"、"项目体检"、 "scan project maturity"、"项目有多成熟"时触发。适用场景:接手新项目前的摸底、 发布前的质量审查、技术尽调、团队内部代码健康度盘点。. Project Maturity is an agent skill from KonghaYao/peri.
Project Maturity fits situations like: devOps & Cloud work in your project.
Run `npx skills add KonghaYao/peri --skill project-maturity -a claude-code`. Or copy the skill folder (.claude/skills/project-maturity in KonghaYao/peri) into .claude/skills/project-maturity in your project. Claude Code loads it when a task matches its description.
Run `npx skills add KonghaYao/peri --skill project-maturity -a codex`. Or copy the skill folder (.claude/skills/project-maturity in KonghaYao/peri) into .agents/skills/project-maturity in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add KonghaYao/peri --skill project-maturity -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/project-maturity, .gemini/skills/project-maturity, .github/skills/project-maturity and .opencode/skills/project-maturity in your project.
SKILL.md names no scripts, command-line tools or credentials: Project Maturity is instructions for the agent only. Our summary lists: Python 3; Docker.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Project Maturity is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Project Maturity: Logfire Instrumentation (basicmachines-co/basic-memory, 4.1k stars), Workflow Setup (athola/claude-night-market, 342 stars), Supercov Security (supercorp-ai/supercov, 150 stars) and Logfire Instrumentation (pydantic/skills, 140 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
KonghaYao (a GitHub user) maintains it in KonghaYao/peri, which has 223 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 8, 2026.
Source: KonghaYao/peri on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.