一款新的 AI 编辑器,感觉比 coursor 更适合程序员?

官方网站:https://kiro.dev/

现在在 Preview 阶段,全免费!

主要是这部分的流程:自上而下的设计和分解,然后一步一步的执行,和以往的那种“随意发挥”的 AI 要好多了呀!其他的和 cursor 类似,包括比如测试有错会自动一遍遍调整到通过。

# Specs

## What are specs?

Specs or specifications are structured artifacts that formalize the development process for complex features in your application. They provide a systematic approach to transform high-level ideas into detailed implementation plans with clear tracking and accountability.

With Kiro's specs, you can:

- Break down requirements into user stories with acceptance criteria
- Build design docs with sequence diagrams and architecture plans
- Track implementation progress across discrete tasks
- Collaborate effectively between product and engineering teams

用了一下真的挺舒服,缺点只有两个:每天有限额;无法接入自己的模型。

要是有能力抽成 emacs 的包就好了……GUI 的编辑器好难用……

homebrew 直接安装,不要填写他的 waitlist 。

1 个赞

我更倾向于直接使用模型 我->claude,而不是 我->kiro->claude,除非不得以

也就是个流程的事,当然,我也希望他有配置接入自己模型的能力。主要还是在这个流程上。

我是希望有大佬能把他这个流程抽为 emacs 的一个包,让我在 emacs 里用上他。

可以直接把他的 prompt 拿出来在 claude code 里自定义一个 command

是的。但还是希望在 emacs 里有个沉浸式的体验 。

PS. 我是不是应该改改标题,叫作 [Package Request] :joy:

1 个赞

这不就 claude-code 已经在做的吗? 直接上 GitHub - stevemolitor/claude-code.el: Claude Code Emacs integration

1 个赞

还没用过 claude code,之前使用的 aider 配合 copilot 确实也觉得体验不太行,这个流程更符合我的要求。

(嗨,这不是公司还不给报么,先凑合个免费的。等这个的收费计划出来看看再决定。)

GUI 编辑器又没有 API 接口,怎么做成 emacs 的包?

类似这种,背后都是用模型的, 设计好机制和交互流程,应该也不是不能实现。(他现在也就是 sonnet 4)

个人目前 AI workflow in emacs

AI编程 (pair programming): claude-code.el

需要手动控制 context or 问一些杂事: gptel

手写 code: lsp-bridge + copilot

claude-code 比之前 aider 体验好非常多 无脑 enter (我直接 bind f9)

3 个赞

看了一下, 确实挺好, 很清晰.

每个项目从需求文档开始, 用户将项目需求写在需求文档中, 然后ai根据需求文档生成设计文档, 再根据设计文档生成任务列表文档.

需求文档, 设计文档, 任务列表文档, 这三者每个都对应一个具体的markdown文件, 放在项目目录中, 用户可以查看可以编辑, 能更加精确地控制AI的执行过程.

希望Emacs中也早点实现.

我现在就是双开……一边是 kiro 让他做设计和改代码,一边是 emacs 去直接干预 markdown 和代码。:joy:

claude-code 可以在 CLAUDE.md 中定义流程

这是我用于检查 bug 的指示,会让它每次执行大幅操作前,都先制定 plan 和 todo, 然后按 todo 一个个来

### Principles

#### Editing

- You MUST not modify/write or delete any other files outside the project root directory, this is NOT ALLOWED

### Task execution process

#### Files structure

##### Overview

The execution process relevant files are stored in the .claude-local directory. Each subdirectory in the .claude-local directory represents a specific task, such as .claude-code/xxx, where xxx is the task name. Each task consists of the following components:

- Execution plan
- Task list
- Temporary file

The structure is as follows:

.claude-local
 \
  \---xxx
       \--- plan-xxx.md
        \-- todo-xxx.md
         \- aa.md

##### plan file

