feat(kiro): expand Kiro validation coverage and docs parity#617
feat(kiro): expand Kiro validation coverage and docs parity#617
Conversation
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces a substantial expansion of Kiro validation capabilities, adding new rule categories for powers, hooks, and MCP configurations, and enhancing existing checks for steering and agent files. The changes ensure comprehensive static analysis for Kiro components, with all rule counts and documentation updated and synchronized across the project to reflect the increased coverage. Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Pull request overview
Expands the Kiro tool surface validation in agnix-core (new validators + additional steering/agent rules) and updates the rules catalog + docs/website/locales to maintain parity across the repo.
Changes:
- Added Kiro validators for powers (
POWER.md), IDE hooks (.kiro.hook), and Kiro MCP settings (.kiro/settings/mcp.json), and extended Kiro steering + agent validation coverage. - Updated registry routing, parity gates, fixture expectations, and rule-count checks to include new Kiro categories and the new total (255 rules / 36 categories).
- Synced knowledge-base source-of-truth, generated website docs, and locale keys across root + crates.
Reviewed changes
Copilot reviewed 41 out of 63 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| website/src/data/siteData.json | Updates site-level rule/category totals. |
| website/docs/rules/index.md | Updates rules index totals + adds rows for new Kiro rule IDs. |
| website/docs/rules/generated/kr-pw-004.md | Generated documentation page for KR-PW-004. |
| website/docs/rules/generated/kr-pw-003.md | Generated documentation page for KR-PW-003. |
| website/docs/rules/generated/kr-pw-002.md | Generated documentation page for KR-PW-002. |
| website/docs/rules/generated/kr-pw-001.md | Generated documentation page for KR-PW-001. |
| website/docs/rules/generated/kr-mcp-002.md | Generated documentation page for KR-MCP-002. |
| website/docs/rules/generated/kr-mcp-001.md | Generated documentation page for KR-MCP-001. |
| website/docs/rules/generated/kr-hk-006.md | Generated documentation page for KR-HK-006. |
| website/docs/rules/generated/kr-hk-005.md | Generated documentation page for KR-HK-005. |
| website/docs/rules/generated/kr-hk-004.md | Generated documentation page for KR-HK-004. |
| website/docs/rules/generated/kr-hk-003.md | Generated documentation page for KR-HK-003. |
| website/docs/rules/generated/kr-hk-002.md | Generated documentation page for KR-HK-002. |
| website/docs/rules/generated/kr-hk-001.md | Generated documentation page for KR-HK-001. |
| website/docs/rules/generated/kr-ag-005.md | Generated documentation page for KR-AG-005. |
| website/docs/rules/generated/kr-ag-004.md | Generated documentation page for KR-AG-004. |
| website/docs/rules/generated/kr-ag-003.md | Generated documentation page for KR-AG-003. |
| website/docs/rules/generated/kr-ag-002.md | Generated documentation page for KR-AG-002. |
| website/docs/rules/generated/kr-ag-001.md | Generated documentation page for KR-AG-001. |
| website/docs/rules/generated/kiro-009.md | Generated documentation page for KIRO-009. |
| website/docs/rules/generated/kiro-008.md | Generated documentation page for KIRO-008. |
| website/docs/rules/generated/kiro-007.md | Generated documentation page for KIRO-007. |
| website/docs/rules/generated/kiro-006.md | Generated documentation page for KIRO-006. |
| website/docs/rules/generated/kiro-005.md | Generated documentation page for KIRO-005. |
| scripts/generate-docs-rules.py | Adds new Kiro category labels for docs generation. |
| scripts/check-rule-counts.py | Adds new Kiro categories to rule-count/category checks. |
| locales/zh-CN.yml | Adds localized messages for new Kiro rules. |
| locales/es.yml | Adds localized messages for new Kiro rules. |
| locales/en.yml | Adds localized messages for new Kiro rules. |
| knowledge-base/rules.json | Adds new Kiro rules + category metadata; updates totals. |
| knowledge-base/VALIDATION-RULES.md | Adds human-readable sections for new Kiro rules + updates totals/coverage table. |
| knowledge-base/README.md | Updates rule totals in KB navigation. |
| knowledge-base/INDEX.md | Updates totals and category tables to include new Kiro categories. |
| editors/vscode/README.md | Updates VS Code extension docs for new rule total. |
| crates/agnix-rules/rules.json | Syncs packaged rules catalog with knowledge-base (total 255). |
| crates/agnix-mcp/tests/mcp_tests.rs | Makes rule-count test derive expected count from knowledge-base. |
| crates/agnix-lsp/locales/zh-CN.yml | Adds localized messages for new Kiro rules (LSP). |
| crates/agnix-lsp/locales/es.yml | Adds localized messages for new Kiro rules (LSP). |
| crates/agnix-lsp/locales/en.yml | Adds localized messages for new Kiro rules (LSP). |
| crates/agnix-lsp/README.md | Updates LSP docs for new rule total. |
| crates/agnix-core/src/rules/mod.rs | Exposes new Kiro validator modules. |
| crates/agnix-core/src/rules/kiro_steering.rs | Extends steering validator with KIRO-005..009 (secrets, body, unknown keys, refs). |
| crates/agnix-core/src/rules/kiro_power.rs | Adds POWER.md validator KR-PW-001..004. |
| crates/agnix-core/src/rules/kiro_mcp.rs | Adds Kiro MCP settings validator KR-MCP-001..002. |
| crates/agnix-core/src/rules/kiro_hook.rs | Adds IDE hook validator KR-HK-001..004. |
| crates/agnix-core/src/rules/kiro_agent.rs | Extends agent validator with KR-AG-001..005 and CLI hook rules KR-HK-005..006. |
| crates/agnix-core/src/registry.rs | Wires new validators into file-type routing and updates expected counts. |
| crates/agnix-core/locales/zh-CN.yml | Adds localized messages for new Kiro rules (core). |
| crates/agnix-core/locales/es.yml | Adds localized messages for new Kiro rules (core). |
| crates/agnix-core/locales/en.yml | Adds localized messages for new Kiro rules (core). |
| crates/agnix-cli/tests/rule_parity.rs | Updates parity to include new Kiro prefixes/categories and fixture mapping. |
| crates/agnix-cli/tests/kiro_fixture_inventory.rs | Adjusts CLI runnable fixture expectations (exit codes + diagnostic counts). |
| crates/agnix-cli/tests/kiro_ci_gate.rs | Extends CI gate assertions for new Kiro prefixes/surfaces. |
| crates/agnix-cli/tests/docs_website_parity.rs | Extends docs/website parity checks for new Kiro prefixes/surfaces. |
| crates/agnix-cli/tests/cli_integration.rs | Updates SARIF rules-count expectation bounds for new total. |
| crates/agnix-cli/locales/zh-CN.yml | Adds localized messages for new Kiro rules (CLI). |
| crates/agnix-cli/locales/es.yml | Adds localized messages for new Kiro rules (CLI). |
| crates/agnix-cli/locales/en.yml | Adds localized messages for new Kiro rules (CLI). |
| SPEC.md | Updates spec-level totals and Kiro surface counts. |
| README.md | Updates supported-tools table row for Kiro (prefixes, counts, file surfaces). |
| CLAUDE.md | Updates repo docs for new totals and validator count. |
| CHANGELOG.md | Updates docs references to current rule totals. |
| AGENTS.md | Updates repo docs for new totals and validator count. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2303fdeaae
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Code Review
This pull request significantly expands the validation coverage for Kiro configurations by adding new validators for powers, hooks, and MCP configs, and expanding existing agent and steering rules. While the overall contribution is high-quality with comprehensive updates to documentation, localization files, and test suites, a path traversal vulnerability was identified in the KiroSteeringValidator. This vulnerability allows for file existence probing on the system where the linter is executed. It is recommended to apply path sanitization to mitigate this risk.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 42 out of 64 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (1)
crates/agnix-core/src/rules/kiro_mcp.rs:24
seems_plaintext_secretduplicates the same helper already present inrules/mcp.rs(and similar logic in other validators). Consider moving this into a shared helper (e.g., inschemas::commonorrulesutils) to keep the plaintext-secret heuristic consistent across MCP and Kiro MCP rules and avoid future drift.
fn seems_plaintext_secret(value: &str) -> bool {
let trimmed = value.trim();
!trimmed.is_empty()
&& !trimmed.starts_with("${")
&& !trimmed.starts_with("$(")
&& !trimmed.starts_with("{{")
}
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7d3900b734
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 46 out of 69 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 53c35ea2b5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 47 out of 70 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f40fb923ff
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
f40fb92 to
5bd23f6
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5bd23f6476
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 46 out of 68 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (1)
crates/agnix-cli/tests/cli_integration.rs:192
- This comment says there are 255 rules in VALIDATION-RULES.md, but the repo now reports 267 rules (e.g., knowledge-base/rules.json total_rules and multiple updated docs). Please update the comment to match the current total, or change it to derive the value dynamically to avoid future drift.
// Use threshold range to avoid brittleness when rules are added/removed,
// while still catching major regressions (missing rules) or explosions.
// As of writing, there are 255 rules documented in VALIDATION-RULES.md.
assert!(
rules.len() >= 70,
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary
Validation
Closes #593