unopim/agent-skills

unopim-standards

Use when writing or changing any UnoPim code — the canonical rules for Laravel 13 and PHP 8.4 idiom, security, performance, scale, extensibility, localization and comments.

查看源码

使用方法

  1. 复制安装命令,在自己的智能体环境安装前先检查源码包。
  2. 从原始文档核对所需工具、凭据和支持的宿主。
  3. 说明输入材料与期望交付物,并对照来源检查输出。
npx skills add https://github.com/unopim/agent-skills --skill unopim-standards

开始前需了解

  • 安装不包含模型订阅、API 额度或访问文件的权限。
  • 仓库星数和安装量反映活跃情况,不等于独立质量或安全测试。
仓库原始内容

按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。

UnoPim Standards

The canonical, judgment-level rules for all UnoPim code. Every rule cites a real file under packages/Webkul/ in the UnoPim checkout ($UNOPIM) as the pattern to copy — follow the exemplar, never invent a generic-Laravel alternative. Mechanical rules (anything a regex can catch) are enforced by hooks and by unopim-verify; these files spend their words on the calls that need a model's judgment.

The installed checkout outranks these files: when the code in $UNOPIM disagrees with a reference file, follow the checkout and report the drift so the skill can be regenerated — these documents are a fallback snapshot, not the source of truth.

Comments

No comments inside method bodies, object/array literals, or Blade markup — not even a one-line "why". A genuinely non-obvious rationale belongs in the class or method PHPDoc, or in the commit message. No narration, no section dividers, no banners. Laravel framework internals do use narrative inline comments; that is framework style, not app/package style, and not this codebase's.

Reference files

FileCovers
laravel13.mdLaravel 13 / PHP 8.4 idiom: promoted constructors, explicit types, attribute-based models + casts(), enums in src/Enums/, FormRequest, API Resources, named routes, match(), first-party over custom
security.mdFail-open ACL and how to close it, also_authorizes, in-controller bouncer(), FormRequest authorize(), upload allowlists, DataGrid XSS, mass assignment, SSRF, CSV formula injection, secrets at rest, CSRF
performance.mdEager loading, no query in loops or Blade, Cache::remember, RequestMemo, the scoped() / singleton() / bind() decision table for Octane
scale.mdMillions-of-rows discipline: chunkById/lazyById, keyset cursors, chunked whereIn, queued jobs, streaming migrations, indexes, pagination — plus portability: DB prefix in raw SQL, MySQL+PostgreSQL, optional Elasticsearch, server-agnostic code
extensibility.mdReuse-first: base classes, core()/bouncer(), events + proxy models as the extension mechanism, rule-of-two extraction, BC-preserving additive change, migration folders
localization.mden_US canonical, 33 locales, natural translations, :placeholder preservation, unopim:translations:check
comments.mdThe absolute comment bar, the PHPDoc contract, and the measured core baseline

REQUIRED SUB-SKILL: Use unopim-verify before claiming any change is complete.

按任务相关推荐