When performing a complex or long task, I will ask you to plan it first, when I accept the plan, you MUST write the plan to .claude-code/xxx/plan-xxx.md.

Execution of task should follow the plan.

##### todo list

Then, you MUST generate a specific to-do list of execution steps from .claude-code/xxx/plan-xxx.md and store it in .claude-code/xxx/todo-xxx.md. You should number each step (including sub-step). This file is used to track the execution status. For each step, you should define 4 fields at least:

- task description
- task status: PENDING, IN PROGRESS, COMPLETED
- task result: store detail information of execution result, and you can use emoji as success/fail flag, like: ❌ ✅. If code bugs found, give it a ❗ flag even a step finised success.
- task data: store any other information, like:
  - execution aborted reason
  - a step finished with some useful information found
  - listing all state/temporary files related to this step
  - other notable messages
  
  Its default content is empty.

If a step is complex, you can split it into sub task/step, and they also need to be tracked.

This file's format should be markdown. Each step should be organized as a markdown heading.

###### File update appointment

- When I tell you to start executing task xxx, after completing each step in the todo list, you MUST update the .claude-local/xxx/todo-xxx.md file in real-time and mark it as completed.
- When execution aborted, unfinished/running step MUST mark back to IN PROGRESS, and you also should update 'task data' field as well.

When I ask you to resume/continue execution, you should continue from last process point. Again, you should use todo list file to track process.

##### temporary file

During execution, if you need to record certain output, status, analysis results, or other useful information of the steps that have been executed, then you should create .claude-local/xxx/aa.md file, where the 'aa' part is generated by you. Notes that naming of temporary file must respect some rules:

- the first part, must be type name, like: analysis, report, output, status or something else (you decide)
- rest parts, should be identifiers, describes belonging or purpose of this file.
- multiple parts should be concatenated by '-'

Example: 'analysis-xxxx-aaaa.md'

After you creating a new temporary file, you should link it with specific step in todo list file (todo-xxx.md), using 'task data' field.

You should not use temporary file to track task execution process.

#### Behaviors standard

Behaviors standard below should be followed when you are executing some tasks, for better working:

##### execution progress tarcking

When you tracking task execution progress, the only standard is todo file. A step completed only when it is marked as COMPLETED. Other sources are references only.

When each time you need to report current progress, you should check lastest todo file first too.

##### find/anlysis/check bug/issue

- For each file, analysis its dependencies first (for example, for go, use `import` in a file to find this file's dependencies)
- You should check whether these dependencies file is accessible in project
- Before checking bug, Read all necessary code files and understand what they do first. Notes that you should read both: checked file itself and their all accessible dependencies files.

  This also means: If you need read other sources (like: type/function/method define) from additional files, you should also read these files fully. Do not be lazy and stop using tools like grep/rg to read parts of code.
  
  For example, you are analysising file A, it import/reference/depends on other 10 files, you should read other 10 files too, to understand full code base precisely.
    
- Before find/anlysis/check bug/issue, you must ensure you have read all related file and understand them.
- When checking bugs, you should think hard, check carefully, do not be lazy.
- When checking bugs, if I do not give limit range (for example, severity levels), you should list all bugs as many as possible

1 个赞

麻烦问下,你们的 claude code 是怎么买的?我今天尝试购买,但感觉国内的信用卡是无法付款的……

可以到这个网站搜 claude code api,我目前是用这个的,一个月 70, 每天 $25

人多的话咱们可以拼车,哈哈

好家伙……真的好家伙……

可以用 openai compatible API

用这个包,就可以把 claude code 连接到自己的一些模型上,比如 copilot 的 sonnet 模型。

不知道我理解的对不对?

是可以用其他家比较便宜的 api (e.g. openrouter/deepseek) 只要是 OpenAI compatible. copilot 的 sonnet 没提供接口吧? 那就不能

我可以试试,之前我用 aider 的时候,就是抽的 copilot 的 sonnet 。