@qelos/aidev 1.1.0 → 1.3.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/.env.aidev.example +12 -1
- package/README.md +65 -7
- package/dist/ai/devin.d.ts +7 -0
- package/dist/ai/devin.d.ts.map +1 -0
- package/dist/ai/devin.js +91 -0
- package/dist/ai/devin.js.map +1 -0
- package/dist/ai/index.js +2 -2
- package/dist/ai/index.js.map +1 -1
- package/dist/cli.js +31 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/help.js +1 -1
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/hooks.d.ts +5 -0
- package/dist/commands/hooks.d.ts.map +1 -0
- package/dist/commands/hooks.js +86 -0
- package/dist/commands/hooks.js.map +1 -0
- package/dist/commands/init.d.ts +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +18 -109
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/run.d.ts +2 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +105 -64
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/schedule.js +2 -2
- package/dist/commands/schedule.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +8 -1
- package/dist/config.js.map +1 -1
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js +1 -2
- package/dist/diagnostics.js.map +1 -1
- package/dist/hooks.d.ts +18 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +16 -0
- package/dist/hooks.js.map +1 -1
- package/dist/hooksTemplate.d.ts +14 -0
- package/dist/hooksTemplate.d.ts.map +1 -0
- package/dist/hooksTemplate.js +274 -0
- package/dist/hooksTemplate.js.map +1 -0
- package/dist/logger.d.ts +1 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +32 -0
- package/dist/logger.js.map +1 -1
- package/dist/platform.d.ts +2 -2
- package/dist/platform.js +2 -2
- package/dist/providers/clickup.d.ts +8 -0
- package/dist/providers/clickup.d.ts.map +1 -1
- package/dist/providers/clickup.js +13 -1
- package/dist/providers/clickup.js.map +1 -1
- package/dist/providers/jira.d.ts +2 -0
- package/dist/providers/jira.d.ts.map +1 -1
- package/dist/providers/jira.js +51 -12
- package/dist/providers/jira.js.map +1 -1
- package/dist/providers/linear.d.ts +19 -0
- package/dist/providers/linear.d.ts.map +1 -1
- package/dist/providers/linear.js +65 -18
- package/dist/providers/linear.js.map +1 -1
- package/dist/providers/monday.d.ts +11 -0
- package/dist/providers/monday.d.ts.map +1 -1
- package/dist/providers/monday.js +74 -1
- package/dist/providers/monday.js.map +1 -1
- package/dist/providers/notion.d.ts +1 -0
- package/dist/providers/notion.d.ts.map +1 -1
- package/dist/providers/notion.js +44 -0
- package/dist/providers/notion.js.map +1 -1
- package/dist/providers/trello.d.ts +1 -0
- package/dist/providers/trello.d.ts.map +1 -1
- package/dist/providers/trello.js +53 -0
- package/dist/providers/trello.js.map +1 -1
- package/dist/safeMode.d.ts +32 -0
- package/dist/safeMode.d.ts.map +1 -0
- package/dist/safeMode.js +192 -0
- package/dist/safeMode.js.map +1 -0
- package/dist/types.d.ts +4 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/ui/.output/nitro.json +1 -1
- package/ui/.output/public/_nuxt/6wLLp9Nc.js +1 -0
- package/ui/.output/public/_nuxt/BGkU0f28.js +1 -0
- package/ui/.output/public/_nuxt/BOIhDy_l.js +4 -0
- package/ui/.output/public/_nuxt/BWJzzHTi.js +1 -0
- package/ui/.output/public/_nuxt/{3LZdFtk_.js → By4xSvKt.js} +3 -3
- package/ui/.output/public/_nuxt/ByAMJ0xS.js +1 -0
- package/ui/.output/public/_nuxt/C1xk3ymy.js +1 -0
- package/ui/.output/public/_nuxt/CBV5GuL6.js +11 -0
- package/ui/.output/public/_nuxt/CTtW-0zG.js +1 -0
- package/ui/.output/public/_nuxt/CX0vIr0s.js +131 -0
- package/ui/.output/public/_nuxt/{LzHPbXPK.js → CYm8nRCj.js} +1 -1
- package/ui/.output/public/_nuxt/CdHqKVo4.js +1 -0
- package/ui/.output/public/_nuxt/CnXdKLRd.js +16 -0
- package/ui/.output/public/_nuxt/Cz9dogwK.js +1 -0
- package/ui/.output/public/_nuxt/DGHfexQZ.js +1 -0
- package/ui/.output/public/_nuxt/{CWjftssB.js → DOoocm0F.js} +1 -1
- package/ui/.output/public/_nuxt/{DZd8Jv5H.js → D_gcbXK2.js} +1 -1
- package/ui/.output/public/_nuxt/{CO4XMBYO.js → Dfhp6TEA.js} +11 -11
- package/ui/.output/public/_nuxt/{BtD1YBwM.js → G5BjvTWO.js} +1 -1
- package/ui/.output/public/_nuxt/H73b_QUy.js +1 -0
- package/ui/.output/public/_nuxt/{BMTHyzVP.js → LCoCV2KL.js} +1 -1
- package/ui/.output/public/_nuxt/Zrl3Utak.js +1 -0
- package/ui/.output/public/_nuxt/config.CaB_F_OT.css +1 -0
- package/ui/.output/public/_nuxt/default.D13_FS9T.css +1 -0
- package/ui/.output/public/_nuxt/hooks.B03-GWTh.css +1 -0
- package/ui/.output/public/_nuxt/kPPYUzXr.js +2 -0
- package/ui/.output/public/_nuxt/logs.DLMkvOEl.css +1 -0
- package/ui/.output/public/_nuxt/mHp9eItY.js +1 -0
- package/ui/.output/public/_nuxt/{BTfAgCfF.js → tyaD1vVi.js} +1 -1
- package/ui/.output/public/_nuxt/{BGlShnpS.js → ynXKxjpn.js} +1 -1
- package/ui/.output/public/_nuxt/{B8sr5ZW-.js → yqBy-NAR.js} +2 -2
- package/ui/.output/server/chunks/_/hooksTemplate.mjs +365 -0
- package/ui/.output/server/chunks/_/hooksTemplate.mjs.map +1 -0
- package/ui/.output/server/chunks/build/{Badge-YPOjmkfv.mjs → Badge-nNgbDd8N.mjs} +2 -2
- package/ui/.output/server/chunks/build/{Badge-YPOjmkfv.mjs.map → Badge-nNgbDd8N.mjs.map} +1 -1
- package/ui/.output/server/chunks/build/{Button-CZHl6fpI.mjs → Button-CQZG7w2L.mjs} +117 -3
- package/ui/.output/server/chunks/build/Button-CQZG7w2L.mjs.map +1 -0
- package/ui/.output/server/chunks/build/{Card--ibiHV_r.mjs → Card-DdEnDTQW.mjs} +2 -2
- package/ui/.output/server/chunks/build/{Card--ibiHV_r.mjs.map → Card-DdEnDTQW.mjs.map} +1 -1
- package/ui/.output/server/chunks/build/{FormGroup-CX5VmH8y.mjs → FormGroup-BfYiVGgN.mjs} +2 -2
- package/ui/.output/server/chunks/build/{FormGroup-CX5VmH8y.mjs.map → FormGroup-BfYiVGgN.mjs.map} +1 -1
- package/ui/.output/server/chunks/build/{Input-kmqS1oY_.mjs → Input-Cnk3P_aB.mjs} +5 -60
- package/ui/.output/server/chunks/build/Input-Cnk3P_aB.mjs.map +1 -0
- package/ui/.output/server/chunks/build/{Modal-DmZs0Ekg.mjs → Modal-DfVO6DJD.mjs} +10 -5
- package/ui/.output/server/chunks/build/Modal-DfVO6DJD.mjs.map +1 -0
- package/ui/.output/server/chunks/build/{Select-n4_YfXfk.mjs → Select-Dc9_TJIR.mjs} +3 -3
- package/ui/.output/server/chunks/build/{Select-n4_YfXfk.mjs.map → Select-Dc9_TJIR.mjs.map} +1 -1
- package/ui/.output/server/chunks/build/client.precomputed.mjs +1 -1
- package/ui/.output/server/chunks/build/client.precomputed.mjs.map +1 -1
- package/ui/.output/server/chunks/build/{config-Bkb2wy7R.mjs → config-BUokZPak.mjs} +78 -58
- package/ui/.output/server/chunks/build/config-BUokZPak.mjs.map +1 -0
- package/ui/.output/server/chunks/build/config-styles.irltMnuD.mjs +8 -0
- package/ui/.output/server/chunks/build/config-styles.irltMnuD.mjs.map +1 -0
- package/ui/.output/server/chunks/build/{default-DmD3qBXZ.mjs → default-6TcwTt3p.mjs} +10 -9
- package/ui/.output/server/chunks/build/default-6TcwTt3p.mjs.map +1 -0
- package/ui/.output/server/chunks/build/default-styles.BqL9zxh4.mjs +8 -0
- package/ui/.output/server/chunks/build/default-styles.BqL9zxh4.mjs.map +1 -0
- package/ui/.output/server/chunks/build/entry-styles.q-b4rEBh.mjs +11 -0
- package/ui/.output/server/chunks/build/entry-styles.q-b4rEBh.mjs.map +1 -0
- package/ui/.output/server/chunks/build/hooks-k2ZmlVpA.mjs +4181 -0
- package/ui/.output/server/chunks/build/hooks-k2ZmlVpA.mjs.map +1 -0
- package/ui/.output/server/chunks/build/hooks-styles.Ddk4F_Gj.mjs +8 -0
- package/ui/.output/server/chunks/build/hooks-styles.Ddk4F_Gj.mjs.map +1 -0
- package/ui/.output/server/chunks/build/{index-Dy4Tu7MB.mjs → index-DwMIJp2e.mjs} +7 -3
- package/ui/.output/server/chunks/build/index-DwMIJp2e.mjs.map +1 -0
- package/ui/.output/server/chunks/build/{index-BvfXQQ2n.mjs → index-JLPhao-C.mjs} +5 -5
- package/ui/.output/server/chunks/build/{index-BvfXQQ2n.mjs.map → index-JLPhao-C.mjs.map} +1 -1
- package/ui/.output/server/chunks/build/{interval-DHZqEf-n.mjs → interval-DPa3fpS0.mjs} +3 -3
- package/ui/.output/server/chunks/build/{interval-DHZqEf-n.mjs.map → interval-DPa3fpS0.mjs.map} +1 -1
- package/ui/.output/server/chunks/build/{login-B5YkLJCV.mjs → login-D9DpNq3o.mjs} +6 -5
- package/ui/.output/server/chunks/build/login-D9DpNq3o.mjs.map +1 -0
- package/ui/.output/server/chunks/build/{logs-BvD1Y3HI.mjs → logs-BVuWOSb6.mjs} +49 -31
- package/ui/.output/server/chunks/build/logs-BVuWOSb6.mjs.map +1 -0
- package/ui/.output/server/chunks/build/logs-styles.C2Mi0JvX.mjs +8 -0
- package/ui/.output/server/chunks/build/logs-styles.C2Mi0JvX.mjs.map +1 -0
- package/ui/.output/server/chunks/build/{run-BStPkbGg.mjs → run-BVQZSGcX.mjs} +5 -5
- package/ui/.output/server/chunks/build/{run-BStPkbGg.mjs.map → run-BVQZSGcX.mjs.map} +1 -1
- package/ui/.output/server/chunks/build/{schedule-B2UKsnRW.mjs → schedule-rRz2CwWh.mjs} +10 -9
- package/ui/.output/server/chunks/build/schedule-rRz2CwWh.mjs.map +1 -0
- package/ui/.output/server/chunks/build/server.mjs +14 -9
- package/ui/.output/server/chunks/build/server.mjs.map +1 -1
- package/ui/.output/server/chunks/build/styles.mjs +8 -7
- package/ui/.output/server/chunks/build/styles.mjs.map +1 -1
- package/ui/.output/server/chunks/build/{tasks-DBH3Z6lg.mjs → tasks-DJjZQWcq.mjs} +10 -9
- package/ui/.output/server/chunks/build/tasks-DJjZQWcq.mjs.map +1 -0
- package/ui/.output/server/chunks/build/{useApi-Bqajqsuz.mjs → useApi-Brbyp7hV.mjs} +3 -3
- package/ui/.output/server/chunks/build/useApi-Brbyp7hV.mjs.map +1 -0
- package/ui/.output/server/chunks/build/useFormGroup-DqE91r20.mjs +61 -0
- package/ui/.output/server/chunks/build/useFormGroup-DqE91r20.mjs.map +1 -0
- package/ui/.output/server/chunks/nitro/nitro.mjs +202 -164
- package/ui/.output/server/chunks/routes/api/config/test.post.mjs +1 -1
- package/ui/.output/server/chunks/routes/api/config/test.post.mjs.map +1 -1
- package/ui/.output/server/chunks/routes/api/hooks-execute.post.mjs +83 -0
- package/ui/.output/server/chunks/routes/api/hooks-execute.post.mjs.map +1 -0
- package/ui/.output/server/chunks/routes/api/hooks-regenerate.post.mjs +30 -0
- package/ui/.output/server/chunks/routes/api/hooks-regenerate.post.mjs.map +1 -0
- package/ui/.output/server/chunks/routes/api/hooks-update.post.mjs +31 -0
- package/ui/.output/server/chunks/routes/api/hooks-update.post.mjs.map +1 -0
- package/ui/.output/server/chunks/routes/api/hooks.get.mjs +28 -0
- package/ui/.output/server/chunks/routes/api/hooks.get.mjs.map +1 -0
- package/ui/.output/server/chunks/routes/api/hooks.put.mjs +32 -0
- package/ui/.output/server/chunks/routes/api/hooks.put.mjs.map +1 -0
- package/ui/.output/server/chunks/routes/api/logs.get.mjs +7 -2
- package/ui/.output/server/chunks/routes/api/logs.get.mjs.map +1 -1
- package/ui/.output/server/node_modules/@monaco-editor/loader/lib/cjs/_virtual/_rollupPluginBabelHelpers.js +123 -0
- package/ui/.output/server/node_modules/@monaco-editor/loader/lib/cjs/config/index.js +11 -0
- package/ui/.output/server/node_modules/@monaco-editor/loader/lib/cjs/index.js +9 -0
- package/ui/.output/server/node_modules/@monaco-editor/loader/lib/cjs/loader/index.js +175 -0
- package/ui/.output/server/node_modules/@monaco-editor/loader/lib/cjs/utils/compose.js +16 -0
- package/ui/.output/server/node_modules/@monaco-editor/loader/lib/cjs/utils/curry.js +20 -0
- package/ui/.output/server/node_modules/@monaco-editor/loader/lib/cjs/utils/deepMerge.js +18 -0
- package/ui/.output/server/node_modules/@monaco-editor/loader/lib/cjs/utils/isObject.js +9 -0
- package/ui/.output/server/node_modules/@monaco-editor/loader/lib/cjs/utils/makeCancelable.js +25 -0
- package/ui/.output/server/node_modules/@monaco-editor/loader/lib/cjs/validators/index.js +49 -0
- package/ui/.output/server/node_modules/@monaco-editor/loader/package.json +51 -0
- package/ui/.output/server/node_modules/@tanstack/virtual-core/dist/esm/index.js +1197 -0
- package/ui/.output/server/node_modules/@tanstack/virtual-core/dist/esm/lazy-measurements.js +34 -0
- package/ui/.output/server/node_modules/@tanstack/virtual-core/dist/esm/utils.js +74 -0
- package/ui/.output/server/node_modules/@tanstack/virtual-core/package.json +56 -0
- package/ui/.output/server/node_modules/@tanstack/vue-virtual/dist/esm/index.js +66 -0
- package/ui/.output/server/node_modules/@tanstack/vue-virtual/package.json +68 -0
- package/ui/.output/server/node_modules/state-local/lib/cjs/state-local.js +195 -0
- package/ui/.output/server/node_modules/state-local/package.json +59 -0
- package/ui/.output/server/package.json +4 -0
- package/ui/package.json +1 -0
- package/ui/.output/public/_nuxt/B93YYUZf.js +0 -1
- package/ui/.output/public/_nuxt/BAs1isOw.js +0 -1
- package/ui/.output/public/_nuxt/BrZL2iQr.js +0 -1
- package/ui/.output/public/_nuxt/Bv6Ws9vz.js +0 -1
- package/ui/.output/public/_nuxt/C2WdrjFS.js +0 -1
- package/ui/.output/public/_nuxt/CVTgFccA.js +0 -2
- package/ui/.output/public/_nuxt/Ceb2855t.js +0 -1
- package/ui/.output/public/_nuxt/Cg55PjEy.js +0 -4
- package/ui/.output/public/_nuxt/D0ZgktSu.js +0 -1
- package/ui/.output/public/_nuxt/DZIUG6ZX.js +0 -1
- package/ui/.output/public/_nuxt/DihqGT4A.js +0 -1
- package/ui/.output/public/_nuxt/MzK2TZ-I.js +0 -16
- package/ui/.output/public/_nuxt/TJXLPQOj.js +0 -1
- package/ui/.output/public/_nuxt/VuiIFQtE.js +0 -1
- package/ui/.output/public/_nuxt/config.C19X1GwO.css +0 -1
- package/ui/.output/public/_nuxt/default.Dw-0Xw5D.css +0 -1
- package/ui/.output/public/_nuxt/logs.PK6CTQHM.css +0 -1
- package/ui/.output/server/chunks/build/Button-CZHl6fpI.mjs.map +0 -1
- package/ui/.output/server/chunks/build/Input-kmqS1oY_.mjs.map +0 -1
- package/ui/.output/server/chunks/build/Modal-DmZs0Ekg.mjs.map +0 -1
- package/ui/.output/server/chunks/build/config-Bkb2wy7R.mjs.map +0 -1
- package/ui/.output/server/chunks/build/config-styles.B4mTchgT.mjs +0 -8
- package/ui/.output/server/chunks/build/config-styles.B4mTchgT.mjs.map +0 -1
- package/ui/.output/server/chunks/build/default-DmD3qBXZ.mjs.map +0 -1
- package/ui/.output/server/chunks/build/default-styles.DmprFUrQ.mjs +0 -8
- package/ui/.output/server/chunks/build/default-styles.DmprFUrQ.mjs.map +0 -1
- package/ui/.output/server/chunks/build/entry-styles.Cg1Sndbr.mjs +0 -11
- package/ui/.output/server/chunks/build/entry-styles.Cg1Sndbr.mjs.map +0 -1
- package/ui/.output/server/chunks/build/index-Dy4Tu7MB.mjs.map +0 -1
- package/ui/.output/server/chunks/build/login-B5YkLJCV.mjs.map +0 -1
- package/ui/.output/server/chunks/build/logs-BvD1Y3HI.mjs.map +0 -1
- package/ui/.output/server/chunks/build/logs-styles.CU5b1wKf.mjs +0 -8
- package/ui/.output/server/chunks/build/logs-styles.CU5b1wKf.mjs.map +0 -1
- package/ui/.output/server/chunks/build/schedule-B2UKsnRW.mjs.map +0 -1
- package/ui/.output/server/chunks/build/tasks-DBH3Z6lg.mjs.map +0 -1
- package/ui/.output/server/chunks/build/useApi-Bqajqsuz.mjs.map +0 -1
package/.env.aidev.example
CHANGED
|
@@ -77,7 +77,7 @@ GIT_REMOTE=origin
|
|
|
77
77
|
GITHUB_BASE_BRANCH=main
|
|
78
78
|
GITHUB_REPO=
|
|
79
79
|
|
|
80
|
-
# Agents to use, in fallback order (comma-separated: antigravity, anthropic-sdk, claude, codex, cursor,
|
|
80
|
+
# Agents to use, in fallback order (comma-separated: antigravity, anthropic-sdk, claude, codex, cursor, devin)
|
|
81
81
|
AGENTS=claude,cursor
|
|
82
82
|
|
|
83
83
|
# ── Claude CLI (when AGENTS includes claude) ──────────────────
|
|
@@ -110,6 +110,13 @@ DEV_NOTES_MODE=smart
|
|
|
110
110
|
# aidev init creates .aidev/aidev.hooks.ts and sets this by default.
|
|
111
111
|
# AIDEV_HOOKS_PATH=.aidev/aidev.hooks.ts
|
|
112
112
|
|
|
113
|
+
# AIDEV_SAFE_MODE: redact secret values from task prompts before sending to AI agents.
|
|
114
|
+
# When true (default), values from .env / .env.aidev whose keys look like secrets
|
|
115
|
+
# (token, key, password, etc.) are replaced with a placeholder and stored in
|
|
116
|
+
# .aidev/assets/secrets/task-<id>.secrets (git-ignored under .aidev/assets/).
|
|
117
|
+
# Set to false / 0 / no to disable.
|
|
118
|
+
# AIDEV_SAFE_MODE=true
|
|
119
|
+
|
|
113
120
|
# AIDEV_AUTO_COMPRESS: when the prompt grows past AIDEV_COMPRESS_THRESHOLD chars,
|
|
114
121
|
# summarize older comments and keep only the latest verbatim. Default: true.
|
|
115
122
|
# Set to false / 0 / no to opt out.
|
|
@@ -123,3 +130,7 @@ DEV_NOTES_MODE=smart
|
|
|
123
130
|
# just a directory. Missing parent directories are created automatically.
|
|
124
131
|
# Default: aidev.log in the project cwd.
|
|
125
132
|
# AIDEV_LOG_PATH=logs/aidev.log
|
|
133
|
+
|
|
134
|
+
# AIDEV_LOG_TTL_DAYS: log lines older than this many days are removed from the log
|
|
135
|
+
# file at the start of each run. Set to 0 to disable pruning. Default: 14.
|
|
136
|
+
# AIDEV_LOG_TTL_DAYS=14
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
**aidev** turns your tasks into merged code — automatically.
|
|
8
8
|
|
|
9
|
-
It polls your task manager (ClickUp, Jira, Linear, Monday.com, Notion, Trello, or local markdown files), checks whether tasks are clear, runs Claude, Cursor, or
|
|
9
|
+
It polls your task manager (ClickUp, Jira, Linear, Monday.com, Notion, Trello, or local markdown files), checks whether tasks are clear, runs Claude, Cursor, or Devin to implement them, pushes a branch, and moves the task to review. All without touching your keyboard.
|
|
10
10
|
|
|
11
11
|
```
|
|
12
12
|
Task → AI implements → git push → "in review" → AI resolves code review comments
|
|
@@ -25,6 +25,7 @@ Task → AI implements → git push → "in review" → AI resolves code
|
|
|
25
25
|
- [Code review resolution](#code-review-resolution)
|
|
26
26
|
- [Auto-merge accepted PRs](#auto-merge-accepted-prs)
|
|
27
27
|
- [Dev notes mode](#dev-notes-mode)
|
|
28
|
+
- [Blocked tasks](#blocked-tasks)
|
|
28
29
|
- [Local tasks file (`aidev.tasks.json`)](#local-tasks-file-aidevtasksjson)
|
|
29
30
|
- [Scheduling](#scheduling)
|
|
30
31
|
- [Hooks](#hooks)
|
|
@@ -38,7 +39,7 @@ Task → AI implements → git push → "in review" → AI resolves code
|
|
|
38
39
|
## How it works
|
|
39
40
|
|
|
40
41
|
1. **Fetch** — pulls all tasks tagged with your configured tag from your task provider
|
|
41
|
-
2. **Filter** — skips done/cancelled tasks
|
|
42
|
+
2. **Filter** — skips done/cancelled tasks, tasks that already have a branch, and tasks that are blocked by other open tasks
|
|
42
43
|
3. **Clarify** — in `smart` mode, asks the AI if the task description is clear enough; if not, posts a question as a comment (prefixed with `[aidev]`) and marks the task `pending`
|
|
43
44
|
4. **Wait** — pending tasks are re-checked on the next run; if a human replied or the trigger word is found, implementation proceeds with the conversation as context
|
|
44
45
|
5. **Implement** — checks out a fresh branch (or reuses an existing one), runs your configured AI agent(s), falls back to the next agent if one fails
|
|
@@ -273,6 +274,7 @@ Linear calls them "labels" — the same concept as `CLICKUP_TAG` / `JIRA_LABEL`.
|
|
|
273
274
|
| `ACCEPTED_TAG` | `accepted` | Tasks in review with this tag are auto-merged (see [Auto-merge accepted PRs](#auto-merge-accepted-prs)) |
|
|
274
275
|
| `DONE_STATUS` | auto-detected | Status to set after auto-merging an accepted PR. When unset, aidev picks the first match of `done`, `closed`, `finish`, `success`, `prod` from the board's statuses |
|
|
275
276
|
| `PR_SIGNATURE` | `Automated PR by aidev.` | Custom signature line appended to the PR body |
|
|
277
|
+
| `AIDEV_SAFE_MODE` | `true` | Redact secret env values from AI prompts. Matching values from `.env` / `.env.aidev` are replaced with a placeholder and stored in `.aidev/assets/secrets/task-<id>.secrets` (git-ignored). Set to `false` / `0` / `no` to disable |
|
|
276
278
|
| `AIDEV_AUTO_COMPRESS` | `true` | Auto-compress older comments when the prompt grows large. Set to `false` / `0` / `no` to opt out |
|
|
277
279
|
| `AIDEV_COMPRESS_THRESHOLD` | `12000` | Char-length threshold that triggers compression |
|
|
278
280
|
|
|
@@ -320,7 +322,7 @@ aidev supports multiple AI agents with automatic fallback. The first available a
|
|
|
320
322
|
| `antigravity` | Google **Antigravity** CLI (`agy` or `antigravity`) in PATH — see [Antigravity](https://antigravity.google/download) |
|
|
321
323
|
| `claude` | [Claude CLI](https://github.com/anthropics/claude-code) installed and authenticated |
|
|
322
324
|
| `cursor` | Cursor **Agent CLI** (`agent`) in PATH — see [Windows](#windows-cursor-agent-cli) below |
|
|
323
|
-
| `
|
|
325
|
+
| `devin` | [Devin CLI](https://docs.devin.ai/cli) installed and authenticated |
|
|
324
326
|
|
|
325
327
|
### Windows: Cursor Agent CLI
|
|
326
328
|
|
|
@@ -344,14 +346,14 @@ AGENTS=cursor
|
|
|
344
346
|
# Cursor first (useful when working locally with a monitor)
|
|
345
347
|
AGENTS=cursor,claude
|
|
346
348
|
|
|
347
|
-
# Claude first, then
|
|
348
|
-
AGENTS=claude,
|
|
349
|
+
# Claude first, then Devin, then Cursor
|
|
350
|
+
AGENTS=claude,devin,cursor
|
|
349
351
|
|
|
350
352
|
# Antigravity first, then Claude
|
|
351
353
|
AGENTS=antigravity,claude
|
|
352
354
|
|
|
353
|
-
#
|
|
354
|
-
AGENTS=
|
|
355
|
+
# Devin only
|
|
356
|
+
AGENTS=devin
|
|
355
357
|
```
|
|
356
358
|
|
|
357
359
|
---
|
|
@@ -382,6 +384,46 @@ AIDEV_COMMENT_PREFIX=[mybot]
|
|
|
382
384
|
|
|
383
385
|
---
|
|
384
386
|
|
|
387
|
+
## Blocked tasks
|
|
388
|
+
|
|
389
|
+
If a task lists other tasks as blockers (via your provider's dependency feature), aidev will skip it until all blockers are closed.
|
|
390
|
+
|
|
391
|
+
**How it works:**
|
|
392
|
+
|
|
393
|
+
1. When a task is fetched, its blocking dependencies are read from the provider.
|
|
394
|
+
2. Before running the AI agent, aidev fetches each blocker task and checks its status.
|
|
395
|
+
3. If any blocker is still open (not in a done/closed/cancelled/complete/resolved state), the task is skipped with a log message:
|
|
396
|
+
|
|
397
|
+
```
|
|
398
|
+
skipped: blocked by task <id> (status: in progress)
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
4. Once all blockers are resolved, the task is picked up on the next run as normal.
|
|
402
|
+
|
|
403
|
+
**Per-provider support:**
|
|
404
|
+
|
|
405
|
+
| Provider | Blocking support | Source |
|
|
406
|
+
|---|---|---|
|
|
407
|
+
| ClickUp | Native | `dependencies` entries with `depends_on` ("waiting on") |
|
|
408
|
+
| Jira | Native | Issue links where the link type inward direction is `"is blocked by"` |
|
|
409
|
+
| Linear | Native | `inverseRelations` of type `blocks` (blocker in `issue`) |
|
|
410
|
+
| Monday.com | Native | Dependency column `linked_item_ids` (predecessors) |
|
|
411
|
+
| Notion | Optional | A Relation property named **Blocked By** (case-insensitive) in the database — see note below |
|
|
412
|
+
| Trello | Not supported | Trello has no native blocking concept |
|
|
413
|
+
| Local | Not applicable | — |
|
|
414
|
+
|
|
415
|
+
> **Notion setup:** To enable blocked-by checking for Notion, add a **Relation** property named `Blocked By` to your task database and point it at the same (or another) task database. If the property is absent, the check is silently skipped and all tasks proceed normally.
|
|
416
|
+
|
|
417
|
+
**Edge cases:**
|
|
418
|
+
|
|
419
|
+
- If a blocker task cannot be fetched (deleted or inaccessible), it is treated as non-blocking.
|
|
420
|
+
- Only direct blockers are checked — circular or transitive dependencies are not followed.
|
|
421
|
+
- If a future provider does not implement `fetchTaskById`, the blocker check is silently skipped and the task proceeds (fail open).
|
|
422
|
+
|
|
423
|
+
No additional configuration is required for providers with native support; the behaviour is automatic when the provider exposes dependency data.
|
|
424
|
+
|
|
425
|
+
---
|
|
426
|
+
|
|
385
427
|
## Auto-compress
|
|
386
428
|
|
|
387
429
|
For long-running tasks with many comments, the combined prompt (description + conversation history + review threads) can grow past the AI agent's effective context window. When the assembled context exceeds `AIDEV_COMPRESS_THRESHOLD` characters (default `12000`), aidev summarises the older comments via the configured AI agent and keeps only the **latest comment verbatim** — so the agent always sees the user's most recent intent without ambiguity.
|
|
@@ -649,6 +691,20 @@ AIDEV_LOG_PATH=/var/log/aidev.log # absolute
|
|
|
649
691
|
AIDEV_LOG_PATH=~/aidev/run.log # under your home directory
|
|
650
692
|
```
|
|
651
693
|
|
|
694
|
+
### Log pruning
|
|
695
|
+
|
|
696
|
+
At the start of every run, aidev automatically removes log lines older than **14 days** from the log file. Lines are identified by their leading ISO timestamp; all lines before the first timestamp that is still within the retention window are erased.
|
|
697
|
+
|
|
698
|
+
To change the retention window, set `AIDEV_LOG_TTL_DAYS`:
|
|
699
|
+
|
|
700
|
+
```bash
|
|
701
|
+
AIDEV_LOG_TTL_DAYS=7 # keep only the last 7 days
|
|
702
|
+
AIDEV_LOG_TTL_DAYS=30 # keep 30 days
|
|
703
|
+
AIDEV_LOG_TTL_DAYS=0 # disable pruning entirely
|
|
704
|
+
```
|
|
705
|
+
|
|
706
|
+
Set `AIDEV_LOG_TTL_DAYS=0` (or any non-positive value) to turn off automatic pruning.
|
|
707
|
+
|
|
652
708
|
---
|
|
653
709
|
|
|
654
710
|
## Providers
|
|
@@ -743,6 +799,8 @@ To add a comment, append a `---` separator followed by a `## your-name` header a
|
|
|
743
799
|
|
|
744
800
|
Downloaded task attachments are stored in `.aidev/assets/<task-id>/`, and `aidev init` adds `.aidev/assets/` to `.gitignore` automatically.
|
|
745
801
|
|
|
802
|
+
With **safe mode** enabled (default), secret values from `.env` / `.env.aidev` that appear in task prompts are redacted before they reach AI agents. The real values are written to `.aidev/assets/secrets/task-<id>.secrets` (also under the git-ignored assets tree). Prompts reference that file and nudge agents to pipe values via the terminal instead of reading the file directly. Disable with `AIDEV_SAFE_MODE=false` in `.env.aidev` or from the UI config page.
|
|
803
|
+
|
|
746
804
|
---
|
|
747
805
|
|
|
748
806
|
## UI dashboard
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devin.d.ts","sourceRoot":"","sources":["../../src/ai/devin.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAI/C,qBAAa,WAAY,YAAW,QAAQ;IAC1C,QAAQ,CAAC,IAAI,WAAW;IAExB,WAAW,IAAI,OAAO;IAIhB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAIhE"}
|
package/dist/ai/devin.js
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.DevinRunner = void 0;
|
|
37
|
+
const fs = __importStar(require("node:fs"));
|
|
38
|
+
const os = __importStar(require("node:os"));
|
|
39
|
+
const path = __importStar(require("node:path"));
|
|
40
|
+
const logger_1 = require("../logger");
|
|
41
|
+
const platform_1 = require("../platform");
|
|
42
|
+
class DevinRunner {
|
|
43
|
+
constructor() {
|
|
44
|
+
this.name = 'devin';
|
|
45
|
+
}
|
|
46
|
+
isAvailable() {
|
|
47
|
+
return (0, platform_1.commandExists)('devin');
|
|
48
|
+
}
|
|
49
|
+
async run(prompt, notes) {
|
|
50
|
+
const fullPrompt = notes ? `${prompt}\n\nAdditional context:\n${notes}` : prompt;
|
|
51
|
+
return runViaCli(fullPrompt);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.DevinRunner = DevinRunner;
|
|
55
|
+
async function runViaCli(fullPrompt) {
|
|
56
|
+
logger_1.logger.info('Running Devin CLI...');
|
|
57
|
+
logger_1.logger.debug(`Prompt: ${fullPrompt.slice(0, 200)}...`);
|
|
58
|
+
const cwd = process.cwd();
|
|
59
|
+
const promptFile = path.join(os.tmpdir(), `aidev-devin-${process.pid}-${Date.now()}.txt`);
|
|
60
|
+
try {
|
|
61
|
+
fs.writeFileSync(promptFile, fullPrompt, 'utf8');
|
|
62
|
+
// -p: single-turn print mode (non-interactive, outputs to stdout then exits)
|
|
63
|
+
// --permission-mode bypass: auto-approve all file/shell operations
|
|
64
|
+
// --prompt-file: avoids command-line length limits for large prompts
|
|
65
|
+
const args = ['-p', '--permission-mode', 'bypass', '--prompt-file', promptFile];
|
|
66
|
+
const result = (0, platform_1.spawnCommand)('devin', args, {
|
|
67
|
+
encoding: 'utf8',
|
|
68
|
+
timeout: 10 * 60 * 1000,
|
|
69
|
+
cwd,
|
|
70
|
+
env: (0, platform_1.getUserShellEnv)(),
|
|
71
|
+
});
|
|
72
|
+
const success = result.status === 0;
|
|
73
|
+
const output = result.stdout || '';
|
|
74
|
+
const error = result.stderr || '';
|
|
75
|
+
if (!success) {
|
|
76
|
+
logger_1.logger.warn(`Devin exited with status ${result.status}`);
|
|
77
|
+
if (error)
|
|
78
|
+
logger_1.logger.warn(`devin stderr: ${error.slice(0, 500)}`);
|
|
79
|
+
if (result.error)
|
|
80
|
+
logger_1.logger.warn(`devin spawn error: ${result.error.message}`);
|
|
81
|
+
}
|
|
82
|
+
return { success, output, error };
|
|
83
|
+
}
|
|
84
|
+
finally {
|
|
85
|
+
try {
|
|
86
|
+
fs.unlinkSync(promptFile);
|
|
87
|
+
}
|
|
88
|
+
catch { /* ignore */ }
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=devin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devin.js","sourceRoot":"","sources":["../../src/ai/devin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA8B;AAC9B,4CAA8B;AAC9B,gDAAkC;AAElC,sCAAmC;AACnC,0CAA2E;AAE3E,MAAa,WAAW;IAAxB;QACW,SAAI,GAAG,OAAO,CAAC;IAU1B,CAAC;IARC,WAAW;QACT,OAAO,IAAA,wBAAa,EAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,KAAc;QACtC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,4BAA4B,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QACjF,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;CACF;AAXD,kCAWC;AAED,KAAK,UAAU,SAAS,CAAC,UAAkB;IACzC,eAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACpC,eAAM,CAAC,KAAK,CAAC,WAAW,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAEvD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,eAAe,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAE1F,IAAI,CAAC;QACH,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAEjD,6EAA6E;QAC7E,mEAAmE;QACnE,qEAAqE;QACrE,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,CAAC,CAAC;QAEhF,MAAM,MAAM,GAAG,IAAA,uBAAY,EAAC,OAAO,EAAE,IAAI,EAAE;YACzC,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;YACvB,GAAG;YACH,GAAG,EAAE,IAAA,0BAAe,GAAE;SACvB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QAElC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,eAAM,CAAC,IAAI,CAAC,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACzD,IAAI,KAAK;gBAAE,eAAM,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/D,IAAI,MAAM,CAAC,KAAK;gBAAE,eAAM,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACpC,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
|
package/dist/ai/index.js
CHANGED
|
@@ -6,7 +6,7 @@ const anthropicSdk_1 = require("./anthropicSdk");
|
|
|
6
6
|
const claude_1 = require("./claude");
|
|
7
7
|
const codex_1 = require("./codex");
|
|
8
8
|
const cursor_1 = require("./cursor");
|
|
9
|
-
const
|
|
9
|
+
const devin_1 = require("./devin");
|
|
10
10
|
const logger_1 = require("../logger");
|
|
11
11
|
const registry = {
|
|
12
12
|
antigravity: new antigravity_1.AntigravityRunner(),
|
|
@@ -14,7 +14,7 @@ const registry = {
|
|
|
14
14
|
claude: new claude_1.ClaudeRunner(),
|
|
15
15
|
codex: new codex_1.CodexRunner(),
|
|
16
16
|
cursor: new cursor_1.CursorRunner(),
|
|
17
|
-
|
|
17
|
+
devin: new devin_1.DevinRunner(),
|
|
18
18
|
};
|
|
19
19
|
function createRunners(config) {
|
|
20
20
|
const runners = config.agents.map((name) => registry[name]);
|
package/dist/ai/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":";;AAmBA,sCAcC;AA/BD,+CAAkD;AAClD,iDAAoD;AACpD,qCAAwC;AACxC,mCAAsC;AACtC,qCAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":";;AAmBA,sCAcC;AA/BD,+CAAkD;AAClD,iDAAoD;AACpD,qCAAwC;AACxC,mCAAsC;AACtC,qCAAwC;AACxC,mCAAsC;AACtC,sCAAmC;AAEnC,MAAM,QAAQ,GAA6B;IACzC,WAAW,EAAE,IAAI,+BAAiB,EAAE;IACpC,eAAe,EAAE,IAAI,iCAAkB,EAAE;IACzC,MAAM,EAAE,IAAI,qBAAY,EAAE;IAC1B,KAAK,EAAE,IAAI,mBAAW,EAAE;IACxB,MAAM,EAAE,IAAI,qBAAY,EAAE;IAC1B,KAAK,EAAE,IAAI,mBAAW,EAAE;CACzB,CAAC;AAEF,SAAgB,aAAa,CAAC,MAAc;IAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE/E,eAAM,CAAC,IAAI,CAAC,kCAAkC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,eAAM,CAAC,IAAI,CAAC,qCAAqC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACpG,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,eAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -17,6 +17,7 @@ const logger_1 = require("./logger");
|
|
|
17
17
|
const hooks_1 = require("./hooks");
|
|
18
18
|
const accepted_1 = require("./commands/accepted");
|
|
19
19
|
const github_1 = require("./github");
|
|
20
|
+
const hooks_2 = require("./commands/hooks");
|
|
20
21
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
21
22
|
const { version } = require('../package.json');
|
|
22
23
|
const program = new commander_1.Command();
|
|
@@ -195,5 +196,35 @@ tasksCmd
|
|
|
195
196
|
process.exit(1);
|
|
196
197
|
}
|
|
197
198
|
});
|
|
199
|
+
const hooksCmd = program
|
|
200
|
+
.command('hooks')
|
|
201
|
+
.description('Manage the aidev hooks file');
|
|
202
|
+
hooksCmd
|
|
203
|
+
.command('generate')
|
|
204
|
+
.description('Write a fresh hooks boilerplate to AIDEV_HOOKS_PATH (aborts if file exists without --force)')
|
|
205
|
+
.option('--force', 'overwrite an existing hooks file')
|
|
206
|
+
.action((opts) => {
|
|
207
|
+
const { env } = program.opts();
|
|
208
|
+
try {
|
|
209
|
+
(0, hooks_2.hooksGenerateCommand)(opts, env);
|
|
210
|
+
}
|
|
211
|
+
catch (err) {
|
|
212
|
+
logger_1.logger.error(String(err));
|
|
213
|
+
process.exit(1);
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
hooksCmd
|
|
217
|
+
.command('update')
|
|
218
|
+
.description('Append stubs for any missing hooks to the existing hooks file')
|
|
219
|
+
.action(() => {
|
|
220
|
+
const { env } = program.opts();
|
|
221
|
+
try {
|
|
222
|
+
(0, hooks_2.hooksUpdateCommand)(env);
|
|
223
|
+
}
|
|
224
|
+
catch (err) {
|
|
225
|
+
logger_1.logger.error(String(err));
|
|
226
|
+
process.exit(1);
|
|
227
|
+
}
|
|
228
|
+
});
|
|
198
229
|
program.parse(process.argv);
|
|
199
230
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AACA,yCAAoC;AACpC,0CAA8C;AAC9C,wCAAuD;AACvD,kDAAwH;AACxH,4CAA6H;AAC7H,0CAA8C;AAC9C,0CAA8C;AAC9C,sCAA0C;AAC1C,qCAAsC;AACtC,2CAA2D;AAC3D,6BAAqC;AACrC,mCAA4C;AAC5C,qCAAkC;AAElC,mCAAkD;AAClD,kDAAsD;AACtD,qCAAyC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AACA,yCAAoC;AACpC,0CAA8C;AAC9C,wCAAuD;AACvD,kDAAwH;AACxH,4CAA6H;AAC7H,0CAA8C;AAC9C,0CAA8C;AAC9C,sCAA0C;AAC1C,qCAAsC;AACtC,2CAA2D;AAC3D,6BAAqC;AACrC,mCAA4C;AAC5C,qCAAkC;AAElC,mCAAkD;AAClD,kDAAsD;AACtD,qCAAyC;AACzC,4CAA4E;AAE5E,8DAA8D;AAC9D,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEtE,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,2EAA2E,CAAC;KACxF,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,kBAAkB,EAAE,wCAAwC,CAAC,CAAC;AAExE,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,sDAAsD,CAAC;KACnE,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,IAAA,kBAAW,GAAE,CAAC;AACtB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,WAAW,CAAC;KACxB,MAAM,CAAC,GAAG,EAAE;IACX,IAAA,kBAAW,GAAE,CAAC;AAChB,CAAC,CAAC,CAAC;AAEL,KAAK,UAAU,aAAa,CAAC,MAA0B,EAAE,MAAe;IACtE,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAE/E,IAAI,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7C,eAAM,CAAC,KAAK,CAAC,mBAAmB,MAAM,8DAA8D,CAAC,CAAC;QACtG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAoB,CAAC;QACjD,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAA,0BAAc,EAAC,MAAM,CAAC,CAAC;QAExC,uEAAuE;QACvE,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YAC1B,MAAM,IAAA,0BAAe,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAED,0EAA0E;QAC1E,6DAA6D;QAC7D,IAAI,eAAyC,CAAC;QAC9C,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,aAAa,GAAW;gBAC5B,GAAG,MAAM;gBACT,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,aAAa,EAAE,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,aAAa;gBAClE,SAAS,EAAE,MAAM,CAAC,UAAU;gBAC5B,WAAW,EAAE,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,WAAW;gBAC5D,WAAW,EAAE,MAAM,CAAC,UAAU;gBAC9B,YAAY,EAAE,MAAM,CAAC,mBAAmB,IAAI,MAAM,CAAC,YAAY;gBAC/D,WAAW,EAAE,MAAM,CAAC,UAAU;aAC/B,CAAC;YACF,eAAe,GAAG,IAAA,0BAAc,EAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,gDAAgD;YAChD,MAAM,WAAW,GAAG,MAAM,IAAA,yBAAiB,EAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;YAC/E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBACtD,eAAM,CAAC,IAAI,CAAC,gBAAgB,WAAW,CAAC,MAAM,YAAY,WAAW,CAAC,OAAO,UAAU,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;QAED,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO;QAE/B,MAAM,cAAc,GAAe,MAAoB,IAAI,KAAK,CAAC;QACjE,MAAM,OAAO,GAAG,IAAA,kBAAa,EAAC,MAAM,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,IAAA,iBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,IAAA,gBAAU,EAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAEpG,0DAA0D;QAC1D,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,IAAI,IAAA,sBAAa,GAAE,EAAE,CAAC;YACrD,MAAM,IAAA,0BAAe,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,OAAO;KACJ,OAAO,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;KAC5C,WAAW,CAAC,+HAA+H,CAAC;KAC5I,MAAM,CAAC,aAAa,EAAE,4GAA4G,CAAC;KACnI,MAAM,CAAC,mBAAmB,EAAE,+FAA+F,CAAC;KAC5H,MAAM,CAAC,KAAK,EAAE,MAA0B,EAAE,IAAwC,EAAE,EAAE;IACrF,2EAA2E;IAC3E,4EAA4E;IAC5E,4EAA4E;IAC5E,MAAM,eAAe,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;IAC9C,MAAM,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,yDAAyD,CAAC;KACtE,MAAM,CAAC,GAAG,EAAE;IACX,IAAA,kBAAW,GAAE,CAAC;AAChB,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,IAAI,CAAC;KACb,WAAW,CAAC,uDAAuD,CAAC;KACpE,MAAM,CAAC,iBAAiB,EAAE,2BAA2B,EAAE,OAAO,CAAC;KAC/D,MAAM,CAAC,QAAQ,EAAE,4DAA4D,CAAC;KAC9E,MAAM,CAAC,KAAK,EAAE,IAAuC,EAAE,EAAE;IACxD,IAAI,CAAC;QACH,MAAM,IAAA,cAAS,EAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,MAAM,WAAW,GAAG,OAAO;KACxB,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,qDAAqD,CAAC,CAAC;AAEtE,WAAW;KACR,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,8HAA8H,CAAC;KAC3I,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,EAAE;IACzC,yEAAyE;IACzE,6EAA6E;IAC7E,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAoB,CAAC;IACjD,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,MAAM,IAAA,6BAAkB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEL,WAAW;KACR,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,0CAA0C,CAAC;KACvD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,IAAA,6BAAkB,GAAE,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEL,WAAW;KACR,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,oEAAoE,CAAC;KACjF,MAAM,CAAC,KAAK,EAAE,EAAW,EAAE,EAAE;IAC5B,MAAM,IAAA,gCAAqB,EAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC;AAEL,WAAW;KACR,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,kEAAkE,CAAC;KAC/E,MAAM,CAAC,GAAG,EAAE;IACX,IAAA,6BAAkB,GAAE,CAAC;AACvB,CAAC,CAAC,CAAC;AAEL,MAAM,QAAQ,GAAG,OAAO;KACrB,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,uCAAuC,CAAC,CAAC;AAExD,QAAQ;KACL,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,IAAA,uBAAe,GAAE,CAAC;AAC1B,CAAC,CAAC,CAAC;AAEL,QAAQ;KACL,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,0DAA0D,CAAC;KACvE,MAAM,CAAC,KAAK,EAAE,EAAW,EAAE,EAAE;IAC5B,MAAM,IAAA,0BAAkB,EAAC,EAAE,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEL,QAAQ;KACL,OAAO,CAAC,IAAI,CAAC;KACb,WAAW,CAAC,sBAAsB,CAAC;KACnC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,IAAA,sBAAc,GAAE,CAAC;AACzB,CAAC,CAAC,CAAC;AAEL,QAAQ;KACL,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,0DAA0D,CAAC;KACvE,MAAM,CAAC,KAAK,EAAE,EAAW,EAAE,EAAE;IAC5B,MAAM,IAAA,0BAAkB,EAAC,EAAE,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEL,QAAQ;KACL,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,oEAAoE,CAAC;KACjF,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAoB,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,IAAA,wBAAgB,EAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,MAAM,QAAQ,GAAG,OAAO;KACrB,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,6BAA6B,CAAC,CAAC;AAE9C,QAAQ;KACL,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,6FAA6F,CAAC;KAC1G,MAAM,CAAC,SAAS,EAAE,kCAAkC,CAAC;KACrD,MAAM,CAAC,CAAC,IAAyB,EAAE,EAAE;IACpC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAoB,CAAC;IACjD,IAAI,CAAC;QACH,IAAA,4BAAoB,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,QAAQ;KACL,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,+DAA+D,CAAC;KAC5E,MAAM,CAAC,GAAG,EAAE;IACX,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAoB,CAAC;IACjD,IAAI,CAAC;QACH,IAAA,0BAAkB,EAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
package/dist/commands/help.js
CHANGED
|
@@ -116,7 +116,7 @@ ${b('CONFIG')} ${d('.env.aidev in your project directory')}
|
|
|
116
116
|
${d('CLICKUP_API_KEY')} ClickUp personal API token
|
|
117
117
|
${d('CLICKUP_TEAM_ID')} Workspace / team ID
|
|
118
118
|
${d('CLICKUP_TAG')} Tag used to filter tasks ${d('(default: folder name)')}
|
|
119
|
-
${d('AGENTS')} Agent order: ${c('claude,cursor')} ${d('| antigravity | cursor |
|
|
119
|
+
${d('AGENTS')} Agent order: ${c('claude,cursor')} ${d('| antigravity | cursor | devin | …')}
|
|
120
120
|
${d('DEV_NOTES_MODE')} ${c('smart')} ${d('(default) | always')}
|
|
121
121
|
${d('AIDEV_TRIGGER_WORD')} Trigger word to re-process a skipped task ${d('(default: aidev-continue)')}
|
|
122
122
|
${d('AIDEV_HOOKS_PATH')} Optional hooks module ${d('(default from init: .aidev/aidev.hooks.ts)')}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/commands/help.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/commands/hooks.ts"],"names":[],"mappings":"AAiBA,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAkBtF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAqBzD"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.hooksGenerateCommand = hooksGenerateCommand;
|
|
40
|
+
exports.hooksUpdateCommand = hooksUpdateCommand;
|
|
41
|
+
const fs = __importStar(require("node:fs"));
|
|
42
|
+
const path = __importStar(require("node:path"));
|
|
43
|
+
const config_1 = require("../config");
|
|
44
|
+
const hooksTemplate_1 = require("../hooksTemplate");
|
|
45
|
+
const logger_1 = require("../logger");
|
|
46
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
47
|
+
function resolveHooksPath(envPath) {
|
|
48
|
+
const config = (0, config_1.loadConfig)(envPath);
|
|
49
|
+
if (!config.hooksPath) {
|
|
50
|
+
throw new Error('AIDEV_HOOKS_PATH is not set. Run "aidev init" or set AIDEV_HOOKS_PATH in .env.aidev');
|
|
51
|
+
}
|
|
52
|
+
return path.isAbsolute(config.hooksPath)
|
|
53
|
+
? config.hooksPath
|
|
54
|
+
: path.resolve(process.cwd(), config.hooksPath);
|
|
55
|
+
}
|
|
56
|
+
function hooksGenerateCommand(opts, envPath) {
|
|
57
|
+
const hooksPath = resolveHooksPath(envPath);
|
|
58
|
+
if (fs.existsSync(hooksPath) && !opts.force) {
|
|
59
|
+
logger_1.logger.error(`Hooks file already exists: ${hooksPath}\n` +
|
|
60
|
+
`Use ${chalk_1.default.cyan('--force')} to overwrite it, or use ${chalk_1.default.cyan('aidev hooks update')} to add only missing hooks.`);
|
|
61
|
+
process.exit(1);
|
|
62
|
+
}
|
|
63
|
+
const dir = path.dirname(hooksPath);
|
|
64
|
+
if (!fs.existsSync(dir)) {
|
|
65
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
66
|
+
}
|
|
67
|
+
fs.writeFileSync(hooksPath, (0, hooksTemplate_1.generateFullHooksFile)(), 'utf8');
|
|
68
|
+
logger_1.logger.success(`Hooks file written to ${hooksPath}`);
|
|
69
|
+
}
|
|
70
|
+
function hooksUpdateCommand(envPath) {
|
|
71
|
+
const hooksPath = resolveHooksPath(envPath);
|
|
72
|
+
if (!fs.existsSync(hooksPath)) {
|
|
73
|
+
logger_1.logger.error(`Hooks file not found: ${hooksPath}\n` +
|
|
74
|
+
`Use ${chalk_1.default.cyan('aidev hooks generate')} to create it from scratch.`);
|
|
75
|
+
process.exit(1);
|
|
76
|
+
}
|
|
77
|
+
const existing = fs.readFileSync(hooksPath, 'utf8');
|
|
78
|
+
const { content, added } = (0, hooksTemplate_1.updateHooksFile)(existing);
|
|
79
|
+
if (added.length === 0) {
|
|
80
|
+
logger_1.logger.info('All hooks are already present — nothing to add.');
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
fs.writeFileSync(hooksPath, content, 'utf8');
|
|
84
|
+
logger_1.logger.success(`Added ${added.length} missing hook(s): ${added.join(', ')}`);
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/commands/hooks.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,oDAkBC;AAED,gDAqBC;AA1DD,4CAA8B;AAC9B,gDAAkC;AAClC,sCAAuC;AACvC,oDAA0E;AAC1E,sCAAmC;AACnC,kDAA0B;AAE1B,SAAS,gBAAgB,CAAC,OAAgB;IACxC,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,OAAO,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;IACzG,CAAC;IACD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC;QACtC,CAAC,CAAC,MAAM,CAAC,SAAS;QAClB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;AACpD,CAAC;AAED,SAAgB,oBAAoB,CAAC,IAAyB,EAAE,OAAgB;IAC9E,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE5C,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5C,eAAM,CAAC,KAAK,CACV,8BAA8B,SAAS,IAAI;YAC3C,OAAO,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,4BAA4B,eAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,6BAA6B,CACtH,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,IAAA,qCAAqB,GAAE,EAAE,MAAM,CAAC,CAAC;IAC7D,eAAM,CAAC,OAAO,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,SAAgB,kBAAkB,CAAC,OAAgB;IACjD,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,eAAM,CAAC,KAAK,CACV,yBAAyB,SAAS,IAAI;YACtC,OAAO,eAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,6BAA6B,CACvE,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACpD,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAA,+BAAe,EAAC,QAAQ,CAAC,CAAC;IAErD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,eAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,eAAM,CAAC,OAAO,CAAC,SAAS,KAAK,CAAC,MAAM,qBAAqB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/E,CAAC"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -63,6 +63,7 @@ export interface Answers {
|
|
|
63
63
|
aidevEnvExtend: string;
|
|
64
64
|
acceptedTag: string;
|
|
65
65
|
doneStatus: string;
|
|
66
|
+
safeMode: boolean;
|
|
66
67
|
}
|
|
67
68
|
/** Wraps value in double quotes if it contains spaces or special chars. */
|
|
68
69
|
export declare function envVal(val: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|