Kiro 全局个人提示词(personal.md)配置指南

本文详细说明 Kiro 默认携带的基础文档,以及个人提示词的最优存放方式,帮你实现「一次配置,所有项目生效」,无需重复操作 ✨

📌 一、Kiro 默认携带的 3 个基础文档(Steering)

Kiro 初始化时,会在项目 .kiro/steering/ 目录下自动生成 3 个全局生效的基础文档,每次对话都会自动带入上下文,无需手动调用。

1. 📋 product.md(产品概述)

  • 核心定义:明确产品目的、目标用户、核心功能及业务目标
  • 核心作用:让 Kiro 理解「为什么做这个项目」,精准对齐产品方向,避免偏离需求

2. 💻 tech.md(技术栈)

  • 核心定义:指定项目使用的框架、库、开发工具,以及技术约束/禁用清单
  • 核心作用:引导 Kiro 优先使用你指定的技术栈,避免推荐无关或不符合项目要求的方案

3. 📂 structure.md(项目结构)

  • 核心定义:规范项目目录组织、文件命名规则、导入规范及架构约定
  • 核心作用:Kiro 生成代码时自动贴合你的项目结构,无需手动调整格式

📍 二、个人提示词最优存放方案(3种,优先推荐第1种)

结合你多项目的使用场景,优先推荐「全局个人偏好」方案,一次配置,所有项目自动生效,彻底告别重复操作 🚀

1. 🌟 全局个人偏好(所有项目生效,最推荐)

  • 存放路径~/.kiro/steering/personal.md(用户根目录下,全局唯一)
  • 我的在 C:\Users\jimmy.zhu.kiro\steering 里
  • 内容示例(可直接复制修改):
    在这里插入图片描述
    【提示词案例内容】
【交互偏好】
- 回复:简洁、直接、先给结论再解释
- 语言:全程中文

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■分割线■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【格式】规范:不要过度换行,兰布达复杂语句除外
	错误:
        List<Long> assetIds =
            baseAssets.stream().map(AssetEntity::getId).collect(Collectors.toList());
        Map<String, SpaceAssetDTO> spaceAssetDtoMap =
            getSpaceAssetMapByAssetIdsAndType(spaceId, nodeId, AssetType.DATASHEET, assetIds);
	正确: 
		List<Long> assetIds = baseAssets.stream().map(AssetEntity::getId).collect(Collectors.toList());
	    Map<String, SpaceAssetDTO> spaceAssetDtoMap = getSpaceAssetMapByAssetIdsAndType(spaceId, nodeId, AssetType.DATASHEET, assetIds);

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■分割线■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【方法名】格式规范: 形容词(非必要)+动词+主体+描述


batchAddUser();//批量新增用户                      说明:形容词 batch 动词 Add 主体 User 
batchDeleteUser();//批量删除用户                    说明:形容词 batch 动词 Delete 主体 User
buildUserAdd();//构建新增用户对象                  说明:动词 build 主体 User 描述 Add
isUserLogin();//是否已经登录                        说明:动词 is 主体 User 描述 Login
hasResourcePermission();//是否有资源权限             说明:动词 has 主体 Resource 描述 Permission

 
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■分割线■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【动词】
动词推荐统一使用:
新增: add      addUser
删除: delete  deleteUser
修改: update  updateUser
查询: query   queryUser
导入: import   importUser
导出: export   exportUser
处理: handle   handleUser
构建: build     buildUser

补充常用动词(按需使用)
新增 ------------ add 增加、insert 插入、create 创建、save 保存
删除 ------------ remove 移除、delete 删除、destory 销毁、clean 清理
改 ------------- set 设置 、edit 编辑、modify 修改、update 更新、select 选取、copy 复制
查 ------------- get  获取 、 query 查询 、index 索引、sort 排序、find 查找、search 搜索
数据操作 -------- read 读取、write 写入、load 加载、backup 备份、import 导入、export 导出、split 分割、merge 合并
资源操作 -------- start 启动、stop 停止、open 打开、 close 关闭
其他-------------send 发送、receive 接收、download 下载、upload 上传、refresh 刷新、lock 锁定、unlock 解锁


■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■分割线■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■


