@ariso-ai/ivan 1.0.30 โ 1.0.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +237 -448
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/services/address-executor.d.ts +1 -1
- package/dist/services/address-executor.d.ts.map +1 -1
- package/dist/services/address-executor.js +16 -2
- package/dist/services/address-executor.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,584 +1,373 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
1
3
|
# Ivan ๐ค
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
### The AI engineering teammate that ships pull requests โ and remembers your team's lessons while doing it.
|
|
6
|
+
|
|
7
|
+
Give Ivan a sentence. Ivan breaks it into PR-sized tasks, **debates its own design with a principal-engineer persona**, writes the code, reviews it, opens the PR, and then **handles the review comments too**.
|
|
4
8
|
|
|
5
|
-
|
|
9
|
+
[](https://www.npmjs.com/package/@ariso-ai/ivan)
|
|
10
|
+
[](https://www.npmjs.com/package/@ariso-ai/ivan)
|
|
11
|
+
[](#license)
|
|
12
|
+
[](https://www.anthropic.com)
|
|
13
|
+
[](#contributing)
|
|
6
14
|
|
|
7
15
|
```bash
|
|
8
|
-
npm i -g @ariso-ai/ivan
|
|
16
|
+
npm i -g @ariso-ai/ivan && ivan "Add rate limiting to the public API"
|
|
9
17
|
```
|
|
10
18
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
## Quick Start
|
|
19
|
+
[Quick Start](#-quick-start) ยท [Expert Mode](#-expert-mode-an-ai-that-argues-with-itself-so-you-dont-have-to) ยท [Institutional Memory](#-institutional-memory-ivan-learns-your-team) ยท [Commands](#-cli-reference) ยท [Contributing](#-contributing)
|
|
14
20
|
|
|
15
|
-
|
|
21
|
+
</div>
|
|
16
22
|
|
|
17
|
-
|
|
23
|
+
---
|
|
18
24
|
|
|
19
|
-
|
|
20
|
-
# Interactive mode - Ivan will prompt you for what to build
|
|
21
|
-
ivan
|
|
25
|
+
## Why Ivan?
|
|
22
26
|
|
|
23
|
-
|
|
24
|
-
ivan "Add user authentication with JWT tokens"
|
|
27
|
+
Most AI coding tools have two problems: they **forget everything** between sessions, and they **ship code that nobody reviewed**. Ivan was built to fix both.
|
|
25
28
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
+
> ๐ง **It remembers.** Ivan distills your team's real PRs and coding sessions into *institutional knowledge*, then injects those hard-won lessons into every future task. The more your team works, the smarter Ivan gets.
|
|
30
|
+
>
|
|
31
|
+
> ๐๏ธ **It reviews itself.** In **Expert mode**, a separate principal-engineer persona critiques the plan *and* the diff across multiple rounds before a single line reaches your PR โ like having a senior reviewer pair with the implementer, automatically.
|
|
32
|
+
>
|
|
33
|
+
> ๐ **It closes the loop.** Ivan doesn't stop at "PR opened." It addresses inline review comments, replies with the fixing commit, and can be triggered straight from a GitHub issue with `@ivan-agent /build`.
|
|
29
34
|
|
|
30
|
-
Ivan
|
|
31
|
-
1. Break down your request into manageable tasks
|
|
32
|
-
2. Create branches and implement changes using AI
|
|
33
|
-
3. Generate proper commit messages
|
|
34
|
-
4. Create pull requests with detailed descriptions
|
|
35
|
+
Ivan runs **locally, with your credentials**, on top of [Claude Code](https://docs.anthropic.com/claude/docs/claude-code) โ bring your Anthropic API key, or a Claude Max subscription via the CLI driver.
|
|
35
36
|
|
|
36
|
-
|
|
37
|
+
---
|
|
37
38
|
|
|
38
|
-
|
|
39
|
+
## ๐ Quick Start
|
|
39
40
|
|
|
40
41
|
```bash
|
|
41
|
-
#
|
|
42
|
-
ivan
|
|
43
|
-
|
|
44
|
-
# Address comments on a specific PR
|
|
45
|
-
ivan address 123
|
|
42
|
+
# 1. Install
|
|
43
|
+
npm i -g @ariso-ai/ivan
|
|
46
44
|
|
|
47
|
-
#
|
|
48
|
-
ivan
|
|
45
|
+
# 2. Run it in any git repo โ Ivan walks you through API keys & preferences on first run
|
|
46
|
+
ivan "Add user authentication with JWT tokens"
|
|
49
47
|
```
|
|
50
48
|
|
|
51
|
-
Ivan will:
|
|
52
|
-
1. Find all unaddressed inline code comments
|
|
53
|
-
2. Implement fixes using AI
|
|
54
|
-
3. Commit changes with co-author attribution
|
|
55
|
-
4. Reply to comments with the fixing commit
|
|
49
|
+
That's it. Ivan will:
|
|
56
50
|
|
|
57
|
-
|
|
51
|
+
1. ๐งฉ **Break down** your request into manageable, PR-ready tasks
|
|
52
|
+
2. ๐ฟ **Branch & implement** each one using Claude Code
|
|
53
|
+
3. โ๏ธ **Write** conventional commit messages and a detailed PR description
|
|
54
|
+
4. ๐ฌ **Open the PR** with context-specific review instructions
|
|
58
55
|
|
|
59
|
-
|
|
56
|
+
Want Ivan to think harder? Add one flag:
|
|
60
57
|
|
|
61
58
|
```bash
|
|
62
|
-
|
|
63
|
-
ivan add-action
|
|
59
|
+
ivan --mode expert "Refactor the billing module to support proration"
|
|
64
60
|
```
|
|
65
61
|
|
|
66
|
-
|
|
67
|
-
1. Triggers when someone mentions `@ivan-agent /build` in an issue
|
|
68
|
-
2. Reads the issue description as the task
|
|
69
|
-
3. Creates a PR with the implementation
|
|
70
|
-
4. Waits 15 minutes for reviews
|
|
71
|
-
5. Automatically addresses any review comments
|
|
72
|
-
|
|
73
|
-
**Required GitHub Secrets** (set in your repository settings under Settings โ Secrets and variables โ Actions):
|
|
74
|
-
- `OPEN_AI_KEY`: Your OpenAI API key
|
|
75
|
-
- `ANTHROPIC_KEY`: Your Anthropic API key
|
|
76
|
-
- `PAT`: GitHub Personal Access Token with `repo` and `pull_requests` permissions
|
|
77
|
-
|
|
78
|
-
## Understanding Ivan's Drivers
|
|
62
|
+
---
|
|
79
63
|
|
|
80
|
-
|
|
64
|
+
## ๐๏ธ Expert Mode: an AI that argues with itself so you don't have to
|
|
81
65
|
|
|
82
|
-
|
|
66
|
+
Ivan ships two execution modes. Pick per-run with `--mode`:
|
|
83
67
|
|
|
84
|
-
|
|
68
|
+
| Mode | What it does | Best for |
|
|
69
|
+
| --- | --- | --- |
|
|
70
|
+
| **`simple`** *(default)* | A fast, one-shot hand-off to Claude Code. | Quick changes, well-scoped tasks. |
|
|
71
|
+
| **`expert`** | A collaborative **architect โ implementer** loop, grounded in your team's learnings. | High-stakes changes where design quality matters. |
|
|
85
72
|
|
|
86
|
-
|
|
87
|
-
- **How it works**: Uses the Anthropic API directly via TypeScript SDK
|
|
88
|
-
- **Requires**: Anthropic API key (`sk-ant-...`)
|
|
89
|
-
- **Best for**: Users with API access, production environments
|
|
90
|
-
- **Advantages**: Reliable, works in CI/CD, better error handling
|
|
73
|
+
In **Expert mode**, Ivan splits into two minds. The **Implementer** writes the code. A separate **Architect** session โ adopting a principal-engineer persona that *holds your team's institutional knowledge* โ challenges it. They go back and forth on the **design**, then on the **diff**, and the Architect decides when the work is good enough to ship.
|
|
91
74
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
75
|
+
```
|
|
76
|
+
๐ Institutional knowledge (your past PRs + coding sessions)
|
|
77
|
+
โ injected into every round, weighed heavily
|
|
78
|
+
โผ
|
|
79
|
+
โโโโโโโโโโโโโโโโโโโโ plan โโโถ critique โโโถ revise โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
80
|
+
โ ๐จ Implementer โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโถ โ ๐๏ธ Architect โ
|
|
81
|
+
โ writes code โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ principal engineer โ
|
|
82
|
+
โโโโโโโโโโโโโโโโโโโโ APPROVE / APPROVE_WITH_NITS / REVISE โ read-only, never edits โ
|
|
83
|
+
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
84
|
+
โผ
|
|
85
|
+
๐ Design rounds โโโถ ๐ ๏ธ Implementation โโโถ ๐ Code-review rounds โโโถ โ
PR
|
|
86
|
+
```
|
|
97
87
|
|
|
98
|
-
**
|
|
99
|
-
|
|
100
|
-
|
|
88
|
+
- The Architect is **read-only** โ it inspects the codebase to ground its critique but never touches the code.
|
|
89
|
+
- Every turn ends with a calibrated verdict โ `APPROVE`, `APPROVE_WITH_NITS` (minor notes folded in without another round), or `REVISE` (a blocking issue worth another pass).
|
|
90
|
+
- **Rounds are dynamic, not fixed.** The loop ends the moment the Architect approves, bails early if it keeps raising the same unresolved concern, and only runs to the configured cap on genuinely hard tasks. Simple changes finish in a single round.
|
|
91
|
+
- By default the Architect runs on a stronger reasoning model (**Claude Opus**) while the Implementer uses your configured model โ a senior reviewer + a fast builder.
|
|
92
|
+
|
|
93
|
+
**Tune it** in `~/.ivan/config.json` (the round counts are *safety ceilings*, not targets):
|
|
94
|
+
|
|
95
|
+
```jsonc
|
|
96
|
+
{
|
|
97
|
+
"collaborative": {
|
|
98
|
+
"architectModel": "claude-opus-4-8", // the reviewer's brain
|
|
99
|
+
"maxDesignRounds": 5, // max design back-and-forths before building
|
|
100
|
+
"maxReviewRounds": 3 // max code-review back-and-forths before shipping
|
|
101
|
+
}
|
|
102
|
+
}
|
|
101
103
|
```
|
|
102
104
|
|
|
103
|
-
|
|
105
|
+
---
|
|
104
106
|
|
|
105
|
-
|
|
107
|
+
## ๐ง Institutional Memory: Ivan learns your team
|
|
106
108
|
|
|
107
|
-
|
|
108
|
-
- **How it works**: Uses `gh auth login` for authentication
|
|
109
|
-
- **Requires**: GitHub CLI installed and authenticated
|
|
110
|
-
- **Best for**: Local development, interactive use
|
|
111
|
-
- **Advantages**: Easy setup, secure token management
|
|
109
|
+
Ivan's edge is that it doesn't start every task from zero. The `ivan learn` command builds a durable, queryable store of your team's engineering wisdom โ and Expert mode reads from it on every task.
|
|
112
110
|
|
|
113
|
-
**Setup:**
|
|
114
111
|
```bash
|
|
115
|
-
|
|
116
|
-
|
|
112
|
+
# Initialize the learnings store in a repo
|
|
113
|
+
ivan learn init --repo /path/to/repo
|
|
117
114
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
- **Requires**: GitHub PAT with `repo` and `pull_requests` permissions
|
|
121
|
-
- **Best for**: CI/CD environments, GitHub Actions, automated workflows
|
|
122
|
-
- **Advantages**: Works in non-interactive environments
|
|
115
|
+
# Learn from your merged PRs (review comments are a goldmine of lessons)
|
|
116
|
+
ivan learn ingest-repo --repo /path/to/repo --state merged --limit 100
|
|
123
117
|
|
|
124
|
-
|
|
118
|
+
# Learn from how you actually think โ mine your local Claude Code sessions
|
|
119
|
+
ivan learn coding-sessions --repo /path/to/repo
|
|
125
120
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
ivan reconfigure # Select PAT option during setup
|
|
121
|
+
# See what Ivan knows
|
|
122
|
+
ivan learn query --repo /path/to/repo --text "error handling for async locks"
|
|
129
123
|
```
|
|
130
124
|
|
|
131
|
-
|
|
125
|
+
**How it works:**
|
|
132
126
|
|
|
133
|
-
-
|
|
134
|
-
-
|
|
135
|
-
-
|
|
136
|
-
-
|
|
137
|
-
- **๐ Smart Commit Messages**: Generates conventional commit messages using OpenAI's GPT-4
|
|
138
|
-
- **๐ฌ PR Comment Handling**: Automatically addresses PR review comments with `ivan address` command
|
|
139
|
-
- **๐ Smart Review Requests**: Generates context-specific review instructions for each PR using AI
|
|
140
|
-
- **๐ค GitHub Actions Integration**: Trigger Ivan automatically when tagged in issues
|
|
141
|
-
- **๐ฏ Repository-Specific Instructions**: Set coding guidelines and patterns that are automatically applied to every task
|
|
142
|
-
- **๐ Progress Tracking**: SQLite database tracks all jobs, tasks, execution history, and tool calls
|
|
143
|
-
- **๐ Web Interface**: Built-in web server to view and monitor jobs and tasks in your browser
|
|
144
|
-
- **โก Interactive Prompting**: Automatically prompts for missing configuration instead of failing
|
|
145
|
-
|
|
146
|
-
## Configuration
|
|
147
|
-
|
|
148
|
-
Ivan automatically prompts for configuration on first use. Configuration is stored in `~/.ivan/config.json` and the database in `~/.ivan/db.sqlite`.
|
|
149
|
-
|
|
150
|
-
### Reconfigure at Any Time
|
|
127
|
+
- ๐ฅ **`ingest-pr` / `ingest-repo`** โ fetches PR review feedback from GitHub and distills it into reusable *engineering lessons* and *repo conventions*.
|
|
128
|
+
- ๐งฌ **`coding-sessions`** โ analyzes your local Claude Code transcripts to extract **thinking patterns** (how you reason about architecture, product, and quality) and **example interactions** (the questions and corrections that reveal how a senior engineer thinks).
|
|
129
|
+
- ๐พ **Canonical & committable** โ learnings are stored as plain JSONL under `.ivan/`, so they live in git, travel with the repo, and are reviewable like any other artifact. A derived local `.ivan/db.sqlite` powers fast semantic retrieval; queries never hit the network.
|
|
130
|
+
- ๐ช **`install-hooks`** โ wires Ivan's retrieval surface into Claude Code itself (`UserPromptSubmit` and `PostToolUse(Edit|Write|MultiEdit)`), so the right lesson surfaces at the right moment.
|
|
151
131
|
|
|
152
132
|
```bash
|
|
153
|
-
#
|
|
154
|
-
ivan
|
|
155
|
-
|
|
156
|
-
# Configure specific settings
|
|
157
|
-
ivan configure-executor # Change Claude execution mode (SDK vs CLI)
|
|
158
|
-
ivan choose-model # Select Claude model
|
|
159
|
-
ivan configure-review-agent # Set review bot to tag in PRs
|
|
160
|
-
ivan show-config # View current configuration
|
|
133
|
+
ivan learn install-hooks --repo /path/to/repo # learnings show up live, mid-edit
|
|
134
|
+
ivan learn rebuild --repo /path/to/repo # rebuild the derived index
|
|
161
135
|
```
|
|
162
136
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
- **GitHub Authentication**: GitHub CLI (`gh`) or Personal Access Token (PAT)
|
|
166
|
-
- **Claude Executor Type**: SDK (API-based) or CLI (Claude Max)
|
|
167
|
-
- **OpenAI API Key**: For generating commit messages and PR descriptions
|
|
168
|
-
- **Anthropic API Key**: For Claude Code execution (SDK mode only)
|
|
169
|
-
- **Claude Model**: Choose between Sonnet 4.5, Haiku, or Opus
|
|
170
|
-
- **Repository Instructions**: Optional coding guidelines specific to each repository
|
|
171
|
-
- **Tool Permissions**: Configure which tools Claude Code can use per repository
|
|
137
|
+
---
|
|
172
138
|
|
|
173
|
-
##
|
|
139
|
+
## ๐ฌ Address review comments โ automatically
|
|
174
140
|
|
|
175
|
-
|
|
141
|
+
Ivan treats review feedback and red CI as first-class workflows, not an afterthought.
|
|
176
142
|
|
|
177
143
|
```bash
|
|
178
|
-
#
|
|
179
|
-
ivan
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
ivan --
|
|
144
|
+
ivan address # scan all open PRs for unaddressed comments or failing checks
|
|
145
|
+
ivan address 123 # just PR #123
|
|
146
|
+
ivan address --from-user alice # only comments from specific reviewers
|
|
147
|
+
ivan address --yes # skip confirmation prompts
|
|
148
|
+
ivan address --non-interactive # accept all comments without prompting (CI-friendly)
|
|
183
149
|
```
|
|
184
150
|
|
|
185
|
-
Ivan
|
|
186
|
-
1. Break down your request into individual tasks
|
|
187
|
-
2. Ask if you want to wait for PR reviews
|
|
188
|
-
3. Execute each task using Claude Code
|
|
189
|
-
4. Create pull requests with detailed descriptions
|
|
190
|
-
5. Optionally wait and automatically address comments
|
|
191
|
-
|
|
192
|
-
### Non-Interactive Mode (Headless)
|
|
151
|
+
For each unresolved inline comment, Ivan implements the fix, commits it with co-author attribution, and replies to the thread with the fixing commit โ using the GitHub GraphQL API to track resolution state so it never double-handles a comment. It can also pick up **failing checks** on a PR and push fixes for them.
|
|
193
152
|
|
|
194
|
-
|
|
195
|
-
# Provide task description as an argument
|
|
196
|
-
ivan "Add user authentication with JWT tokens"
|
|
153
|
+
---
|
|
197
154
|
|
|
198
|
-
|
|
199
|
-
ivan --base-branch learnings-bootstrap "Add user authentication with JWT tokens"
|
|
155
|
+
## โ๏ธ GitHub Actions: trigger Ivan from an issue
|
|
200
156
|
|
|
201
|
-
|
|
202
|
-
ivan -c config.json
|
|
157
|
+
Turn any issue into a PR. Run once:
|
|
203
158
|
|
|
204
|
-
|
|
205
|
-
ivan -
|
|
159
|
+
```bash
|
|
160
|
+
ivan add-action
|
|
206
161
|
```
|
|
207
162
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
### Task Examples
|
|
163
|
+
This installs a workflow so that when someone comments `@ivan-agent /build` on an issue, Ivan reads the issue, opens a PR, waits ~15 minutes for reviews, and then runs `ivan address` to handle any comments โ fully hands-off.
|
|
211
164
|
|
|
212
|
-
|
|
165
|
+
**Required repository secrets** (Settings โ Secrets and variables โ Actions):
|
|
213
166
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
167
|
+
| Secret | Purpose |
|
|
168
|
+
| --- | --- |
|
|
169
|
+
| `ANTHROPIC_KEY` | Claude Code execution |
|
|
170
|
+
| `OPEN_AI_KEY` | Commit messages & PR descriptions |
|
|
171
|
+
| `PAT` | GitHub token with `repo` + `pull_requests` permissions |
|
|
219
172
|
|
|
220
|
-
|
|
173
|
+
---
|
|
221
174
|
|
|
222
|
-
|
|
175
|
+
## ๐ Drivers: run it your way
|
|
223
176
|
|
|
224
|
-
|
|
225
|
-
ivan # Run Ivan to execute tasks (default command)
|
|
226
|
-
ivan --base-branch dev # Branch work from a specific local base branch
|
|
227
|
-
ivan address [PR#] # Address PR review comments (optionally specify PR number)
|
|
228
|
-
ivan reconfigure # Reconfigure API keys and settings
|
|
229
|
-
ivan add-action # Add Ivan Agent GitHub Action workflow to repository
|
|
230
|
-
```
|
|
177
|
+
Ivan is deliberately flexible about *how* it talks to Claude and to GitHub.
|
|
231
178
|
|
|
232
|
-
|
|
179
|
+
**Claude execution** โ switch anytime with `ivan configure-executor`:
|
|
233
180
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
ivan choose-model # Select Claude model (Sonnet, Haiku, Opus)
|
|
237
|
-
ivan configure-review-agent # Set review bot to tag in PRs
|
|
238
|
-
ivan show-config # View current configuration
|
|
239
|
-
```
|
|
181
|
+
- **SDK mode** *(default)* โ uses the Anthropic API directly. Reliable, CI/CD-friendly. Needs an `sk-ant-...` key.
|
|
182
|
+
- **CLI mode** โ drives your locally installed Claude Code CLI. **No API costs for Claude Max subscribers**, with real-time streaming output.
|
|
240
183
|
|
|
241
|
-
|
|
184
|
+
**GitHub auth** โ chosen during setup:
|
|
242
185
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
ivan config-tools # Configure allowed tools for Claude Code
|
|
246
|
-
ivan config-blocked-tools # Configure blocked tools for Claude Code
|
|
247
|
-
```
|
|
186
|
+
- **GitHub CLI** *(default)* โ `gh auth login`, easy and secure for local use.
|
|
187
|
+
- **Personal Access Token (PAT)** โ for CI, Actions, and non-interactive environments.
|
|
248
188
|
|
|
249
|
-
|
|
189
|
+
---
|
|
250
190
|
|
|
251
|
-
|
|
252
|
-
ivan web [--port <port>] # Start the web interface
|
|
253
|
-
ivan web-stop [--port <port>] # Stop the web interface
|
|
254
|
-
```
|
|
191
|
+
## ๐ ๏ธ Configuration
|
|
255
192
|
|
|
256
|
-
|
|
193
|
+
Ivan prompts for everything it needs on first run. Settings live in `~/.ivan/config.json`; the local database in `~/.ivan/db.sqlite`.
|
|
257
194
|
|
|
258
195
|
```bash
|
|
259
|
-
ivan
|
|
260
|
-
ivan
|
|
261
|
-
ivan
|
|
262
|
-
ivan
|
|
263
|
-
ivan
|
|
264
|
-
ivan learnings query --repo /path/to/repo --text "locks await"
|
|
196
|
+
ivan reconfigure # re-run the full setup
|
|
197
|
+
ivan configure-executor # SDK (API) vs CLI (Claude Max)
|
|
198
|
+
ivan choose-model # pick the implementer model
|
|
199
|
+
ivan configure-review-agent # which bot to tag for PR reviews
|
|
200
|
+
ivan show-config # view current settings
|
|
265
201
|
```
|
|
266
202
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
`ivan learnings install-hooks --repo ...` installs the recommended Claude Code retrieval surface into the target repo's `.claude/settings.json`:
|
|
203
|
+
**Models** (`ivan choose-model`):
|
|
270
204
|
|
|
271
|
-
-
|
|
272
|
-
-
|
|
273
|
-
-
|
|
205
|
+
- **Claude Sonnet 4.6** โ recommended default, great balance of speed and quality
|
|
206
|
+
- **Claude Haiku 4.5** โ faster, ideal for simpler tasks
|
|
207
|
+
- **Claude Opus 4.8** โ most capable, slower (and the default Architect in Expert mode)
|
|
274
208
|
|
|
275
|
-
|
|
209
|
+
**Per-repository settings:**
|
|
276
210
|
|
|
277
211
|
```bash
|
|
278
|
-
#
|
|
279
|
-
ivan
|
|
280
|
-
|
|
281
|
-
# Address a specific PR
|
|
282
|
-
ivan address 123
|
|
283
|
-
|
|
284
|
-
# Only process comments from specific reviewers
|
|
285
|
-
ivan address --from-user username
|
|
286
|
-
ivan address --from-user user1 --from-user user2
|
|
287
|
-
|
|
288
|
-
# Skip confirmation prompts
|
|
289
|
-
ivan address --yes
|
|
212
|
+
ivan edit-repo-instructions # coding guidelines applied to every task in this repo
|
|
213
|
+
ivan config-tools # allow-list tools Claude Code may use
|
|
214
|
+
ivan config-blocked-tools # block specific tools (least-privilege by repo)
|
|
290
215
|
```
|
|
291
216
|
|
|
292
|
-
|
|
293
|
-
- Working with specific team members
|
|
294
|
-
- Prioritizing feedback from senior reviewers
|
|
295
|
-
- Processing comments in batches by reviewer
|
|
296
|
-
|
|
297
|
-
## Advanced Features
|
|
217
|
+
---
|
|
298
218
|
|
|
299
|
-
|
|
219
|
+
## ๐ CLI Reference
|
|
300
220
|
|
|
301
|
-
|
|
221
|
+
<details>
|
|
222
|
+
<summary><strong>Core</strong></summary>
|
|
302
223
|
|
|
303
224
|
```bash
|
|
304
|
-
ivan
|
|
305
|
-
ivan
|
|
225
|
+
ivan # interactive: Ivan asks what to build
|
|
226
|
+
ivan "task description" # headless: run a task directly
|
|
227
|
+
ivan --mode expert "task" # collaborative architect โ implementer loop
|
|
228
|
+
ivan --base-branch dev "task" # branch work off a specific local base branch
|
|
229
|
+
ivan -c config.json # run from a JSON config (CI-friendly)
|
|
230
|
+
ivan -c '{"tasks":["A","B"],"mode":"expert"}' # inline JSON config
|
|
231
|
+
ivan address [PR#] # address PR review comments or failing checks
|
|
232
|
+
ivan add-action # install the GitHub Actions workflow
|
|
306
233
|
```
|
|
307
234
|
|
|
308
|
-
|
|
309
|
-
- All jobs and their status
|
|
310
|
-
- Task progress and execution logs
|
|
311
|
-
- Pull request links
|
|
235
|
+
</details>
|
|
312
236
|
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
Set coding guidelines automatically applied to every task:
|
|
237
|
+
<details>
|
|
238
|
+
<summary><strong>Configuration</strong></summary>
|
|
316
239
|
|
|
317
240
|
```bash
|
|
241
|
+
ivan reconfigure
|
|
242
|
+
ivan configure-executor # SDK vs CLI
|
|
243
|
+
ivan choose-model # Sonnet / Haiku / Opus
|
|
244
|
+
ivan configure-review-agent # PR review bot
|
|
245
|
+
ivan show-config
|
|
318
246
|
ivan edit-repo-instructions
|
|
247
|
+
ivan config-tools
|
|
248
|
+
ivan config-blocked-tools
|
|
319
249
|
```
|
|
320
250
|
|
|
321
|
-
|
|
322
|
-
- Coding style preferences (e.g., "Use TypeScript for all new files")
|
|
323
|
-
- Framework patterns (e.g., "Follow React hooks patterns")
|
|
324
|
-
- Testing requirements (e.g., "Add unit tests for new functions")
|
|
325
|
-
- Documentation standards
|
|
326
|
-
|
|
327
|
-
### Tool Configuration
|
|
251
|
+
</details>
|
|
328
252
|
|
|
329
|
-
|
|
253
|
+
<details>
|
|
254
|
+
<summary><strong>Learnings (<code>ivan learn</code>, alias <code>ivan learnings</code>)</strong></summary>
|
|
330
255
|
|
|
331
256
|
```bash
|
|
332
|
-
ivan
|
|
333
|
-
ivan
|
|
257
|
+
ivan learn init --repo <path>
|
|
258
|
+
ivan learn ingest-pr --repo <path> --pr <number>
|
|
259
|
+
ivan learn ingest-repo --repo <path> [--state merged|open|closed|all] [--limit N]
|
|
260
|
+
ivan learn coding-sessions --repo <path> [--project <name>] [--recent <days>] [--dry-run] [--force] [--reset]
|
|
261
|
+
ivan learn install-hooks --repo <path>
|
|
262
|
+
ivan learn rebuild --repo <path> [--if-stale]
|
|
263
|
+
ivan learn query --repo <path> --text "<search>" [--limit N]
|
|
334
264
|
```
|
|
335
265
|
|
|
336
|
-
|
|
266
|
+
</details>
|
|
337
267
|
|
|
338
|
-
|
|
268
|
+
<details>
|
|
269
|
+
<summary><strong>Web interface</strong></summary>
|
|
339
270
|
|
|
340
271
|
```bash
|
|
341
|
-
ivan
|
|
272
|
+
ivan web [--port <port>] # monitor jobs, tasks, logs & PR links in your browser
|
|
273
|
+
ivan web-stop [--port <port>]
|
|
342
274
|
```
|
|
343
275
|
|
|
344
|
-
|
|
345
|
-
- **Claude Sonnet 4.5**: Recommended for most tasks (default)
|
|
346
|
-
- **Claude 3.5 Haiku**: Faster, good for simpler tasks
|
|
347
|
-
- **Claude Opus 4.1**: Most capable, but slower
|
|
348
|
-
|
|
349
|
-
## How It Works
|
|
350
|
-
|
|
351
|
-
### Standard Workflow
|
|
352
|
-
1. **Task Analysis**: Breaks your request into PR-ready tasks
|
|
353
|
-
2. **Branch Creation**: Creates a new branch for each task
|
|
354
|
-
3. **Code Implementation**: Implements changes using Claude Code
|
|
355
|
-
4. **Smart Commits**: Generates conventional commit messages
|
|
356
|
-
5. **Pull Request**: Creates PR with detailed description and review instructions
|
|
357
|
-
6. **Review Monitoring** (optional): Waits and automatically addresses comments
|
|
358
|
-
7. **Cleanup**: Returns to main branch and syncs
|
|
359
|
-
|
|
360
|
-
### Address Workflow
|
|
361
|
-
1. **PR Scanning**: Finds open PRs with unaddressed comments
|
|
362
|
-
2. **Comment Detection**: Uses GitHub GraphQL API to find unresolved comments
|
|
363
|
-
3. **Automated Fixes**: Implements fixes using Claude Code
|
|
364
|
-
4. **Smart Replies**: Replies to comments with the fixing commit
|
|
365
|
-
5. **Review Requests**: Adds context-specific review instructions
|
|
366
|
-
|
|
367
|
-
### GitHub Actions Workflow (via `ivan add-action`)
|
|
368
|
-
1. **Trigger**: Someone mentions `@ivan-agent /build` in an issue
|
|
369
|
-
2. **Task Execution**: Reads issue body and runs `ivan` command
|
|
370
|
-
3. **PR Creation**: Creates PR with implementation
|
|
371
|
-
4. **Wait Period**: Waits 15 minutes for reviews
|
|
372
|
-
5. **Auto-Address**: Runs `ivan address` to handle comments
|
|
373
|
-
6. **Status Updates**: Comments on the issue with progress
|
|
374
|
-
|
|
375
|
-
## Architecture
|
|
276
|
+
Open http://localhost:3000 to watch jobs, task progress, execution logs, and PR links in real time.
|
|
376
277
|
|
|
377
|
-
|
|
378
|
-
ivan/
|
|
379
|
-
โโโ src/
|
|
380
|
-
โ โโโ database/ # SQLite schema and migrations
|
|
381
|
-
โ โโโ services/ # Core services
|
|
382
|
-
โ โ โโโ claude-executor.ts # Claude Code SDK integration
|
|
383
|
-
โ โ โโโ claude-cli-executor.ts # Claude Code CLI integration
|
|
384
|
-
โ โ โโโ executor-factory.ts # Executor selection logic
|
|
385
|
-
โ โ โโโ openai-service.ts # OpenAI API for commits/PRs
|
|
386
|
-
โ โ โโโ job-manager.ts # Job and task management
|
|
387
|
-
โ โ โโโ git-manager.ts # Git operations (supports gh CLI and PAT)
|
|
388
|
-
โ โ โโโ task-executor.ts # Main workflow orchestration
|
|
389
|
-
โ โ โโโ address-executor.ts # PR comment addressing workflow
|
|
390
|
-
โ โ โโโ address-task-executor.ts # Individual comment fix execution
|
|
391
|
-
โ โ โโโ pr-service.ts # PR comment and check detection
|
|
392
|
-
โ โโโ config.ts # Configuration management (drivers, auth, etc.)
|
|
393
|
-
โ โโโ web-server.ts # Web interface server
|
|
394
|
-
โ โโโ index.ts # CLI entry point
|
|
395
|
-
โโโ .github/workflows/
|
|
396
|
-
โ โโโ ivanagent.yml # GitHub Actions workflow template
|
|
397
|
-
โโโ dist/ # Compiled JavaScript
|
|
398
|
-
โโโ ~/.ivan/ # User configuration and database
|
|
399
|
-
โโโ config.json # API keys and settings
|
|
400
|
-
โ # - executorType: "sdk" | "cli"
|
|
401
|
-
โ # - githubAuthType: "gh-cli" | "pat"
|
|
402
|
-
โ # - githubPat: optional PAT token
|
|
403
|
-
โโโ db.sqlite # Jobs and tasks database
|
|
404
|
-
```
|
|
405
|
-
|
|
406
|
-
## Database Schema
|
|
278
|
+
</details>
|
|
407
279
|
|
|
408
|
-
|
|
409
|
-
- **Jobs**: High-level user requests with timestamps and status
|
|
410
|
-
- **Tasks**: Individual tasks within a job, including:
|
|
411
|
-
- Task description
|
|
412
|
-
- Task type (build or address)
|
|
413
|
-
- Execution status (not_started, active, completed)
|
|
414
|
-
- Branch name tracking
|
|
415
|
-
- Pull request links
|
|
416
|
-
- Execution logs with tool calls
|
|
417
|
-
- Timestamps
|
|
418
|
-
|
|
419
|
-
## Running Locally
|
|
420
|
-
|
|
421
|
-
```bash
|
|
422
|
-
# Clone the repository
|
|
423
|
-
git clone https://github.com/ariso-ai/ivan.git
|
|
424
|
-
cd ivan
|
|
425
|
-
|
|
426
|
-
# Install dependencies
|
|
427
|
-
npm install
|
|
280
|
+
---
|
|
428
281
|
|
|
429
|
-
|
|
430
|
-
npm run build
|
|
282
|
+
## ๐ How It Works
|
|
431
283
|
|
|
432
|
-
|
|
433
|
-
npm link
|
|
284
|
+
**Build workflow**
|
|
434
285
|
|
|
435
|
-
# Or run directly from the project directory
|
|
436
|
-
node dist/index.js
|
|
437
286
|
```
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
```bash
|
|
442
|
-
# Run in development mode
|
|
443
|
-
npm run dev
|
|
444
|
-
|
|
445
|
-
# Watch mode for development
|
|
446
|
-
npm run watch
|
|
447
|
-
|
|
448
|
-
# Run linter
|
|
449
|
-
npm run lint
|
|
450
|
-
|
|
451
|
-
# Type checking
|
|
452
|
-
npm run typecheck
|
|
287
|
+
request โโถ task breakdown โโถ branch โโถ implement โโถ smart commit โโถ PR
|
|
288
|
+
โ โ
|
|
289
|
+
(expert mode: design + review rounds) (optional: wait & auto-address)
|
|
453
290
|
```
|
|
454
291
|
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
### Execution Logs and Tracking
|
|
458
|
-
- All Claude Code interactions logged with tool calls
|
|
459
|
-
- Visual dividers separate responses for readability
|
|
460
|
-
- Tool inputs/outputs captured for debugging
|
|
461
|
-
- Logs stored in database per task
|
|
462
|
-
- Web interface for viewing progress
|
|
463
|
-
|
|
464
|
-
### Smart Review Comments
|
|
465
|
-
- AI-generated review instructions for each PR
|
|
466
|
-
- Uses GPT-4o-mini to analyze diffs and generate contextual requests
|
|
467
|
-
- Replies to comments include "Ivan:" prefix for attribution
|
|
468
|
-
- Co-author attribution in commits
|
|
469
|
-
|
|
470
|
-
### Comment Detection
|
|
471
|
-
- GitHub GraphQL API for resolved status detection
|
|
472
|
-
- Processes only unresolved inline code comments
|
|
473
|
-
- Ignores top-level PR comments
|
|
474
|
-
- Skips comments with existing replies
|
|
475
|
-
|
|
476
|
-
## Security Considerations
|
|
477
|
-
|
|
478
|
-
- **API Keys**: Stored locally in `~/.ivan/config.json` (not in database)
|
|
479
|
-
- **Input Masking**: All API key prompts are masked during entry
|
|
480
|
-
- **Local Execution**: Tasks run in your local environment with your credentials
|
|
481
|
-
- **GitHub Auth**: Supports both GitHub CLI and PAT authentication
|
|
482
|
-
- **Repository Secrets**: For GitHub Actions, secrets are managed through GitHub's secure secrets storage
|
|
483
|
-
- **Tool Permissions**: Configure allowed/blocked tools per repository for enhanced security
|
|
484
|
-
|
|
485
|
-
## Limitations
|
|
486
|
-
|
|
487
|
-
- **GitHub Only**: Currently supports GitHub repositories (GitLab/Bitbucket planned)
|
|
488
|
-
- **Task Complexity**: Tasks must be completable by Claude Code
|
|
489
|
-
- **Internet Required**: Active connection needed for AI services
|
|
490
|
-
- **GitHub Authentication**: Requires either GitHub CLI or PAT with appropriate permissions
|
|
491
|
-
|
|
492
|
-
## Contributing
|
|
493
|
-
|
|
494
|
-
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
495
|
-
|
|
496
|
-
## License
|
|
292
|
+
**Address workflow** โ finds unresolved inline comments via the GitHub GraphQL API, implements each fix, replies with the fixing commit, and adds context-specific review instructions.
|
|
497
293
|
|
|
498
|
-
|
|
294
|
+
**Everything is tracked** โ a local SQLite database records every job, task, status transition, branch, PR link, and Claude Code tool call, viewable through `ivan web`.
|
|
499
295
|
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
For issues, questions, or suggestions, please open an issue on GitHub.
|
|
503
|
-
|
|
504
|
-
## Troubleshooting
|
|
296
|
+
---
|
|
505
297
|
|
|
506
|
-
|
|
298
|
+
## ๐๏ธ Architecture
|
|
507
299
|
|
|
508
|
-
**GitHub CLI not authenticated:**
|
|
509
|
-
```bash
|
|
510
|
-
gh auth login
|
|
511
300
|
```
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
#
|
|
301
|
+
ivan/
|
|
302
|
+
โโโ src/
|
|
303
|
+
โ โโโ services/
|
|
304
|
+
โ โ โโโ task-executor.ts # orchestrates the build workflow (simple | expert)
|
|
305
|
+
โ โ โโโ collaborative-executor.ts # the architect โ implementer loop (expert mode)
|
|
306
|
+
โ โ โโโ claude-executor.ts # Claude Code SDK driver
|
|
307
|
+
โ โ โโโ claude-cli-executor.ts # Claude Code CLI driver (Claude Max)
|
|
308
|
+
โ โ โโโ address-executor.ts # PR comment addressing workflow
|
|
309
|
+
โ โ โโโ git-manager-*.ts # git ops over gh CLI or PAT
|
|
310
|
+
โ โ โโโ openai-service.ts # commit messages & PR descriptions
|
|
311
|
+
โ โโโ learnings/ # institutional-knowledge pipeline
|
|
312
|
+
โ โ โโโ ingest-*.ts # PR & repo evidence ingestion
|
|
313
|
+
โ โ โโโ session-analyzer.ts # mines Claude Code sessions for thinking patterns
|
|
314
|
+
โ โ โโโ extractor.ts # distills evidence into reusable lessons
|
|
315
|
+
โ โ โโโ builder.ts # rebuilds the derived sqlite index
|
|
316
|
+
โ โโโ config.ts # drivers, auth, models, collaborative settings
|
|
317
|
+
โ โโโ web-server.ts # job/task dashboard
|
|
318
|
+
โ โโโ index.ts # CLI entry point
|
|
319
|
+
โโโ .github/workflows/ivanagent.yml # @ivan-agent /build automation
|
|
320
|
+
โโโ ~/.ivan/ # config.json + db.sqlite (per user)
|
|
517
321
|
```
|
|
518
322
|
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
- Ensure PAT starts with `ghp_` or `github_pat_`
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
## ๐ค Contributing
|
|
523
326
|
|
|
524
|
-
|
|
327
|
+
Ivan is open source and contributions are genuinely welcome โ whether it's a bug fix, a new driver, better learnings extraction, or docs.
|
|
525
328
|
|
|
526
|
-
**API keys not working:**
|
|
527
329
|
```bash
|
|
528
|
-
ivan
|
|
330
|
+
git clone https://github.com/ariso-ai/ivan.git
|
|
331
|
+
cd ivan
|
|
332
|
+
npm install
|
|
333
|
+
npm run build # compile TypeScript
|
|
334
|
+
npm link # use your local build as the global `ivan`
|
|
335
|
+
|
|
336
|
+
# Development
|
|
337
|
+
npm run dev # run from source with tsx
|
|
338
|
+
npm run watch # rebuild on change
|
|
339
|
+
npm run lint # eslint
|
|
340
|
+
npm run typecheck # tsc --noEmit
|
|
341
|
+
npm test # build + jest
|
|
529
342
|
```
|
|
530
343
|
|
|
531
|
-
|
|
532
|
-
```bash
|
|
533
|
-
# Install Claude Code CLI first
|
|
534
|
-
# See: https://docs.anthropic.com/claude/docs/claude-code
|
|
344
|
+
Found a bug or have an idea? [Open an issue](https://github.com/ariso-ai/ivan/issues) or send a PR. If Ivan saved you time, a โญ on the repo helps other developers find it.
|
|
535
345
|
|
|
536
|
-
|
|
537
|
-
ivan configure-executor
|
|
538
|
-
```
|
|
346
|
+
---
|
|
539
347
|
|
|
540
|
-
|
|
541
|
-
- Update Claude Code CLI to latest version
|
|
542
|
-
- Try SDK mode: `ivan configure-executor`
|
|
543
|
-
- Test `claude --print` works independently
|
|
348
|
+
## ๐ Security
|
|
544
349
|
|
|
545
|
-
**
|
|
546
|
-
-
|
|
547
|
-
-
|
|
548
|
-
-
|
|
350
|
+
- **Keys stay local** โ stored in `~/.ivan/config.json`, never in the database, and masked on entry.
|
|
351
|
+
- **Your environment, your credentials** โ tasks run locally; nothing is executed on someone else's infrastructure.
|
|
352
|
+
- **Least privilege** โ restrict Claude Code's tools per repository with `ivan config-tools` / `ivan config-blocked-tools`.
|
|
353
|
+
- **CI secrets** โ for GitHub Actions, keys live in GitHub's encrypted secrets store.
|
|
549
354
|
|
|
550
|
-
|
|
355
|
+
---
|
|
551
356
|
|
|
552
|
-
|
|
553
|
-
```bash
|
|
554
|
-
ivan reconfigure
|
|
555
|
-
# Or edit ~/.ivan/config.json and set githubAuthType: "gh-cli" or "pat"
|
|
556
|
-
```
|
|
357
|
+
## ๐ฆ Limitations
|
|
557
358
|
|
|
558
|
-
**
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
# Or view current settings with:
|
|
562
|
-
ivan show-config
|
|
563
|
-
```
|
|
359
|
+
- **GitHub-first** โ GitLab / Bitbucket support is on the roadmap.
|
|
360
|
+
- **Internet required** โ Claude and OpenAI are called over the network.
|
|
361
|
+
- **Scope** โ tasks must be completable by Claude Code in your repo.
|
|
564
362
|
|
|
565
|
-
|
|
363
|
+
---
|
|
566
364
|
|
|
567
|
-
|
|
568
|
-
- Ensure you have write access to the repository
|
|
569
|
-
- Check SSH keys are configured: `ssh -T git@github.com`
|
|
570
|
-
- If using PAT, verify token permissions
|
|
365
|
+
## License
|
|
571
366
|
|
|
572
|
-
**
|
|
573
|
-
- Check if port is in use: `lsof -i :3000`
|
|
574
|
-
- Try different port: `ivan web --port 8080`
|
|
367
|
+
Released under the **MIT License**.
|
|
575
368
|
|
|
576
|
-
|
|
577
|
-
- Verify secrets are set in repository settings
|
|
578
|
-
- Check workflow file exists at `.github/workflows/ivanagent.yml`
|
|
579
|
-
- Ensure PAT has correct permissions
|
|
580
|
-
- Review Actions tab for error logs
|
|
369
|
+
ยฉ ariso.ai
|
|
581
370
|
|
|
582
|
-
|
|
371
|
+
**Built with โค๏ธ to make AI-powered engineering reviewable, repeatable, and a little bit wiser every day.**
|
|
583
372
|
|
|
584
|
-
|
|
373
|
+
If Ivan ships you a good PR, give it a โญ
|
package/dist/index.js
CHANGED
|
@@ -171,6 +171,7 @@ program
|
|
|
171
171
|
.option('--from-user <username>', 'Filter PRs by author GitHub username')
|
|
172
172
|
.option('--yes', 'Skip interactive prompts and process all PRs')
|
|
173
173
|
.option('--non-interactive', 'Accept all comments without prompting')
|
|
174
|
+
.option('--discussions <ids>', 'Comma-separated list of discussion IDs to address (e.g. discussion_r3495412327,discussion_r3495412328)')
|
|
174
175
|
.action(async (prNumber, options) => {
|
|
175
176
|
const wasConfigured = await checkConfiguration();
|
|
176
177
|
if (wasConfigured) {
|
|
@@ -179,8 +180,11 @@ program
|
|
|
179
180
|
return;
|
|
180
181
|
}
|
|
181
182
|
await runMigrations();
|
|
183
|
+
const discussionIds = options?.discussions
|
|
184
|
+
? options.discussions.split(',').map((id) => id.trim())
|
|
185
|
+
: undefined;
|
|
182
186
|
const addressExecutor = new AddressExecutor();
|
|
183
|
-
await addressExecutor.executeWorkflow(prNumber ? parseInt(prNumber) : undefined, options?.fromUser, options?.yes || options?.nonInteractive);
|
|
187
|
+
await addressExecutor.executeWorkflow(prNumber ? parseInt(prNumber) : undefined, options?.fromUser, options?.yes || options?.nonInteractive, discussionIds);
|
|
184
188
|
});
|
|
185
189
|
program
|
|
186
190
|
.command('web-stop')
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,6 @@ export declare class AddressExecutor {
|
|
|
7
7
|
private workingDir;
|
|
8
8
|
constructor();
|
|
9
9
|
private getClaudeExecutor;
|
|
10
|
-
executeWorkflow(specificPrNumber?: number, fromUser?: string, skipQuestions?: boolean): Promise<void>;
|
|
10
|
+
executeWorkflow(specificPrNumber?: number, fromUser?: string, skipQuestions?: boolean, discussionIds?: string[]): Promise<void>;
|
|
11
11
|
}
|
|
12
12
|
//# sourceMappingURL=address-executor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address-executor.d.ts","sourceRoot":"","sources":["../../src/services/address-executor.ts"],"names":[],"mappings":"AAkBA,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,UAAU,CAAS;;IAS3B,OAAO,CAAC,iBAAiB;IAOnB,eAAe,CACnB,gBAAgB,CAAC,EAAE,MAAM,EACzB,QAAQ,CAAC,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"address-executor.d.ts","sourceRoot":"","sources":["../../src/services/address-executor.ts"],"names":[],"mappings":"AAkBA,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,UAAU,CAAS;;IAS3B,OAAO,CAAC,iBAAiB;IAOnB,eAAe,CACnB,gBAAgB,CAAC,EAAE,MAAM,EACzB,QAAQ,CAAC,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,OAAO,EACvB,aAAa,CAAC,EAAE,MAAM,EAAE,GACvB,OAAO,CAAC,IAAI,CAAC;CAwQjB"}
|
|
@@ -24,7 +24,7 @@ export class AddressExecutor {
|
|
|
24
24
|
}
|
|
25
25
|
return this.claudeExecutor;
|
|
26
26
|
}
|
|
27
|
-
async executeWorkflow(specificPrNumber, fromUser, skipQuestions) {
|
|
27
|
+
async executeWorkflow(specificPrNumber, fromUser, skipQuestions, discussionIds) {
|
|
28
28
|
try {
|
|
29
29
|
if (specificPrNumber) {
|
|
30
30
|
console.log(chalk.blue.bold(`๐ Checking PR #${specificPrNumber} for unaddressed issues...`));
|
|
@@ -56,9 +56,23 @@ export class AddressExecutor {
|
|
|
56
56
|
const spinner = ora(specificPrNumber
|
|
57
57
|
? `Fetching PR #${specificPrNumber}...`
|
|
58
58
|
: 'Fetching open PRs...').start();
|
|
59
|
-
|
|
59
|
+
let prsWithIssues = specificPrNumber
|
|
60
60
|
? await this.prService.getSpecificPRWithIssues(specificPrNumber)
|
|
61
61
|
: await this.prService.getOpenPRsWithIssues(fromUser);
|
|
62
|
+
if (discussionIds && discussionIds.length > 0) {
|
|
63
|
+
// Parse numeric IDs from formats like "discussion_r3495412327"
|
|
64
|
+
const numericIds = new Set(discussionIds.map((id) => id.replace(/^discussion_r/, '')));
|
|
65
|
+
prsWithIssues = prsWithIssues
|
|
66
|
+
.map((pr) => ({
|
|
67
|
+
...pr,
|
|
68
|
+
unaddressedComments: pr.unaddressedComments.filter((c) => numericIds.has(c.id))
|
|
69
|
+
}))
|
|
70
|
+
.map((pr) => ({
|
|
71
|
+
...pr,
|
|
72
|
+
hasUnaddressedComments: pr.unaddressedComments.length > 0
|
|
73
|
+
}))
|
|
74
|
+
.filter((pr) => pr.hasUnaddressedComments);
|
|
75
|
+
}
|
|
62
76
|
spinner.succeed(`Found ${prsWithIssues.length} PRs with unaddressed issues`);
|
|
63
77
|
if (prsWithIssues.length === 0) {
|
|
64
78
|
if (specificPrNumber) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address-executor.js","sourceRoot":"","sources":["../../src/services/address-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAmB,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAMjE,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,OAAO,eAAe;IAClB,UAAU,CAAa;IACvB,SAAS,CAAa;IACtB,iBAAiB,CAAqB;IACtC,UAAU,GAAuB,IAAI,CAAC;IACtC,cAAc,GAA2B,IAAI,CAAC;IAC9C,UAAU,CAAS;IAE3B;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC,iBAAiB,GAAG,uBAAuB,EAAE,CAAC;QACnD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,EAAgB,CAAC;IACpC,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,gBAAyB,EACzB,QAAiB,EACjB,aAAuB;
|
|
1
|
+
{"version":3,"file":"address-executor.js","sourceRoot":"","sources":["../../src/services/address-executor.ts"],"names":[],"mappings":"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"}
|