Skip to content

.kiroignore 是 Kiro 提供的文件屏蔽机制,采用与 .gitignore 完全相同的语法,用于阻止 AI Agent 读取指定文件。适用场景包括:屏蔽 .env 等凭证文件、排除构建产物以减少 AI 上下文干扰、满足团队合规要求。支持项目级配置和全局配置两种模式,可与 .gitignore 同时启用。

Kiro IDE .kiroignore:保护敏感文件不进入 AI 上下文

.kiroignore 文件用于告诉 Kiro 的 AI Agent:哪些文件不应该被读取。无论是 API 密钥、数据库凭证,还是你不希望发送给外部服务的私密内容,都可以通过这个机制排除在外。

为什么需要 .kiroignore

场景说明
安全防止含有凭证、API Key 等敏感数据的文件被 AI 读取
隐私将机密信息排除在 AI 交互上下文之外
合规确保不向外部服务传输不该共享的文件内容
聚焦排除构建产物和大型数据文件,让 AI 上下文更精准

项目级配置

在项目根目录(或任意子目录)创建 .kiroignore 文件,按需添加屏蔽规则:

# 凭证与密钥
.env
.env.*
!.env.example
*.pem
*.key

# 私有目录
secrets/
private/

创建文件后,还需要在设置中启用它:

  1. 打开 Settings(Mac:Cmd+,,Windows/Linux:Ctrl+,
  2. 搜索 Agent Ignore Files(设置项:kiroAgent.agentIgnoreFiles
  3. .kiroignore 添加到数组中

完成后,Kiro 会自动跳过所有匹配规则的文件。

设置选项说明

kiroAgent.agentIgnoreFiles 接受文件名数组,常见用法:

  • 同时启用多种忽略文件:[".gitignore", ".kiroignore"]
  • 设为 [] 可禁用所有项目级 ignore 文件

子目录 ignore 文件

.gitignore 一样,可以在子目录中放置 .kiroignore 来覆盖或扩展父目录的规则。子目录内的规则对该目录下的文件优先生效。

全局 ignore 文件

以下全局 ignore 文件无需额外配置,Kiro 会自动识别:

  • ~/.kiro/settings/kiroignore — 作用于所有项目的全局规则
  • Git 的全局 ignore 文件(通过 core.excludesfile 配置)— 仅在 Git 仓库中生效

全局文件适合存放你希望在所有项目中都排除的模式,比如操作系统生成的临时文件、个人工具配置等。

语法规则

.kiroignore 使用标准 gitignore 语法:

模式效果
file.txt忽略指定文件
*.log按扩展名忽略
folder/忽略整个目录
**/temp忽略任意子目录中的 temp
!keep.txt不忽略(取反规则)

配置示例

保护 API Key 和密钥文件

# 各环境配置文件
.env
.env.local
.env.production

# 保留模板文件可访问
!.env.example

# 证书和密钥文件
*.pem
*.key
*.p12
credentials/

排除构建产物和数据文件

# 构建输出
dist/
build/
.next/

# 数据文件
*.sql
*.dump
data/exports/

团队合规场景

# 客户数据目录
customer-data/
pii/

# 内部审计文档
compliance/internal/
audit-reports/

最佳实践

  • 用注释说明原因:注明为什么忽略某类文件,方便团队成员理解
  • 验证规则生效:让 Kiro 读取一个被忽略的文件,它会提示访问被拦截
  • 定期审查模式:项目结构变化后,回顾 ignore 规则是否还适用
  • 与团队对齐全局规则:统一全局 ignore 配置,确保跨 workspace 行为一致

常见问题

Q:.kiroignore.gitignore 的区别是什么?

A:.gitignore 控制哪些文件不提交到 Git 仓库;.kiroignore 控制哪些文件不被 Kiro AI Agent 读取。两者语法相同,但作用层面不同,可以同时配置。如果你在 kiroAgent.agentIgnoreFiles 中加入 .gitignore,Kiro 也会遵守 .gitignore 中的规则。

Q:.kiroignore 能阻止 Kiro 索引文件内容吗?

A:是的,.kiroignore 中列出的文件不会被 Agent 读取,也不会出现在 AI 的上下文中。但 Kiro 的 Codebase Indexing 功能是否受此影响,建议查阅最新版文档确认。

Q:如果既有全局 ignore,又有项目级 ignore,规则如何合并?

A:两者同时生效,取并集。全局规则覆盖所有项目,项目级规则只对当前项目有效。子目录中的 ignore 文件对该子目录优先生效,可以用取反规则(!)显式解除父级忽略。