Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

ci(framework): mechanically enforce cross-plugin orthogonality on PRs

已关闭
#250 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
48/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
git, github-actions, typescript

调研方向

Start with docs/ARCHITECTURE.md and the existing validate.yml and Lefthook configuration to understand where checks run. Use the violations described in #406 as fixtures, then verify that one deterministic checker runs locally and in CI, reports the file, line, and owning plugin, and checks both inter-plugin addresses and skill metadata consistency.

由索引模型根据 Issue 内容生成。

描述

Mechanically enforce the architecture rules a PR can silently break. Today they are self-attested at best, and #406 is the proof: aidd-orchestrator hardcodes aidd-dev, violating cross-plugin orthogonality, and nothing caught it.

Relationship to #406

  • #406 fixes the violation that exists today.
  • This issue stops the next one from landing.

One does not replace the other. Without this check, #406 recurs.

What to enforce

  • Cross-plugin orthogonality. No plugin references another by name. docs/ARCHITECTURE.md states the rule; nothing verifies it. A grep for aidd-<plugin>: outside its own plugin is a first approximation, but skill descriptions and routing regexes need a real check.
  • Docs match behavior. A change to a skill's actions that leaves its description and SKILL.md router table stale.

Note on the original scope

This issue was written when .github/PULL_REQUEST_TEMPLATE.md carried a checklist with "Docs updated" and "No cross-plugin references introduced". That checklist is gone: the template now certifies one thing only, that a human read every line. The rules survive in docs/ARCHITECTURE.md, unenforced — which is exactly the gap this issue fills.

Acceptance criteria

  • A PR introducing a hardcoded aidd-<plugin>: address outside its own plugin fails a check.
  • The check names the file and line, not just the rule.
  • The existing violations in #406 are the fixture: the check must catch them.

Guardrail local et CI

Un unique vérificateur d’orthogonalité est exécuté à deux niveaux :

  • Pré-commit local : Lefthook l’exécute sur les fichiers modifiés et bloque le commit avec le fichier, la ligne et le plugin propriétaire.
  • CI : validate.yml exécute les mêmes hooks sur toute l’arborescence. Elle reste l’autorité finale et bloque toute contribution ayant contourné le hook local.

Le garde-fou est un hook Git, pas un hook IA : il doit être déterministe, valable pour tous les outils et ne jamais dépendre d’un événement ou d’une configuration d’hôte IA.

Les deux niveaux vérifient les adresses inter-plugins et la cohérence entre actions, description et routeur d’un skill.

主要语言
TypeScript
星标
481
派生
45
平均合并
18 小时 48 分钟
30 天内合并 PR
111

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

ai-driven-dev/framework 的其他 Issue

查看 ai-driven-dev/framework 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。