【AI编程】【Kiro】-------Kiro 个人提示词放哪?Kiro 全局个人提示词(personal.md)配置指南
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 主体 UserbatchDeleteUser();//批量删除用户 说明:形容词 batch 动词 Delete 主体 UserbuildUserAdd();//构建新增用户对象 说明:动词 build 主体 User 描述 AddisUserLogin();//是否已经登录 说明:动词 is 主体 User 描述 LoginhasResourcePermission();//是否有资源权限 说明:动词 has 主体 Resource 描述 Permission■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■分割线■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 【动词】 动词推荐统一使用: 新增: add addUser 删除: delete deleteUser 修改: update updateUser 查询: query queryUser 导入:importimportUser导出: 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 新增结果 */publicvoidaddUser(UserRequserAddReq){log.info("[addUser][【新增】新增用户] name={}, age={}, ",userAddReq.getName(),userAddReq.getAge());//=========================变量==============================intuserListSize=userReqList.size();//当前登录用户Stringusername=SecurityUtils.getUser().getUsername();//=========================校验==============================if(StringUtils.isBlank(username)){log.info("[addUser][【新增】新增用户]新增失败!用户未登录 username={} ",username);thrownewRuntimeException("用户未登录。请登录后访问");}//=========================业务==============================//处理用户默认头像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 会自动识别,无需任何额外配置,所有项目自动加载。