【变量命名】规范: 1、主体+类型  
原因: 写法 users 类型不明确; count 主体不明确
-----------------------------------------------------------------------------------------------------------
变量含义	                               错误写法	               正确写法
用户列表	                               users、userIds          userList、userSet、userArray、userMap
用户ID列表	                           ids	                   userIdList
用户数量	                               count	               userCount、userTotal、userNum
订单列表	                               orders	               orderList
是否启用	                               flag	                   isEnabled
用户名	                               name	                   userName
创建时间	                               time	                   createTime、updateTime、loginTime、expireDate
状态/类型	                               status、type	            userStatus、orderType、loginStatus
字符串/普通变量                           name、str、value          userName、orderNo、deptName、paramValue
布尔类型命名(is/has/can)                flag、status             isEnabled、hasPermission、canEdit、isSuccess、isDeleted
临时实体对象(带上作用前缀,见名知意)        user	                    userAdd、userUpdate、userDelete、userQuery

-----------------------------------------------------------------------------------------------------------
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■分割线■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
【方法体】规范: 

[1]service层需要三层
[2]service层函数第一行需要打印入参信息。
[3]service层函末尾,包括全部分叉需要打印日志。
[4]方法头写上专业的注释,包含方法的作用、入参、返回值。接口层和实现层各种层都需要
[5]有方法体以外的方法调用都需要加上注释说明,


 如下伪代码:
 
 /**
 * 新增用户
 * @param userAddReq 用户对象
 * @return 新增结果 
 */
public void addUser(UserReq userAddReq){
	log.info("[addUser][【新增】新增用户]  name={}, age={}, ",userAddReq.getName(), userAddReq.getAge());
    //=========================变量==============================
    int userListSize = userReqList.size();
    //当前登录用户
    String username = SecurityUtils.getUser().getUsername();
    //=========================校验==============================
    if(StringUtils.isBlank(username)){
	  log.info("[addUser][【新增】新增用户]新增失败!用户未登录 username={} ",username);
      throw new RuntimeException("用户未登录。请登录后访问");
    }
    //=========================业务==============================
	//处理用户默认头像
	this.handleUserDefaultAvatar(userAddReq);
	userAddReq.setCreater("张三");
	//插入用户
	userMapper.insert(userAddReq);
	log.info("[addUser][【新增】新增用户] 新增成功 name={}, age={}, ",userAddReq.getName(), userAddReq.getAge());
}
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■分割线■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■


【代码】规范: 统一用apache.commons包。包括集合、对象、字符串等 的处理
 
	错误:取空再取反,代码不够简洁
		if(username != null && !username.isEmpty()){    
		}
	错误:取空再取反
		if(!StringUtils.isEmpty(username)){    
		}
	正确:
		if(StringUtils.isNotEmpty(username)){    
		}

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■分割线■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

  • 核心优点:一次配置,所有项目自动加载,无需每个项目单独设置,节省时间

2. 📌 项目级提示词(当前项目生效)

  • 存放路径项目根目录/.kiro/steering/coding-rules.md(需手动新建)
  • 适用场景:项目特有规范、团队共同约定(如项目专属编码规则、接口规范)
  • 核心优点:与项目绑定,可通过 Git 共享给团队成员,保证团队规范统一

3. ⚡ 全局 Prompt 模板(CLI 快速调用)

  • 操作命令
# 创建全局 Prompt 模板
/prompts create global my-prompt --content "你的提示词内容"

# 查看所有全局 Prompt
/prompts list

# 对话中快速调用
/my-prompt
  • 适用场景:高频复用的长提示词(如代码审查、固定模板生成、接口文档规范)
  • 核心优点:一键调用,无需重复输入长文本,提升使用效率

✅ 三、最佳实践总结

  • 个人永久偏好(如编码习惯、交互风格)→ 放 ~/.kiro/steering/personal.md(全局生效)
  • 项目特有规范、团队约定 → 放 项目/.kiro/steering/xxx.md(项目内生效)
  • 高频复用的长提示词 → 用 /prompts 创建全局模板(一键调用)

💡 提示:~/.kiro/steering/personal.md 默认不存在,需手动创建,创建后 Kiro 会自动识别,无需任何额外配置,所有项目自动加载。

在这里插入图片描述

更多推荐