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.
Files changed (122) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +82 -84
  3. package/package.json +22 -28
  4. package/src/agent.js +106 -0
  5. package/src/cli.js +93 -0
  6. package/src/config.js +39 -0
  7. package/src/provider.js +59 -0
  8. package/src/session.js +156 -0
  9. package/src/tools.js +185 -0
  10. package/src/ui.js +74 -0
  11. package/src/wizard.js +111 -0
  12. package/docs/assets/ineed-logo.svg +0 -161
  13. package/docs/configuration.md +0 -71
  14. package/docs/skills.md +0 -58
  15. package/packages/agent/dist/boost.d.ts +0 -34
  16. package/packages/agent/dist/boost.js +0 -138
  17. package/packages/agent/dist/boost.js.map +0 -1
  18. package/packages/agent/dist/events.d.ts +0 -67
  19. package/packages/agent/dist/events.js +0 -16
  20. package/packages/agent/dist/events.js.map +0 -1
  21. package/packages/agent/dist/index.d.ts +0 -6
  22. package/packages/agent/dist/index.js +0 -7
  23. package/packages/agent/dist/index.js.map +0 -1
  24. package/packages/agent/dist/lead-agent.d.ts +0 -85
  25. package/packages/agent/dist/lead-agent.js +0 -235
  26. package/packages/agent/dist/lead-agent.js.map +0 -1
  27. package/packages/agent/dist/orchestrator.d.ts +0 -43
  28. package/packages/agent/dist/orchestrator.js +0 -135
  29. package/packages/agent/dist/orchestrator.js.map +0 -1
  30. package/packages/agent/dist/runtime.d.ts +0 -44
  31. package/packages/agent/dist/runtime.js +0 -265
  32. package/packages/agent/dist/runtime.js.map +0 -1
  33. package/packages/agent/dist/system-prompts.d.ts +0 -24
  34. package/packages/agent/dist/system-prompts.js +0 -91
  35. package/packages/agent/dist/system-prompts.js.map +0 -1
  36. package/packages/agent/package.json +0 -21
  37. package/packages/cli/dist/index.d.ts +0 -3
  38. package/packages/cli/dist/index.js +0 -11426
  39. package/packages/cli/dist/index.js.map +0 -1
  40. package/packages/cli/dist/setup.d.ts +0 -37
  41. package/packages/cli/dist/setup.js +0 -250
  42. package/packages/cli/dist/setup.js.map +0 -1
  43. package/packages/cli/dist/tools-setup.d.ts +0 -12
  44. package/packages/cli/dist/tools-setup.js +0 -28
  45. package/packages/cli/dist/tools-setup.js.map +0 -1
  46. package/packages/cli/dist/ui/approval.d.ts +0 -12
  47. package/packages/cli/dist/ui/approval.js +0 -52
  48. package/packages/cli/dist/ui/approval.js.map +0 -1
  49. package/packages/cli/dist/ui/colors.d.ts +0 -14
  50. package/packages/cli/dist/ui/colors.js +0 -21
  51. package/packages/cli/dist/ui/colors.js.map +0 -1
  52. package/packages/cli/dist/ui/prompts.d.ts +0 -46
  53. package/packages/cli/dist/ui/prompts.js +0 -135
  54. package/packages/cli/dist/ui/prompts.js.map +0 -1
  55. package/packages/cli/dist/ui/renderer.d.ts +0 -13
  56. package/packages/cli/dist/ui/renderer.js +0 -95
  57. package/packages/cli/dist/ui/renderer.js.map +0 -1
  58. package/packages/cli/package.json +0 -23
  59. package/packages/core/dist/config/config.d.ts +0 -32
  60. package/packages/core/dist/config/config.js +0 -43
  61. package/packages/core/dist/config/config.js.map +0 -1
  62. package/packages/core/dist/context/engine.d.ts +0 -25
  63. package/packages/core/dist/context/engine.js +0 -98
  64. package/packages/core/dist/context/engine.js.map +0 -1
  65. package/packages/core/dist/index.d.ts +0 -20
  66. package/packages/core/dist/index.js +0 -21
  67. package/packages/core/dist/index.js.map +0 -1
  68. package/packages/core/dist/llm/openai-compatible.d.ts +0 -23
  69. package/packages/core/dist/llm/openai-compatible.js +0 -177
  70. package/packages/core/dist/llm/openai-compatible.js.map +0 -1
  71. package/packages/core/dist/memory/icm-adapter.d.ts +0 -31
  72. package/packages/core/dist/memory/icm-adapter.js +0 -98
  73. package/packages/core/dist/memory/icm-adapter.js.map +0 -1
  74. package/packages/core/dist/permissions/permissions.d.ts +0 -28
  75. package/packages/core/dist/permissions/permissions.js +0 -89
  76. package/packages/core/dist/permissions/permissions.js.map +0 -1
  77. package/packages/core/dist/security/secrets.d.ts +0 -4
  78. package/packages/core/dist/security/secrets.js +0 -43
  79. package/packages/core/dist/security/secrets.js.map +0 -1
  80. package/packages/core/dist/session/store.d.ts +0 -16
  81. package/packages/core/dist/session/store.js +0 -54
  82. package/packages/core/dist/session/store.js.map +0 -1
  83. package/packages/core/dist/shell/process.d.ts +0 -26
  84. package/packages/core/dist/shell/process.js +0 -128
  85. package/packages/core/dist/shell/process.js.map +0 -1
  86. package/packages/core/dist/skills/loader.d.ts +0 -9
  87. package/packages/core/dist/skills/loader.js +0 -163
  88. package/packages/core/dist/skills/loader.js.map +0 -1
  89. package/packages/core/dist/tools/fs.d.ts +0 -10
  90. package/packages/core/dist/tools/fs.js +0 -409
  91. package/packages/core/dist/tools/fs.js.map +0 -1
  92. package/packages/core/dist/tools/git.d.ts +0 -7
  93. package/packages/core/dist/tools/git.js +0 -251
  94. package/packages/core/dist/tools/git.js.map +0 -1
  95. package/packages/core/dist/tools/mcp.d.ts +0 -42
  96. package/packages/core/dist/tools/mcp.js +0 -158
  97. package/packages/core/dist/tools/mcp.js.map +0 -1
  98. package/packages/core/dist/tools/registry.d.ts +0 -21
  99. package/packages/core/dist/tools/registry.js +0 -50
  100. package/packages/core/dist/tools/registry.js.map +0 -1
  101. package/packages/core/dist/tools/search.d.ts +0 -2
  102. package/packages/core/dist/tools/search.js +0 -243
  103. package/packages/core/dist/tools/search.js.map +0 -1
  104. package/packages/core/dist/tools/shell.d.ts +0 -8
  105. package/packages/core/dist/tools/shell.js +0 -164
  106. package/packages/core/dist/tools/shell.js.map +0 -1
  107. package/packages/core/dist/tools/web.d.ts +0 -14
  108. package/packages/core/dist/tools/web.js +0 -125
  109. package/packages/core/dist/tools/web.js.map +0 -1
  110. package/packages/core/dist/types.d.ts +0 -202
  111. package/packages/core/dist/types.js +0 -7
  112. package/packages/core/dist/types.js.map +0 -1
  113. package/packages/core/dist/util/fs.d.ts +0 -5
  114. package/packages/core/dist/util/fs.js +0 -33
  115. package/packages/core/dist/util/fs.js.map +0 -1
  116. package/packages/core/dist/util/shell-quote.d.ts +0 -7
  117. package/packages/core/dist/util/shell-quote.js +0 -20
  118. package/packages/core/dist/util/shell-quote.js.map +0 -1
  119. package/packages/core/dist/workspace/workspace.d.ts +0 -15
  120. package/packages/core/dist/workspace/workspace.js +0 -84
  121. package/packages/core/dist/workspace/workspace.js.map +0 -1
  122. 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>
@@ -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,6 +0,0 @@
1
- export * from './system-prompts.js';
2
- export * from './events.js';
3
- export * from './runtime.js';
4
- export * from './lead-agent.js';
5
- export * from './orchestrator.js';
6
- export * from './boost.js';
@@ -1,7 +0,0 @@
1
- export * from './system-prompts.js';
2
- export * from './events.js';
3
- export * from './runtime.js';
4
- export * from './lead-agent.js';
5
- export * from './orchestrator.js';
6
- export * from './boost.js';
7
- //# sourceMappingURL=index.js.map
@@ -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"}