ineedcodes 0.1.7 → 1.0.0
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/LICENSE +1 -1
- package/README.md +82 -84
- package/package.json +22 -28
- package/src/agent.js +106 -0
- package/src/cli.js +93 -0
- package/src/config.js +39 -0
- package/src/provider.js +59 -0
- package/src/session.js +156 -0
- package/src/tools.js +185 -0
- package/src/ui.js +74 -0
- package/src/wizard.js +111 -0
- package/docs/assets/ineed-logo.svg +0 -161
- package/docs/configuration.md +0 -71
- package/docs/skills.md +0 -58
- package/packages/agent/dist/boost.d.ts +0 -34
- package/packages/agent/dist/boost.js +0 -138
- package/packages/agent/dist/boost.js.map +0 -1
- package/packages/agent/dist/events.d.ts +0 -67
- package/packages/agent/dist/events.js +0 -16
- package/packages/agent/dist/events.js.map +0 -1
- package/packages/agent/dist/index.d.ts +0 -6
- package/packages/agent/dist/index.js +0 -7
- package/packages/agent/dist/index.js.map +0 -1
- package/packages/agent/dist/lead-agent.d.ts +0 -85
- package/packages/agent/dist/lead-agent.js +0 -235
- package/packages/agent/dist/lead-agent.js.map +0 -1
- package/packages/agent/dist/orchestrator.d.ts +0 -43
- package/packages/agent/dist/orchestrator.js +0 -135
- package/packages/agent/dist/orchestrator.js.map +0 -1
- package/packages/agent/dist/runtime.d.ts +0 -44
- package/packages/agent/dist/runtime.js +0 -265
- package/packages/agent/dist/runtime.js.map +0 -1
- package/packages/agent/dist/system-prompts.d.ts +0 -24
- package/packages/agent/dist/system-prompts.js +0 -91
- package/packages/agent/dist/system-prompts.js.map +0 -1
- package/packages/agent/package.json +0 -21
- package/packages/cli/dist/index.d.ts +0 -3
- package/packages/cli/dist/index.js +0 -11426
- package/packages/cli/dist/index.js.map +0 -1
- package/packages/cli/dist/setup.d.ts +0 -37
- package/packages/cli/dist/setup.js +0 -250
- package/packages/cli/dist/setup.js.map +0 -1
- package/packages/cli/dist/tools-setup.d.ts +0 -12
- package/packages/cli/dist/tools-setup.js +0 -28
- package/packages/cli/dist/tools-setup.js.map +0 -1
- package/packages/cli/dist/ui/approval.d.ts +0 -12
- package/packages/cli/dist/ui/approval.js +0 -52
- package/packages/cli/dist/ui/approval.js.map +0 -1
- package/packages/cli/dist/ui/colors.d.ts +0 -14
- package/packages/cli/dist/ui/colors.js +0 -21
- package/packages/cli/dist/ui/colors.js.map +0 -1
- package/packages/cli/dist/ui/prompts.d.ts +0 -46
- package/packages/cli/dist/ui/prompts.js +0 -135
- package/packages/cli/dist/ui/prompts.js.map +0 -1
- package/packages/cli/dist/ui/renderer.d.ts +0 -13
- package/packages/cli/dist/ui/renderer.js +0 -95
- package/packages/cli/dist/ui/renderer.js.map +0 -1
- package/packages/cli/package.json +0 -23
- package/packages/core/dist/config/config.d.ts +0 -32
- package/packages/core/dist/config/config.js +0 -43
- package/packages/core/dist/config/config.js.map +0 -1
- package/packages/core/dist/context/engine.d.ts +0 -25
- package/packages/core/dist/context/engine.js +0 -98
- package/packages/core/dist/context/engine.js.map +0 -1
- package/packages/core/dist/index.d.ts +0 -20
- package/packages/core/dist/index.js +0 -21
- package/packages/core/dist/index.js.map +0 -1
- package/packages/core/dist/llm/openai-compatible.d.ts +0 -23
- package/packages/core/dist/llm/openai-compatible.js +0 -177
- package/packages/core/dist/llm/openai-compatible.js.map +0 -1
- package/packages/core/dist/memory/icm-adapter.d.ts +0 -31
- package/packages/core/dist/memory/icm-adapter.js +0 -98
- package/packages/core/dist/memory/icm-adapter.js.map +0 -1
- package/packages/core/dist/permissions/permissions.d.ts +0 -28
- package/packages/core/dist/permissions/permissions.js +0 -89
- package/packages/core/dist/permissions/permissions.js.map +0 -1
- package/packages/core/dist/security/secrets.d.ts +0 -4
- package/packages/core/dist/security/secrets.js +0 -43
- package/packages/core/dist/security/secrets.js.map +0 -1
- package/packages/core/dist/session/store.d.ts +0 -16
- package/packages/core/dist/session/store.js +0 -54
- package/packages/core/dist/session/store.js.map +0 -1
- package/packages/core/dist/shell/process.d.ts +0 -26
- package/packages/core/dist/shell/process.js +0 -128
- package/packages/core/dist/shell/process.js.map +0 -1
- package/packages/core/dist/skills/loader.d.ts +0 -9
- package/packages/core/dist/skills/loader.js +0 -163
- package/packages/core/dist/skills/loader.js.map +0 -1
- package/packages/core/dist/tools/fs.d.ts +0 -10
- package/packages/core/dist/tools/fs.js +0 -409
- package/packages/core/dist/tools/fs.js.map +0 -1
- package/packages/core/dist/tools/git.d.ts +0 -7
- package/packages/core/dist/tools/git.js +0 -251
- package/packages/core/dist/tools/git.js.map +0 -1
- package/packages/core/dist/tools/mcp.d.ts +0 -42
- package/packages/core/dist/tools/mcp.js +0 -158
- package/packages/core/dist/tools/mcp.js.map +0 -1
- package/packages/core/dist/tools/registry.d.ts +0 -21
- package/packages/core/dist/tools/registry.js +0 -50
- package/packages/core/dist/tools/registry.js.map +0 -1
- package/packages/core/dist/tools/search.d.ts +0 -2
- package/packages/core/dist/tools/search.js +0 -243
- package/packages/core/dist/tools/search.js.map +0 -1
- package/packages/core/dist/tools/shell.d.ts +0 -8
- package/packages/core/dist/tools/shell.js +0 -164
- package/packages/core/dist/tools/shell.js.map +0 -1
- package/packages/core/dist/tools/web.d.ts +0 -14
- package/packages/core/dist/tools/web.js +0 -125
- package/packages/core/dist/tools/web.js.map +0 -1
- package/packages/core/dist/types.d.ts +0 -202
- package/packages/core/dist/types.js +0 -7
- package/packages/core/dist/types.js.map +0 -1
- package/packages/core/dist/util/fs.d.ts +0 -5
- package/packages/core/dist/util/fs.js +0 -33
- package/packages/core/dist/util/fs.js.map +0 -1
- package/packages/core/dist/util/shell-quote.d.ts +0 -7
- package/packages/core/dist/util/shell-quote.js +0 -20
- package/packages/core/dist/util/shell-quote.js.map +0 -1
- package/packages/core/dist/workspace/workspace.d.ts +0 -15
- package/packages/core/dist/workspace/workspace.js +0 -84
- package/packages/core/dist/workspace/workspace.js.map +0 -1
- package/packages/core/package.json +0 -22
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="1380" height="406" viewBox="0 0 1380 406">
|
|
2
|
-
<defs>
|
|
3
|
-
<linearGradient id="bg" x1="0" y1="0" x2="0" y2="1">
|
|
4
|
-
<stop offset="0" stop-color="#161b22"/>
|
|
5
|
-
<stop offset="1" stop-color="#0d1117"/>
|
|
6
|
-
</linearGradient>
|
|
7
|
-
</defs>
|
|
8
|
-
<!-- terminal window -->
|
|
9
|
-
<rect x="2" y="2" width="1376" height="402" rx="18" fill="url(#bg)" stroke="#30363d" stroke-width="2"/>
|
|
10
|
-
<!-- traffic lights -->
|
|
11
|
-
<circle cx="60" cy="28" r="7" fill="#ff5f57"/>
|
|
12
|
-
<circle cx="86" cy="28" r="7" fill="#febc2e"/>
|
|
13
|
-
<circle cx="112" cy="28" r="7" fill="#28c840"/>
|
|
14
|
-
<text x="1320" y="33" text-anchor="end" font-family="ui-monospace, Menlo, monospace" font-size="14" fill="#8b949e">~/project: ineed</text>
|
|
15
|
-
|
|
16
|
-
<!-- INEED block art -->
|
|
17
|
-
<rect x="60" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
18
|
-
<rect x="90" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
19
|
-
<rect x="120" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
20
|
-
<rect x="60" y="120" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
21
|
-
<rect x="90" y="120" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
22
|
-
<rect x="60" y="150" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
23
|
-
<rect x="90" y="150" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
24
|
-
<rect x="60" y="180" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
25
|
-
<rect x="90" y="180" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
26
|
-
<rect x="60" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
27
|
-
<rect x="90" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
28
|
-
<rect x="60" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
29
|
-
<rect x="90" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
30
|
-
<rect x="120" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
31
|
-
<rect x="210" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
32
|
-
<rect x="240" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
33
|
-
<rect x="270" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
34
|
-
<rect x="450" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
35
|
-
<rect x="480" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
36
|
-
<rect x="210" y="120" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
37
|
-
<rect x="240" y="120" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
38
|
-
<rect x="270" y="120" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
39
|
-
<rect x="300" y="120" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
40
|
-
<rect x="450" y="120" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
41
|
-
<rect x="480" y="120" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
42
|
-
<rect x="210" y="150" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
43
|
-
<rect x="240" y="150" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
44
|
-
<rect x="270" y="150" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
45
|
-
<rect x="300" y="150" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
46
|
-
<rect x="330" y="150" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
47
|
-
<rect x="360" y="150" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
48
|
-
<rect x="450" y="150" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
49
|
-
<rect x="210" y="180" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
50
|
-
<rect x="240" y="180" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
51
|
-
<rect x="270" y="180" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
52
|
-
<rect x="330" y="180" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
53
|
-
<rect x="360" y="180" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
54
|
-
<rect x="390" y="180" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
55
|
-
<rect x="450" y="180" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
56
|
-
<rect x="210" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
57
|
-
<rect x="240" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
58
|
-
<rect x="270" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
59
|
-
<rect x="360" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
60
|
-
<rect x="390" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
61
|
-
<rect x="420" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
62
|
-
<rect x="450" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
63
|
-
<rect x="210" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
64
|
-
<rect x="240" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
65
|
-
<rect x="270" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
66
|
-
<rect x="360" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
67
|
-
<rect x="390" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
68
|
-
<rect x="420" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
69
|
-
<rect x="450" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
70
|
-
<rect x="480" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
71
|
-
<rect x="570" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
72
|
-
<rect x="600" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
73
|
-
<rect x="630" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
74
|
-
<rect x="660" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
75
|
-
<rect x="690" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
76
|
-
<rect x="720" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
77
|
-
<rect x="750" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
78
|
-
<rect x="570" y="120" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
79
|
-
<rect x="600" y="120" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
80
|
-
<rect x="570" y="150" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
81
|
-
<rect x="600" y="150" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
82
|
-
<rect x="630" y="150" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
83
|
-
<rect x="570" y="180" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
84
|
-
<rect x="600" y="180" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
85
|
-
<rect x="570" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
86
|
-
<rect x="600" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
87
|
-
<rect x="630" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
88
|
-
<rect x="660" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
89
|
-
<rect x="690" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
90
|
-
<rect x="570" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
91
|
-
<rect x="600" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
92
|
-
<rect x="630" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
93
|
-
<rect x="660" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
94
|
-
<rect x="690" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
95
|
-
<rect x="720" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
96
|
-
<rect x="840" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
97
|
-
<rect x="870" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
98
|
-
<rect x="900" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
99
|
-
<rect x="930" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
100
|
-
<rect x="960" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
101
|
-
<rect x="990" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
102
|
-
<rect x="1020" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
103
|
-
<rect x="840" y="120" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
104
|
-
<rect x="870" y="120" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
105
|
-
<rect x="840" y="150" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
106
|
-
<rect x="870" y="150" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
107
|
-
<rect x="900" y="150" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
108
|
-
<rect x="840" y="180" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
109
|
-
<rect x="870" y="180" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
110
|
-
<rect x="840" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
111
|
-
<rect x="870" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
112
|
-
<rect x="900" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
113
|
-
<rect x="930" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
114
|
-
<rect x="960" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
115
|
-
<rect x="840" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
116
|
-
<rect x="870" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
117
|
-
<rect x="900" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
118
|
-
<rect x="930" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
119
|
-
<rect x="960" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
120
|
-
<rect x="990" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
121
|
-
<rect x="1110" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
122
|
-
<rect x="1140" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
123
|
-
<rect x="1170" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
124
|
-
<rect x="1200" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
125
|
-
<rect x="1230" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
126
|
-
<rect x="1260" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
127
|
-
<rect x="1290" y="90" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
128
|
-
<rect x="1110" y="120" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
129
|
-
<rect x="1140" y="120" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
130
|
-
<rect x="1260" y="120" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
131
|
-
<rect x="1290" y="120" width="27" height="27" rx="4" fill="#4ade80"/>
|
|
132
|
-
<rect x="1110" y="150" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
133
|
-
<rect x="1140" y="150" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
134
|
-
<rect x="1260" y="150" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
135
|
-
<rect x="1290" y="150" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
136
|
-
<rect x="1110" y="180" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
137
|
-
<rect x="1140" y="180" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
138
|
-
<rect x="1260" y="180" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
139
|
-
<rect x="1290" y="180" width="27" height="27" rx="4" fill="#22d3ee"/>
|
|
140
|
-
<rect x="1110" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
141
|
-
<rect x="1140" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
142
|
-
<rect x="1170" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
143
|
-
<rect x="1200" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
144
|
-
<rect x="1230" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
145
|
-
<rect x="1260" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
146
|
-
<rect x="1290" y="210" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
147
|
-
<rect x="1110" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
148
|
-
<rect x="1140" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
149
|
-
<rect x="1170" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
150
|
-
<rect x="1200" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
151
|
-
<rect x="1230" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
152
|
-
<rect x="1260" y="240" width="27" height="27" rx="4" fill="#e879f9"/>
|
|
153
|
-
|
|
154
|
-
<!-- prompt line -->
|
|
155
|
-
<text x="60" y="296" font-family="ui-monospace, Menlo, monospace" font-size="26">
|
|
156
|
-
<tspan fill="#4ade80">❯</tspan><tspan fill="#e6edf3" dx="14">ineed</tspan><tspan fill="#8b949e" dx="14">"fix the build errors"</tspan><tspan fill="#4ade80">▮</tspan>
|
|
157
|
-
</text>
|
|
158
|
-
|
|
159
|
-
<!-- tagline -->
|
|
160
|
-
<text x="60" y="348" font-family="ui-monospace, Menlo, monospace" font-size="17" letter-spacing="4" fill="#6e7681">YOUR TERMINAL, NOW AUTONOMOUS</text>
|
|
161
|
-
</svg>
|
package/docs/configuration.md
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# Configuration Reference
|
|
2
|
-
|
|
3
|
-
iNeedCodes reads `~/.ineedcodes/config.json`. Every field is optional; environment variables work too.
|
|
4
|
-
|
|
5
|
-
## Providers (LLM)
|
|
6
|
-
|
|
7
|
-
Any OpenAI-compatible endpoint works (OpenAI, iNeed API, local servers, …):
|
|
8
|
-
|
|
9
|
-
```json
|
|
10
|
-
{
|
|
11
|
-
"providers": {
|
|
12
|
-
"default": { "baseUrl": "https://api.openai.com/v1", "apiKey": "sk-...", "model": "gpt-4.1-mini" },
|
|
13
|
-
"fast": { "baseUrl": "http://localhost:11434/v1", "apiKey": "x", "model": "qwen2.5-coder", "contextLimit": 32768 }
|
|
14
|
-
},
|
|
15
|
-
"defaultProvider": "default",
|
|
16
|
-
"roleProviders": { "lead": "default", "research": "fast" }
|
|
17
|
-
}
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
Environment variables: `INEEDCODES_BASE_URL`, `INEEDCODES_API_KEY`, `INEEDCODES_MODEL`.
|
|
21
|
-
|
|
22
|
-
## Permissions
|
|
23
|
-
|
|
24
|
-
```json
|
|
25
|
-
{ "permissions": { "mode": "workspace", "allow": ["git_remote"], "deny": ["destructive"], "maxParallelAgents": 4 } }
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
- `ask`: every tool action needs approval.
|
|
29
|
-
- `workspace` (default): reading, writing, and running commands inside the project
|
|
30
|
-
flow freely; outside-workspace access, remote Git pushes, destructive operations,
|
|
31
|
-
and secret access need approval.
|
|
32
|
-
- `autonomous`: no interruptions (use with care).
|
|
33
|
-
|
|
34
|
-
Change at runtime with `/permissions <mode>` or `ineedcodes -p <mode>`.
|
|
35
|
-
|
|
36
|
-
## Memory
|
|
37
|
-
|
|
38
|
-
```json
|
|
39
|
-
{ "memory": { "backend": "icm" } }
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
ICM is the memory engine. Each project gets an isolated database at
|
|
43
|
-
`~/.ineedcodes/projects/<project-id>/memory/icm.db`. Memories never mix
|
|
44
|
-
between repositories. Set `"backend": "off"` to disable.
|
|
45
|
-
|
|
46
|
-
## Web search (optional)
|
|
47
|
-
|
|
48
|
-
```json
|
|
49
|
-
{ "webSearch": { "provider": "brave", "apiKey": "..." } }
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
Without it, `fetch_url` still works for known URLs and the agent honestly
|
|
53
|
-
reports that search is unavailable instead of pretending.
|
|
54
|
-
|
|
55
|
-
## MCP servers (optional)
|
|
56
|
-
|
|
57
|
-
```json
|
|
58
|
-
{
|
|
59
|
-
"mcpServers": {
|
|
60
|
-
"github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_TOKEN": "..." } }
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
MCP tools appear in the normal registry as `mcp_<server>_<tool>` and need no
|
|
66
|
-
special handling by the agent. A failing server is reported, never fatal.
|
|
67
|
-
|
|
68
|
-
## Project instructions
|
|
69
|
-
|
|
70
|
-
Drop an `AGENTS.md` or `.ineedcodes/instructions.md` in your repository and
|
|
71
|
-
the agent applies them automatically when working there.
|
package/docs/skills.md
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
# Skills in iNeedCodes
|
|
2
|
-
|
|
3
|
-
Skills are portable instruction packs that teach the agent specialized workflows.
|
|
4
|
-
A skill is a folder with a single `SKILL.md` file using YAML frontmatter.
|
|
5
|
-
|
|
6
|
-
## Format
|
|
7
|
-
|
|
8
|
-
```markdown
|
|
9
|
-
---
|
|
10
|
-
name: my-skill
|
|
11
|
-
description: One sentence: when the agent should use this skill.
|
|
12
|
-
version: 1.0.0 # optional
|
|
13
|
-
allowed-tools: # optional hint, informational
|
|
14
|
-
- read_file
|
|
15
|
-
- search_text
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
# My Skill
|
|
19
|
-
|
|
20
|
-
Instructions the agent follows when the skill is active...
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Locations (priority order)
|
|
24
|
-
|
|
25
|
-
1. **Project**: `<project>/.ineedcodes/skills/<name>/SKILL.md`
|
|
26
|
-
2. **Project (alternate)**: `<project>/skills/<name>/SKILL.md`
|
|
27
|
-
3. **Global user**: `~/.ineedcodes/skills/<name>/SKILL.md`
|
|
28
|
-
4. **Built-in**: shipped with iNeedCodes (`boost`, `humanizer`)
|
|
29
|
-
|
|
30
|
-
A project skill with the same name overrides the global one, which overrides
|
|
31
|
-
the built-in. `/skills` shows each skill's scope so overrides are visible.
|
|
32
|
-
|
|
33
|
-
## Invocation
|
|
34
|
-
|
|
35
|
-
- Explicit: `/boost`, `/humanizer`, or just name the skill in a sentence.
|
|
36
|
-
- Natural: *"Use boost to verify this implementation."*
|
|
37
|
-
- Automatic: the Lead Agent may pick a skill when its description clearly matches the task.
|
|
38
|
-
|
|
39
|
-
## Built-in: boost
|
|
40
|
-
|
|
41
|
-
An advanced execution-and-verification protocol. When invoked, the agent:
|
|
42
|
-
|
|
43
|
-
1. Creates an isolated Git worktree (`.ineedcodes/boost-<timestamp>`)
|
|
44
|
-
2. Investigates root causes
|
|
45
|
-
3. Implements changes there; your working tree stays clean
|
|
46
|
-
4. Runs tests with real evidence
|
|
47
|
-
5. Verifies independently
|
|
48
|
-
6. Reconciles (merges) only on success, with your approval
|
|
49
|
-
7. Cleans up the worktree either way
|
|
50
|
-
|
|
51
|
-
A failed Boost run never merges broken changes. Good for hard debugging,
|
|
52
|
-
major refactors, and regression-sensitive work. Simple tasks should not use it.
|
|
53
|
-
|
|
54
|
-
## Built-in: humanizer
|
|
55
|
-
|
|
56
|
-
Rewrites prose (README, docs, release notes, explanations) so it reads naturally.
|
|
57
|
-
Never applied to code, JSON, YAML, commands, or technical values. Meaning and
|
|
58
|
-
technical facts are always preserved.
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type { ToolRegistry, ToolContext, ToolResult } from '@ineedcodes/core';
|
|
2
|
-
/**
|
|
3
|
-
* Boost integration (plan §19–20): an advanced execution and verification
|
|
4
|
-
* protocol running on top of the multi-agent runtime, in an isolated
|
|
5
|
-
* Git worktree. The user's active working tree stays clean.
|
|
6
|
-
*
|
|
7
|
-
* Lifecycle: start → investigate → implement → test → verify → reconcile | abort → cleanup
|
|
8
|
-
*/
|
|
9
|
-
export type BoostPhase = 'start' | 'investigate' | 'implement' | 'test' | 'verify' | 'reconcile' | 'abort' | 'cleanup';
|
|
10
|
-
export interface BoostRun {
|
|
11
|
-
id: string;
|
|
12
|
-
worktreePath: string;
|
|
13
|
-
branch: string;
|
|
14
|
-
phase: BoostPhase;
|
|
15
|
-
startedAt: number;
|
|
16
|
-
}
|
|
17
|
-
export declare class BoostIntegration {
|
|
18
|
-
private readonly registry;
|
|
19
|
-
private readonly toolContext;
|
|
20
|
-
private readonly emit;
|
|
21
|
-
private run?;
|
|
22
|
-
constructor(registry: ToolRegistry, toolContext: ToolContext, emit: (event: import('./events.js').RuntimeEvent) => Promise<void>);
|
|
23
|
-
active(): boolean;
|
|
24
|
-
current(): BoostRun | undefined;
|
|
25
|
-
private exec;
|
|
26
|
-
start(objective: string): Promise<ToolResult>;
|
|
27
|
-
worktreeContext(): ToolContext | undefined;
|
|
28
|
-
/** Commit any uncommitted work inside the Boost worktree so it can merge. */
|
|
29
|
-
private commitWorktreeChanges;
|
|
30
|
-
reconcile(): Promise<ToolResult>;
|
|
31
|
-
abort(reason: string): Promise<ToolResult>;
|
|
32
|
-
cleanup(): Promise<ToolResult>;
|
|
33
|
-
}
|
|
34
|
-
export declare const BOOST_PHASES: readonly BoostPhase[];
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import * as path from 'node:path';
|
|
2
|
-
import * as fs from 'node:fs';
|
|
3
|
-
import { shellQuote } from '@ineedcodes/core';
|
|
4
|
-
export class BoostIntegration {
|
|
5
|
-
registry;
|
|
6
|
-
toolContext;
|
|
7
|
-
emit;
|
|
8
|
-
run;
|
|
9
|
-
constructor(registry, toolContext, emit) {
|
|
10
|
-
this.registry = registry;
|
|
11
|
-
this.toolContext = toolContext;
|
|
12
|
-
this.emit = emit;
|
|
13
|
-
}
|
|
14
|
-
active() {
|
|
15
|
-
return this.run !== undefined;
|
|
16
|
-
}
|
|
17
|
-
current() {
|
|
18
|
-
return this.run;
|
|
19
|
-
}
|
|
20
|
-
async exec(tool, input) {
|
|
21
|
-
return this.registry.execute(tool, input, this.toolContext);
|
|
22
|
-
}
|
|
23
|
-
async start(objective) {
|
|
24
|
-
if (this.run) {
|
|
25
|
-
return { ok: false, summary: 'A Boost run is already active. Finish or abort it first.', error: 'boost_active' };
|
|
26
|
-
}
|
|
27
|
-
await this.emit({ type: 'boost-phase', phase: 'start', detail: objective });
|
|
28
|
-
// Require a Git repo for worktree isolation.
|
|
29
|
-
const status = await this.exec('git_status', {});
|
|
30
|
-
if (!status.ok) {
|
|
31
|
-
return { ok: false, summary: 'Boost needs a Git repository for worktree isolation. Initialize Git first.', error: 'no_git' };
|
|
32
|
-
}
|
|
33
|
-
const id = `boost-${Date.now()}`;
|
|
34
|
-
const branch = `boost/${id.split('-')[1] ?? id}`;
|
|
35
|
-
const worktreePath = path.join(this.toolContext.workspaceRoot, '.ineedcodes', id);
|
|
36
|
-
const added = await this.exec('git_worktree', { mode: 'add', path: worktreePath, branch });
|
|
37
|
-
if (!added.ok) {
|
|
38
|
-
return { ok: false, summary: `Could not create Boost worktree: ${added.summary}`, error: 'worktree_failed' };
|
|
39
|
-
}
|
|
40
|
-
this.run = { id, worktreePath, branch, phase: 'investigate', startedAt: Date.now() };
|
|
41
|
-
return {
|
|
42
|
-
ok: true,
|
|
43
|
-
summary: `Boost started in isolated worktree ${worktreePath} (branch ${branch}). Objective: ${objective}`,
|
|
44
|
-
data: { id, worktreePath, branch }
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
worktreeContext() {
|
|
48
|
-
if (!this.run)
|
|
49
|
-
return undefined;
|
|
50
|
-
return {
|
|
51
|
-
...this.toolContext,
|
|
52
|
-
cwd: this.run.worktreePath,
|
|
53
|
-
workspaceRoot: this.run.worktreePath
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
/** Commit any uncommitted work inside the Boost worktree so it can merge. */
|
|
57
|
-
async commitWorktreeChanges() {
|
|
58
|
-
if (!this.run)
|
|
59
|
-
return { ok: false, summary: 'No active Boost run.', error: 'no_boost' };
|
|
60
|
-
await this.exec('shell_exec', { command: `git -C ${shellQuote(this.run.worktreePath)} add -A` });
|
|
61
|
-
const commit = await this.exec('shell_exec', {
|
|
62
|
-
command: `git -C ${shellQuote(this.run.worktreePath)} commit -m ${shellQuote(`boost: ${this.run.id}`)}`
|
|
63
|
-
});
|
|
64
|
-
// "nothing to commit" is fine; real failures are not.
|
|
65
|
-
const nothingToCommit = /nothing to commit|no changes added/i.test(commit.summary + JSON.stringify(commit.data ?? ''));
|
|
66
|
-
if (!commit.ok && !nothingToCommit) {
|
|
67
|
-
return { ok: false, summary: `Could not commit Boost worktree changes: ${commit.summary}`, error: 'commit_failed' };
|
|
68
|
-
}
|
|
69
|
-
return { ok: true, summary: nothingToCommit ? 'No changes to commit in the Boost worktree.' : 'Boost changes committed.' };
|
|
70
|
-
}
|
|
71
|
-
async reconcile() {
|
|
72
|
-
if (!this.run)
|
|
73
|
-
return { ok: false, summary: 'No active Boost run.', error: 'no_boost' };
|
|
74
|
-
this.run.phase = 'reconcile';
|
|
75
|
-
await this.emit({ type: 'boost-phase', phase: 'reconcile' });
|
|
76
|
-
const committed = await this.commitWorktreeChanges();
|
|
77
|
-
if (!committed.ok)
|
|
78
|
-
return committed;
|
|
79
|
-
// Merge the boost branch back into the user's branch.
|
|
80
|
-
const result = await this.exec('shell_exec', { command: `git merge --no-ff ${this.run.branch}` });
|
|
81
|
-
if (result.ok) {
|
|
82
|
-
// Safe-delete the merged branch.
|
|
83
|
-
await this.exec('shell_exec', { command: `git branch -d ${this.run.branch}` });
|
|
84
|
-
}
|
|
85
|
-
return {
|
|
86
|
-
ok: result.ok,
|
|
87
|
-
summary: result.ok
|
|
88
|
-
? `Boost branch ${this.run.branch} merged into your branch (${committed.summary}).`
|
|
89
|
-
: `Merge failed: ${result.summary} Run abort + cleanup if needed.`,
|
|
90
|
-
data: result.data
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
async abort(reason) {
|
|
94
|
-
if (!this.run)
|
|
95
|
-
return { ok: false, summary: 'No active Boost run.', error: 'no_boost' };
|
|
96
|
-
this.run.phase = 'abort';
|
|
97
|
-
const { worktreePath, branch } = this.run;
|
|
98
|
-
await this.emit({ type: 'boost-phase', phase: 'abort', detail: reason });
|
|
99
|
-
// A branch checked out in a worktree cannot be deleted: remove the
|
|
100
|
-
// worktree first, then the branch. Your working tree was never touched.
|
|
101
|
-
const removed = await this.exec('git_worktree', { mode: 'remove', path: worktreePath });
|
|
102
|
-
try {
|
|
103
|
-
fs.rmSync(worktreePath, { recursive: true, force: true });
|
|
104
|
-
}
|
|
105
|
-
catch {
|
|
106
|
-
// best effort
|
|
107
|
-
}
|
|
108
|
-
await this.exec('shell_exec', { command: `git branch -D ${shellQuote(branch)}` });
|
|
109
|
-
this.run = undefined;
|
|
110
|
-
return {
|
|
111
|
-
ok: true,
|
|
112
|
-
summary: `Boost run aborted (${reason}). Worktree removed${removed.ok ? '' : ' (forced)'} and branch ${branch} deleted. Your working tree was never touched by Boost changes.`
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
async cleanup() {
|
|
116
|
-
if (!this.run)
|
|
117
|
-
return { ok: false, summary: 'No active Boost run.', error: 'no_boost' };
|
|
118
|
-
this.run.phase = 'cleanup';
|
|
119
|
-
const worktree = this.run.worktreePath;
|
|
120
|
-
const branch = this.run.branch;
|
|
121
|
-
this.run = undefined;
|
|
122
|
-
const removed = await this.exec('git_worktree', { mode: 'remove', path: worktree });
|
|
123
|
-
try {
|
|
124
|
-
fs.rmSync(worktree, { recursive: true, force: true });
|
|
125
|
-
}
|
|
126
|
-
catch {
|
|
127
|
-
// best effort
|
|
128
|
-
}
|
|
129
|
-
// Safe-delete: only succeeds when the branch is fully merged.
|
|
130
|
-
await this.exec('shell_exec', { command: `git branch -d ${shellQuote(branch)}` });
|
|
131
|
-
return {
|
|
132
|
-
ok: true,
|
|
133
|
-
summary: `Boost cleaned up (worktree ${worktree} removed${removed.ok ? '' : ', with force'}).`
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
export const BOOST_PHASES = ['start', 'investigate', 'implement', 'test', 'verify', 'reconcile', 'abort', 'cleanup'];
|
|
138
|
-
//# sourceMappingURL=boost.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"boost.js","sourceRoot":"","sources":["../src/boost.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import type { ToolResult, TaskPacket, AgentStatus, ContextCheckpoint } from '@ineedcodes/core';
|
|
2
|
-
export type RuntimeEvent = {
|
|
3
|
-
type: 'session-start';
|
|
4
|
-
projectRoot: string;
|
|
5
|
-
model: string;
|
|
6
|
-
} | {
|
|
7
|
-
type: 'turn-start';
|
|
8
|
-
turn: number;
|
|
9
|
-
} | {
|
|
10
|
-
type: 'assistant-message';
|
|
11
|
-
text: string;
|
|
12
|
-
} | {
|
|
13
|
-
type: 'thinking';
|
|
14
|
-
text: string;
|
|
15
|
-
} | {
|
|
16
|
-
type: 'tool-start';
|
|
17
|
-
tool: string;
|
|
18
|
-
input: unknown;
|
|
19
|
-
} | {
|
|
20
|
-
type: 'tool-result';
|
|
21
|
-
tool: string;
|
|
22
|
-
result: ToolResult;
|
|
23
|
-
} | {
|
|
24
|
-
type: 'agent-spawned';
|
|
25
|
-
taskId: string;
|
|
26
|
-
capability: string;
|
|
27
|
-
objective: string;
|
|
28
|
-
} | {
|
|
29
|
-
type: 'agent-status';
|
|
30
|
-
taskId: string;
|
|
31
|
-
status: AgentStatus;
|
|
32
|
-
} | {
|
|
33
|
-
type: 'agent-result';
|
|
34
|
-
taskId: string;
|
|
35
|
-
summary: string;
|
|
36
|
-
} | {
|
|
37
|
-
type: 'boost-phase';
|
|
38
|
-
phase: string;
|
|
39
|
-
detail?: string;
|
|
40
|
-
} | {
|
|
41
|
-
type: 'compaction';
|
|
42
|
-
checkpoint: ContextCheckpoint;
|
|
43
|
-
} | {
|
|
44
|
-
type: 'permission-denied';
|
|
45
|
-
tool: string;
|
|
46
|
-
reason: string;
|
|
47
|
-
} | {
|
|
48
|
-
type: 'memory-write';
|
|
49
|
-
content: string;
|
|
50
|
-
} | {
|
|
51
|
-
type: 'skill-invoked';
|
|
52
|
-
name: string;
|
|
53
|
-
} | {
|
|
54
|
-
type: 'turn-end';
|
|
55
|
-
turn: number;
|
|
56
|
-
stopReason: string;
|
|
57
|
-
} | {
|
|
58
|
-
type: 'session-end';
|
|
59
|
-
};
|
|
60
|
-
export type EventListener = (event: RuntimeEvent) => void | Promise<void>;
|
|
61
|
-
/** Tiny synchronous event bus shared by the lead agent, orchestrator, and CLI. */
|
|
62
|
-
export declare class EventBus {
|
|
63
|
-
private listeners;
|
|
64
|
-
on(listener: EventListener): () => void;
|
|
65
|
-
emit(event: RuntimeEvent): Promise<void>;
|
|
66
|
-
}
|
|
67
|
-
export type { TaskPacket };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/** Tiny synchronous event bus shared by the lead agent, orchestrator, and CLI. */
|
|
2
|
-
export class EventBus {
|
|
3
|
-
listeners = [];
|
|
4
|
-
on(listener) {
|
|
5
|
-
this.listeners.push(listener);
|
|
6
|
-
return () => {
|
|
7
|
-
this.listeners = this.listeners.filter((l) => l !== listener);
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
async emit(event) {
|
|
11
|
-
for (const listener of this.listeners) {
|
|
12
|
-
await listener(event);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=events.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAsBA,kFAAkF;AAClF,MAAM,OAAO,QAAQ;IACX,SAAS,GAAoB,EAAE,CAAC;IAExC,EAAE,CAAC,QAAuB;QACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;QAChE,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAmB;QAC5B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC"}
|