monday-cli 0.2.0 → 0.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/CHANGELOG.md +324 -2
- package/README.md +128 -30
- package/dist/api/board-favorites.d.ts +329 -0
- package/dist/api/board-favorites.d.ts.map +1 -0
- package/dist/api/board-favorites.js +353 -0
- package/dist/api/board-favorites.js.map +1 -0
- package/dist/api/board-mutation-result.d.ts +9 -5
- package/dist/api/board-mutation-result.d.ts.map +1 -1
- package/dist/api/board-mutation-result.js +9 -5
- package/dist/api/board-mutation-result.js.map +1 -1
- package/dist/api/board-relation-validation.d.ts +161 -0
- package/dist/api/board-relation-validation.d.ts.map +1 -0
- package/dist/api/board-relation-validation.js +317 -0
- package/dist/api/board-relation-validation.js.map +1 -0
- package/dist/api/cache.d.ts +14 -5
- package/dist/api/cache.d.ts.map +1 -1
- package/dist/api/cache.js +8 -10
- package/dist/api/cache.js.map +1 -1
- package/dist/api/column-mapping.js +2 -2
- package/dist/api/column-mapping.js.map +1 -1
- package/dist/api/column-mutation-result.d.ts +9 -5
- package/dist/api/column-mutation-result.d.ts.map +1 -1
- package/dist/api/column-mutation-result.js +9 -5
- package/dist/api/column-mutation-result.js.map +1 -1
- package/dist/api/column-types.d.ts +26 -7
- package/dist/api/column-types.d.ts.map +1 -1
- package/dist/api/column-types.js +42 -3
- package/dist/api/column-types.js.map +1 -1
- package/dist/api/column-values.d.ts +228 -31
- package/dist/api/column-values.d.ts.map +1 -1
- package/dist/api/column-values.js +551 -124
- package/dist/api/column-values.js.map +1 -1
- package/dist/api/cross-board-search.d.ts +501 -0
- package/dist/api/cross-board-search.d.ts.map +1 -0
- package/dist/api/cross-board-search.js +547 -0
- package/dist/api/cross-board-search.js.map +1 -0
- package/dist/api/dev-conventions.d.ts +1038 -0
- package/dist/api/dev-conventions.d.ts.map +1 -0
- package/dist/api/dev-conventions.js +1556 -0
- package/dist/api/dev-conventions.js.map +1 -0
- package/dist/api/dry-run.d.ts +32 -5
- package/dist/api/dry-run.d.ts.map +1 -1
- package/dist/api/dry-run.js +149 -32
- package/dist/api/dry-run.js.map +1 -1
- package/dist/api/errors.d.ts.map +1 -1
- package/dist/api/errors.js +28 -7
- package/dist/api/errors.js.map +1 -1
- package/dist/api/group-mutation-result.d.ts +9 -5
- package/dist/api/group-mutation-result.d.ts.map +1 -1
- package/dist/api/group-mutation-result.js +9 -5
- package/dist/api/group-mutation-result.js.map +1 -1
- package/dist/api/item-history-projection.d.ts +919 -0
- package/dist/api/item-history-projection.d.ts.map +1 -0
- package/dist/api/item-history-projection.js +1104 -0
- package/dist/api/item-history-projection.js.map +1 -0
- package/dist/api/item-mutation-execute.d.ts +82 -0
- package/dist/api/item-mutation-execute.d.ts.map +1 -0
- package/dist/api/item-mutation-execute.js +199 -0
- package/dist/api/item-mutation-execute.js.map +1 -0
- package/dist/api/notifications.d.ts +156 -0
- package/dist/api/notifications.d.ts.map +1 -0
- package/dist/api/notifications.js +215 -0
- package/dist/api/notifications.js.map +1 -0
- package/dist/api/oauth-test-helper.d.ts +64 -0
- package/dist/api/oauth-test-helper.d.ts.map +1 -0
- package/dist/api/oauth-test-helper.js +179 -0
- package/dist/api/oauth-test-helper.js.map +1 -0
- package/dist/api/oauth.d.ts +198 -0
- package/dist/api/oauth.d.ts.map +1 -0
- package/dist/api/oauth.js +471 -0
- package/dist/api/oauth.js.map +1 -0
- package/dist/api/partial-success-bulk.d.ts +422 -0
- package/dist/api/partial-success-bulk.d.ts.map +1 -0
- package/dist/api/partial-success-bulk.js +378 -0
- package/dist/api/partial-success-bulk.js.map +1 -0
- package/dist/api/people.d.ts +54 -1
- package/dist/api/people.d.ts.map +1 -1
- package/dist/api/people.js +27 -3
- package/dist/api/people.js.map +1 -1
- package/dist/api/probes.d.ts +487 -0
- package/dist/api/probes.d.ts.map +1 -0
- package/dist/api/probes.js +881 -0
- package/dist/api/probes.js.map +1 -0
- package/dist/api/raw-document.d.ts.map +1 -1
- package/dist/api/raw-document.js +2 -2
- package/dist/api/raw-document.js.map +1 -1
- package/dist/api/raw-write.d.ts.map +1 -1
- package/dist/api/raw-write.js +11 -3
- package/dist/api/raw-write.js.map +1 -1
- package/dist/api/resolution-context.d.ts +23 -11
- package/dist/api/resolution-context.d.ts.map +1 -1
- package/dist/api/resolution-context.js +53 -12
- package/dist/api/resolution-context.js.map +1 -1
- package/dist/api/resolution-pass.d.ts +30 -1
- package/dist/api/resolution-pass.d.ts.map +1 -1
- package/dist/api/resolution-pass.js +36 -1
- package/dist/api/resolution-pass.js.map +1 -1
- package/dist/api/resolve-client.d.ts +11 -0
- package/dist/api/resolve-client.d.ts.map +1 -1
- package/dist/api/resolve-client.js +1 -1
- package/dist/api/resolve-client.js.map +1 -1
- package/dist/api/response-root.d.ts +92 -46
- package/dist/api/response-root.d.ts.map +1 -1
- package/dist/api/response-root.js +93 -41
- package/dist/api/response-root.js.map +1 -1
- package/dist/api/tag-directory.d.ts +154 -0
- package/dist/api/tag-directory.d.ts.map +1 -0
- package/dist/api/tag-directory.js +325 -0
- package/dist/api/tag-directory.js.map +1 -0
- package/dist/api/time-tracking.d.ts +165 -0
- package/dist/api/time-tracking.d.ts.map +1 -0
- package/dist/api/time-tracking.js +135 -0
- package/dist/api/time-tracking.js.map +1 -0
- package/dist/api/transport.js +3 -3
- package/dist/api/transport.js.map +1 -1
- package/dist/api/usage.d.ts +190 -0
- package/dist/api/usage.d.ts.map +1 -0
- package/dist/api/usage.js +194 -0
- package/dist/api/usage.js.map +1 -0
- package/dist/api/users-fan-out-mutation.d.ts.map +1 -1
- package/dist/api/users-fan-out-mutation.js +10 -5
- package/dist/api/users-fan-out-mutation.js.map +1 -1
- package/dist/api/webhooks.d.ts +357 -0
- package/dist/api/webhooks.d.ts.map +1 -0
- package/dist/api/webhooks.js +333 -0
- package/dist/api/webhooks.js.map +1 -0
- package/dist/cli/envelope-out.d.ts +18 -1
- package/dist/cli/envelope-out.d.ts.map +1 -1
- package/dist/cli/envelope-out.js +16 -2
- package/dist/cli/envelope-out.js.map +1 -1
- package/dist/cli/program.d.ts.map +1 -1
- package/dist/cli/program.js +120 -1
- package/dist/cli/program.js.map +1 -1
- package/dist/cli/run.d.ts +12 -0
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +2 -0
- package/dist/cli/run.js.map +1 -1
- package/dist/commands/account/tags.d.ts +37 -0
- package/dist/commands/account/tags.d.ts.map +1 -0
- package/dist/commands/account/tags.js +84 -0
- package/dist/commands/account/tags.js.map +1 -0
- package/dist/commands/auth/login.d.ts +14 -0
- package/dist/commands/auth/login.d.ts.map +1 -0
- package/dist/commands/auth/login.js +314 -0
- package/dist/commands/auth/login.js.map +1 -0
- package/dist/commands/auth/logout.d.ts +28 -0
- package/dist/commands/auth/logout.d.ts.map +1 -0
- package/dist/commands/auth/logout.js +94 -0
- package/dist/commands/auth/logout.js.map +1 -0
- package/dist/commands/board/archive.d.ts.map +1 -1
- package/dist/commands/board/archive.js +14 -14
- package/dist/commands/board/archive.js.map +1 -1
- package/dist/commands/board/column-create.d.ts +3 -3
- package/dist/commands/board/column-create.d.ts.map +1 -1
- package/dist/commands/board/column-create.js +52 -45
- package/dist/commands/board/column-create.js.map +1 -1
- package/dist/commands/board/column-delete.d.ts.map +1 -1
- package/dist/commands/board/column-delete.js +15 -16
- package/dist/commands/board/column-delete.js.map +1 -1
- package/dist/commands/board/column-update.d.ts.map +1 -1
- package/dist/commands/board/column-update.js +23 -22
- package/dist/commands/board/column-update.js.map +1 -1
- package/dist/commands/board/create.d.ts.map +1 -1
- package/dist/commands/board/create.js +14 -17
- package/dist/commands/board/create.js.map +1 -1
- package/dist/commands/board/delete.d.ts.map +1 -1
- package/dist/commands/board/delete.js +12 -15
- package/dist/commands/board/delete.js.map +1 -1
- package/dist/commands/board/describe.d.ts.map +1 -1
- package/dist/commands/board/describe.js +30 -0
- package/dist/commands/board/describe.js.map +1 -1
- package/dist/commands/board/duplicate.d.ts.map +1 -1
- package/dist/commands/board/duplicate.js +12 -13
- package/dist/commands/board/duplicate.js.map +1 -1
- package/dist/commands/board/favorites.d.ts +33 -0
- package/dist/commands/board/favorites.d.ts.map +1 -0
- package/dist/commands/board/favorites.js +74 -0
- package/dist/commands/board/favorites.js.map +1 -0
- package/dist/commands/board/find.d.ts +1 -1
- package/dist/commands/board/group-archive.d.ts.map +1 -1
- package/dist/commands/board/group-archive.js +12 -16
- package/dist/commands/board/group-archive.js.map +1 -1
- package/dist/commands/board/group-create.d.ts.map +1 -1
- package/dist/commands/board/group-create.js +9 -19
- package/dist/commands/board/group-create.js.map +1 -1
- package/dist/commands/board/group-delete.d.ts.map +1 -1
- package/dist/commands/board/group-delete.js +12 -16
- package/dist/commands/board/group-delete.js.map +1 -1
- package/dist/commands/board/group-duplicate.d.ts.map +1 -1
- package/dist/commands/board/group-duplicate.js +12 -16
- package/dist/commands/board/group-duplicate.js.map +1 -1
- package/dist/commands/board/group-update.d.ts.map +1 -1
- package/dist/commands/board/group-update.js +12 -11
- package/dist/commands/board/group-update.js.map +1 -1
- package/dist/commands/board/list.d.ts +1 -1
- package/dist/commands/board/update.d.ts.map +1 -1
- package/dist/commands/board/update.js +16 -11
- package/dist/commands/board/update.js.map +1 -1
- package/dist/commands/cache/list.d.ts +2 -0
- package/dist/commands/cache/list.d.ts.map +1 -1
- package/dist/commands/cache/list.js +2 -2
- package/dist/commands/cache/list.js.map +1 -1
- package/dist/commands/dev/_shared.d.ts +40 -0
- package/dist/commands/dev/_shared.d.ts.map +1 -0
- package/dist/commands/dev/_shared.js +104 -0
- package/dist/commands/dev/_shared.js.map +1 -0
- package/dist/commands/dev/configure.d.ts +36 -0
- package/dist/commands/dev/configure.d.ts.map +1 -0
- package/dist/commands/dev/configure.js +145 -0
- package/dist/commands/dev/configure.js.map +1 -0
- package/dist/commands/dev/discover.d.ts +34 -0
- package/dist/commands/dev/discover.d.ts.map +1 -0
- package/dist/commands/dev/discover.js +117 -0
- package/dist/commands/dev/discover.js.map +1 -0
- package/dist/commands/dev/doctor.d.ts +39 -0
- package/dist/commands/dev/doctor.d.ts.map +1 -0
- package/dist/commands/dev/doctor.js +91 -0
- package/dist/commands/dev/doctor.js.map +1 -0
- package/dist/commands/dev/epic/items.d.ts +24 -0
- package/dist/commands/dev/epic/items.d.ts.map +1 -0
- package/dist/commands/dev/epic/items.js +103 -0
- package/dist/commands/dev/epic/items.js.map +1 -0
- package/dist/commands/dev/epic/list.d.ts +36 -0
- package/dist/commands/dev/epic/list.d.ts.map +1 -0
- package/dist/commands/dev/epic/list.js +120 -0
- package/dist/commands/dev/epic/list.js.map +1 -0
- package/dist/commands/dev/release/list.d.ts +21 -0
- package/dist/commands/dev/release/list.d.ts.map +1 -0
- package/dist/commands/dev/release/list.js +73 -0
- package/dist/commands/dev/release/list.js.map +1 -0
- package/dist/commands/dev/sprint/current.d.ts +24 -0
- package/dist/commands/dev/sprint/current.d.ts.map +1 -0
- package/dist/commands/dev/sprint/current.js +90 -0
- package/dist/commands/dev/sprint/current.js.map +1 -0
- package/dist/commands/dev/sprint/items.d.ts +34 -0
- package/dist/commands/dev/sprint/items.d.ts.map +1 -0
- package/dist/commands/dev/sprint/items.js +118 -0
- package/dist/commands/dev/sprint/items.js.map +1 -0
- package/dist/commands/dev/sprint/list.d.ts +41 -0
- package/dist/commands/dev/sprint/list.d.ts.map +1 -0
- package/dist/commands/dev/sprint/list.js +104 -0
- package/dist/commands/dev/sprint/list.js.map +1 -0
- package/dist/commands/dev/task/block.d.ts +29 -0
- package/dist/commands/dev/task/block.d.ts.map +1 -0
- package/dist/commands/dev/task/block.js +106 -0
- package/dist/commands/dev/task/block.js.map +1 -0
- package/dist/commands/dev/task/done.d.ts +30 -0
- package/dist/commands/dev/task/done.d.ts.map +1 -0
- package/dist/commands/dev/task/done.js +113 -0
- package/dist/commands/dev/task/done.js.map +1 -0
- package/dist/commands/dev/task/list.d.ts +42 -0
- package/dist/commands/dev/task/list.d.ts.map +1 -0
- package/dist/commands/dev/task/list.js +227 -0
- package/dist/commands/dev/task/list.js.map +1 -0
- package/dist/commands/dev/task/start.d.ts +29 -0
- package/dist/commands/dev/task/start.d.ts.map +1 -0
- package/dist/commands/dev/task/start.js +90 -0
- package/dist/commands/dev/task/start.js.map +1 -0
- package/dist/commands/emit.d.ts.map +1 -1
- package/dist/commands/emit.js +5 -3
- package/dist/commands/emit.js.map +1 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +95 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/item/archive.d.ts.map +1 -1
- package/dist/commands/item/archive.js +11 -0
- package/dist/commands/item/archive.js.map +1 -1
- package/dist/commands/item/clear.d.ts.map +1 -1
- package/dist/commands/item/clear.js +15 -0
- package/dist/commands/item/clear.js.map +1 -1
- package/dist/commands/item/create.d.ts.map +1 -1
- package/dist/commands/item/create.js +41 -8
- package/dist/commands/item/create.js.map +1 -1
- package/dist/commands/item/delete.d.ts.map +1 -1
- package/dist/commands/item/delete.js +11 -0
- package/dist/commands/item/delete.js.map +1 -1
- package/dist/commands/item/duplicate.d.ts.map +1 -1
- package/dist/commands/item/duplicate.js +12 -0
- package/dist/commands/item/duplicate.js.map +1 -1
- package/dist/commands/item/history.d.ts +60 -0
- package/dist/commands/item/history.d.ts.map +1 -0
- package/dist/commands/item/history.js +309 -0
- package/dist/commands/item/history.js.map +1 -0
- package/dist/commands/item/list.d.ts.map +1 -1
- package/dist/commands/item/list.js +16 -13
- package/dist/commands/item/list.js.map +1 -1
- package/dist/commands/item/move.d.ts.map +1 -1
- package/dist/commands/item/move.js +41 -7
- package/dist/commands/item/move.js.map +1 -1
- package/dist/commands/item/search.d.ts +99 -15
- package/dist/commands/item/search.d.ts.map +1 -1
- package/dist/commands/item/search.js +480 -36
- package/dist/commands/item/search.js.map +1 -1
- package/dist/commands/item/set.d.ts.map +1 -1
- package/dist/commands/item/set.js +52 -8
- package/dist/commands/item/set.js.map +1 -1
- package/dist/commands/item/time-track/start.d.ts +61 -0
- package/dist/commands/item/time-track/start.d.ts.map +1 -0
- package/dist/commands/item/time-track/start.js +138 -0
- package/dist/commands/item/time-track/start.js.map +1 -0
- package/dist/commands/item/time-track/stop.d.ts +32 -0
- package/dist/commands/item/time-track/stop.d.ts.map +1 -0
- package/dist/commands/item/time-track/stop.js +97 -0
- package/dist/commands/item/time-track/stop.js.map +1 -0
- package/dist/commands/item/update.d.ts +1 -0
- package/dist/commands/item/update.d.ts.map +1 -1
- package/dist/commands/item/update.js +103 -113
- package/dist/commands/item/update.js.map +1 -1
- package/dist/commands/item/upsert.d.ts.map +1 -1
- package/dist/commands/item/upsert.js +48 -1
- package/dist/commands/item/upsert.js.map +1 -1
- package/dist/commands/notification/send.d.ts +60 -0
- package/dist/commands/notification/send.d.ts.map +1 -0
- package/dist/commands/notification/send.js +147 -0
- package/dist/commands/notification/send.js.map +1 -0
- package/dist/commands/parse-argv.d.ts.map +1 -1
- package/dist/commands/parse-argv.js +14 -4
- package/dist/commands/parse-argv.js.map +1 -1
- package/dist/commands/raw/index.d.ts.map +1 -1
- package/dist/commands/raw/index.js +13 -15
- package/dist/commands/raw/index.js.map +1 -1
- package/dist/commands/run-by-id-lookup.d.ts.map +1 -1
- package/dist/commands/run-by-id-lookup.js +2 -2
- package/dist/commands/run-by-id-lookup.js.map +1 -1
- package/dist/commands/schema/index.d.ts +2 -0
- package/dist/commands/schema/index.d.ts.map +1 -1
- package/dist/commands/status.d.ts +120 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +365 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/update/body-source.d.ts.map +1 -1
- package/dist/commands/update/body-source.js +2 -2
- package/dist/commands/update/body-source.js.map +1 -1
- package/dist/commands/update/create.d.ts +2 -3
- package/dist/commands/update/create.d.ts.map +1 -1
- package/dist/commands/update/create.js +15 -3
- package/dist/commands/update/create.js.map +1 -1
- package/dist/commands/update/delete.d.ts.map +1 -1
- package/dist/commands/update/delete.js +11 -0
- package/dist/commands/update/delete.js.map +1 -1
- package/dist/commands/update/edit.d.ts.map +1 -1
- package/dist/commands/update/edit.js +11 -0
- package/dist/commands/update/edit.js.map +1 -1
- package/dist/commands/update/list.d.ts.map +1 -1
- package/dist/commands/update/list.js +15 -12
- package/dist/commands/update/list.js.map +1 -1
- package/dist/commands/update/reply.d.ts.map +1 -1
- package/dist/commands/update/reply.js +11 -0
- package/dist/commands/update/reply.js.map +1 -1
- package/dist/commands/update/toggle.d.ts.map +1 -1
- package/dist/commands/update/toggle.js +13 -0
- package/dist/commands/update/toggle.js.map +1 -1
- package/dist/commands/usage.d.ts +58 -0
- package/dist/commands/usage.d.ts.map +1 -0
- package/dist/commands/usage.js +94 -0
- package/dist/commands/usage.js.map +1 -0
- package/dist/commands/webhook/create.d.ts +74 -0
- package/dist/commands/webhook/create.d.ts.map +1 -0
- package/dist/commands/webhook/create.js +150 -0
- package/dist/commands/webhook/create.js.map +1 -0
- package/dist/commands/webhook/delete.d.ts +46 -0
- package/dist/commands/webhook/delete.d.ts.map +1 -0
- package/dist/commands/webhook/delete.js +141 -0
- package/dist/commands/webhook/delete.js.map +1 -0
- package/dist/commands/webhook/list.d.ts +23 -0
- package/dist/commands/webhook/list.d.ts.map +1 -0
- package/dist/commands/webhook/list.js +68 -0
- package/dist/commands/webhook/list.js.map +1 -0
- package/dist/commands/workspace/create.d.ts.map +1 -1
- package/dist/commands/workspace/create.js +16 -0
- package/dist/commands/workspace/create.js.map +1 -1
- package/dist/commands/workspace/delete.d.ts.map +1 -1
- package/dist/commands/workspace/delete.js +13 -13
- package/dist/commands/workspace/delete.js.map +1 -1
- package/dist/commands/workspace/list.d.ts +1 -1
- package/dist/commands/workspace/update.d.ts.map +1 -1
- package/dist/commands/workspace/update.js +15 -15
- package/dist/commands/workspace/update.js.map +1 -1
- package/dist/config/credentials.d.ts +189 -0
- package/dist/config/credentials.d.ts.map +1 -0
- package/dist/config/credentials.js +300 -0
- package/dist/config/credentials.js.map +1 -0
- package/dist/config/profiles.d.ts +125 -0
- package/dist/config/profiles.d.ts.map +1 -0
- package/dist/config/profiles.js +227 -0
- package/dist/config/profiles.js.map +1 -0
- package/dist/types/global-flags.d.ts +1 -1
- package/dist/types/global-flags.d.ts.map +1 -1
- package/dist/types/global-flags.js +28 -16
- package/dist/types/global-flags.js.map +1 -1
- package/dist/types/ids.d.ts +2 -0
- package/dist/types/ids.d.ts.map +1 -1
- package/dist/types/ids.js +5 -3
- package/dist/types/ids.js.map +1 -1
- package/dist/utils/errors.d.ts +57 -3
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +69 -2
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/fs.d.ts +35 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/fs.js +36 -0
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/json.d.ts +60 -0
- package/dist/utils/json.d.ts.map +1 -0
- package/dist/utils/json.js +86 -0
- package/dist/utils/json.js.map +1 -0
- package/dist/utils/output/ndjson.d.ts +65 -3
- package/dist/utils/output/ndjson.d.ts.map +1 -1
- package/dist/utils/output/ndjson.js +21 -0
- package/dist/utils/output/ndjson.js.map +1 -1
- package/dist/utils/redact.d.ts.map +1 -1
- package/dist/utils/redact.js +31 -0
- package/dist/utils/redact.js.map +1 -1
- package/package.json +2 -1
- package/dist/commands/account/client-helper.d.ts +0 -37
- package/dist/commands/account/client-helper.d.ts.map +0 -1
- package/dist/commands/account/client-helper.js +0 -55
- package/dist/commands/account/client-helper.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,10 +3,323 @@
|
|
|
3
3
|
All notable changes to `monday-cli` are recorded here. Format follows
|
|
4
4
|
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/); versioning
|
|
5
5
|
follows [SemVer](https://semver.org/spec/v2.0.0.html). The CLI's
|
|
6
|
-
output envelope (`{ ok, data, meta, ... }`) and
|
|
6
|
+
output envelope (`{ ok, data, meta, ... }`) and 29 stable error
|
|
7
7
|
codes are part of the public contract — the SemVer rules in
|
|
8
8
|
[`docs/cli-design.md`](./docs/cli-design.md) §6 govern bumps.
|
|
9
9
|
|
|
10
|
+
## [0.3.0] - 2026-05-13 — Monday Dev + multi-profile + diagnostics + outbound writes
|
|
11
|
+
|
|
12
|
+
The "agent can drive a real backlog with a real workflow" milestone —
|
|
13
|
+
v0.2's mutating core gains the Monday Dev convention layer (sprints /
|
|
14
|
+
epics / releases / tasks), multi-profile auth, diagnostics
|
|
15
|
+
(`monday status` / `monday usage`), cross-board search + favorites,
|
|
16
|
+
per-item history, partial-success bulk updates, and outbound writes
|
|
17
|
+
(webhooks + notifications). **No breaking changes vs `0.2.0` — every
|
|
18
|
+
v0.3 surface is additive.** Built incrementally across M19–M28.
|
|
19
|
+
|
|
20
|
+
### Breaking changes vs `0.2.0`
|
|
21
|
+
|
|
22
|
+
**None.** Every command, error code, envelope key, and warning shape
|
|
23
|
+
shipped in v0.2.0 is preserved byte-for-byte. v0.3 only adds.
|
|
24
|
+
|
|
25
|
+
### Surface
|
|
26
|
+
|
|
27
|
+
**~95 commands shipped (was ~75 in v0.2).** Four new noun-namespaces
|
|
28
|
+
(`tag` reads under `account`, `auth`, `dev`, `webhook`,
|
|
29
|
+
`notification`) plus two new top-level diagnostics verbs
|
|
30
|
+
(`monday status` / `monday usage`).
|
|
31
|
+
|
|
32
|
+
**Friendly-translator close-out (M19) — three new writable column
|
|
33
|
+
types.** `tags`, `board_relation`, `dependency` graduate from the v0.2
|
|
34
|
+
tentative row to first-class `--set` writers. The friendly tokens
|
|
35
|
+
resolve through per-account / per-board directories with cache
|
|
36
|
+
fallbacks. `WRITABLE_COLUMN_TYPES` reaches 13. M19 also ships
|
|
37
|
+
`monday account tags` (the read verb that closes the
|
|
38
|
+
`tag_not_found.details.hint` forward-reference from v0.2) and adds
|
|
39
|
+
`tag_not_found` to the stable error-code registry.
|
|
40
|
+
|
|
41
|
+
**Time-tracking placeholders (M20) — documentation-only.** `monday item
|
|
42
|
+
time-track start <iid>` / `monday item time-track stop <iid>` are
|
|
43
|
+
registered so agent scripts targeting these verbs are stable across
|
|
44
|
+
the eventual swap when Monday ships API support. They reject every
|
|
45
|
+
invocation today with `usage_error` carrying the empirical-probe
|
|
46
|
+
context as the hint — an empirical probe (2026-05-10, API `2026-01`)
|
|
47
|
+
confirmed Monday's public API does not currently support writing to
|
|
48
|
+
`time_tracking` columns.
|
|
49
|
+
|
|
50
|
+
**Multi-profile auth (M21).** `monday auth login --profile <name>` /
|
|
51
|
+
`monday auth logout --profile <name>` implement the OAuth flow + the
|
|
52
|
+
`~/.monday-cli/credentials` mode-`0600` cache; `~/.monday-cli/config.toml`
|
|
53
|
+
ships per-profile metadata with the new `--profile <name>` global
|
|
54
|
+
flag resolving through `cli/program.ts`'s preAction hook. `oauth_failed`
|
|
55
|
+
joins the stable error-code registry. **OAuth login is deferred in
|
|
56
|
+
v0.3.0** (see "Internals worth highlighting" → OAuth deferral); the
|
|
57
|
+
`monday auth login` command surfaces a clear `usage_error` pointing
|
|
58
|
+
agents at `MONDAY_API_TOKEN` until the canonical OAuth app is
|
|
59
|
+
registered. The redaction runtime folds credentials-cache tokens into
|
|
60
|
+
the secret-bag so the two-layer scrub covers them on every emission
|
|
61
|
+
path.
|
|
62
|
+
|
|
63
|
+
**Diagnostics cluster (M22).** `monday status` runs a seven-probe
|
|
64
|
+
matrix (DNS / TCP / TLS / auth / cache writability / redaction
|
|
65
|
+
self-test / env-var pickup) for "is everything working?" without
|
|
66
|
+
touching account state; `--no-probe` skips the four network probes.
|
|
67
|
+
`monday usage` reports the daily Monday API operation budget remaining
|
|
68
|
+
from `platform_api.daily_limit` + `platform_api.daily_analytics`
|
|
69
|
+
(operations-per-day on free tier; an empirical probe pivoted this
|
|
70
|
+
away from `account.complexity`, which does not exist on the `Account`
|
|
71
|
+
type at API `2026-01`).
|
|
72
|
+
|
|
73
|
+
**Cross-board search + favorites (M23).** `monday item search` gains
|
|
74
|
+
cross-board mode when `--board` is omitted: `--workspace <wid>` /
|
|
75
|
+
`--favorites` / `--max-boards <n>` (default 25; hard cap 100) scope
|
|
76
|
+
the fan-out. `monday board favorites` reads the current user's
|
|
77
|
+
starred boards. Both fan-outs use single-call cross-board semantics
|
|
78
|
+
(no resumable cross-board cursor in v0.3 — per-board cursor lifetime
|
|
79
|
+
under cross-board aggregation is genuinely thorny; agents narrow with
|
|
80
|
+
`--workspace` / `--favorites` or use the v0.1 `--board <bid>` path
|
|
81
|
+
which carries its own resumable cursor). Four new load-bearing
|
|
82
|
+
warnings: `inaccessible_boards`, `column_not_found_on_board`,
|
|
83
|
+
`cross_board_truncated`, `board_favorites_stale`.
|
|
84
|
+
|
|
85
|
+
**Per-item activity history (M24).** `monday item history <iid>`
|
|
86
|
+
merges Monday's `boards.activity_logs(item_ids:)` with `items.updates`
|
|
87
|
+
chronologically by `created_at` ascending (lexicographic `id` tie-
|
|
88
|
+
break). Event taxonomy is a zod discriminated union over Monday's
|
|
89
|
+
observed `event` slot (`update_column_value`, board-scoped variants,
|
|
90
|
+
synthesized `update_posted` / `update_replied`); unrecognised events
|
|
91
|
+
surface under `kind: 'unknown'` carrying raw `event` + `entity` slots,
|
|
92
|
+
with one bounded `unknown_event_kind` warning per unique unrecognised
|
|
93
|
+
event. Per-source pagination (`--activity-logs-page` /
|
|
94
|
+
`--updates-page`; independent denominators) + `--since` / `--until`
|
|
95
|
+
ISO8601 wall-clock filters + `--stream` NDJSON output reusing R52's
|
|
96
|
+
`startNdjsonStream`. Eventual-consistency lag is empirically >30s on
|
|
97
|
+
freshly-edited boards — the verb's `--help` text documents the
|
|
98
|
+
caveat.
|
|
99
|
+
|
|
100
|
+
**Partial-success bulk updates (M25).** `monday item update --where
|
|
101
|
+
... --continue-on-error` attempts every matched item regardless of
|
|
102
|
+
per-item failure and emits a partial-success envelope (cli-design
|
|
103
|
+
§6.4): `ok: true` whenever dispatch ran, per-target outcomes in
|
|
104
|
+
`data.results: [{ item_id, ok, error? }]`, with
|
|
105
|
+
`data.summary.failed_count` joining the existing
|
|
106
|
+
`matched_count`/`applied_count` invariant
|
|
107
|
+
(`matched_count === applied_count + failed_count`). The flag is
|
|
108
|
+
orthogonal to the `--yes` confirmation gate. ERROR_CODES registry
|
|
109
|
+
stays at 29 — per-item failures route through existing codes
|
|
110
|
+
(`column_archived`, `validation_failed`, `complexity_exceeded`, etc.).
|
|
111
|
+
The pre-existing fail-fast bulk path is unchanged.
|
|
112
|
+
|
|
113
|
+
**Monday Dev convention layer (M26).** Thirteen verbs land under the
|
|
114
|
+
`monday dev` namespace — the workflow-namespace three-level carve-out
|
|
115
|
+
(cli-design §5.2 carve-out 1; §5.9 mechanics). Three setup verbs at
|
|
116
|
+
two-level depth: `dev discover [--apply]` (auto-detect Tasks /
|
|
117
|
+
Sprints / Epics / Releases / Bugs boards by name), `dev configure
|
|
118
|
+
--tasks-board <bid> [...]` (pin board IDs per profile), `dev doctor`
|
|
119
|
+
(11-reason structured health-check enum surfaced via
|
|
120
|
+
`monday schema dev.doctor`). Ten workflow verbs at three-level depth:
|
|
121
|
+
`dev sprint current/list/items`, `dev epic list/items`, `dev release
|
|
122
|
+
list`, `dev task list/start/done/block`. Every workflow verb
|
|
123
|
+
translates to standard board / item CRUD against the per-profile
|
|
124
|
+
configured board IDs — no new Monday GraphQL mutations introduced. Two
|
|
125
|
+
new stable error codes activate (`dev_not_configured`,
|
|
126
|
+
`dev_board_misconfigured`; reserved on the v0.1 registry, now live).
|
|
127
|
+
|
|
128
|
+
**Outbound writes (M27).** Webhook lifecycle: `monday webhook list
|
|
129
|
+
[--board <bid>]` / `webhook create --board <bid> --url <url> --event
|
|
130
|
+
<type> [--config <json>]` (event-type validated against the 21-value
|
|
131
|
+
`WEBHOOK_EVENT_TYPES` closed enum, probed against API `2026-01`) /
|
|
132
|
+
`webhook delete <wid>` (destructive — `--yes` required;
|
|
133
|
+
`enforceDestructiveGate` fires BEFORE the resolver per the M10
|
|
134
|
+
invariant). Notifications: `monday notification send --user <uid>
|
|
135
|
+
--target <id> --target-type item|board --text <body>` (single-
|
|
136
|
+
recipient at v0.3). Webhooks are live-only — outside cli-design §8's
|
|
137
|
+
cache scope. The CLI never receives — webhooks land on the user's own
|
|
138
|
+
HTTPS endpoint (cli-design §1 permanent non-goal: hosting webhooks).
|
|
139
|
+
ERROR_CODES registry unchanged.
|
|
140
|
+
|
|
141
|
+
**Subitem multi-level creation — deferred out of v0.3 (M28).** Closed
|
|
142
|
+
at M28 pre-flight on empirical grounds: an empirical probe
|
|
143
|
+
(2026-05-13, API `2026-01`) confirmed Monday's `sub_items_board` does
|
|
144
|
+
NOT carry a `subtasks` column at the pinned API version, so a depth-2
|
|
145
|
+
subitem has structurally no place to live in the data model. Single-
|
|
146
|
+
level subitems remain first-class via the existing M9 carve-in (`item
|
|
147
|
+
create --parent <iid>`, `item subitems <iid>`, and every standard
|
|
148
|
+
item verb operating uniformly on subitems). v0.3.x / v0.4 picks the
|
|
149
|
+
feature up if Monday surfaces the capability.
|
|
150
|
+
|
|
151
|
+
### Output contract additions
|
|
152
|
+
|
|
153
|
+
**Two new stable error codes — registry grows from 27 to 29.**
|
|
154
|
+
|
|
155
|
+
1. **`tag_not_found`** (M19) — `monday item set <iid> tags=<token>`
|
|
156
|
+
when the token doesn't resolve through the per-account tag
|
|
157
|
+
directory. `details.hint` points the agent at `monday account
|
|
158
|
+
tags` for discovery.
|
|
159
|
+
2. **`oauth_failed`** (M21) — umbrella for OAuth-flow failures
|
|
160
|
+
(`monday auth login`). `details.reason` discriminates per failure
|
|
161
|
+
mode (`port_in_use`, `code_exchange_failed`, `state_mismatch`,
|
|
162
|
+
`redirect_invalid`, `oauth_unregistered` for the v0.3.0
|
|
163
|
+
placeholder-guard path, etc.) so agents key off the structured
|
|
164
|
+
reason rather than the umbrella code alone.
|
|
165
|
+
|
|
166
|
+
The two `dev_*` codes reserved on the v0.1 registry
|
|
167
|
+
(`dev_not_configured`, `dev_board_misconfigured`) activate at M26 —
|
|
168
|
+
they were registry-stable but inactive in v0.1/v0.2.
|
|
169
|
+
|
|
170
|
+
**Per-item history envelope shape** (M24). New under
|
|
171
|
+
`docs/cli-design.md` §6 for the merged activity stream: event objects
|
|
172
|
+
carry `created_at` (ISO), `actor_id`, `kind` (discriminator —
|
|
173
|
+
`update_column_value` / `update_posted` / `update_replied` /
|
|
174
|
+
board-scoped variants / `unknown`), `before`, `after` (typed where
|
|
175
|
+
M24 ships the projector, raw JSON elsewhere — agents read `kind` and
|
|
176
|
+
case on it).
|
|
177
|
+
|
|
178
|
+
**Partial-success bulk envelope** (M25 — §6.4 sub-section).
|
|
179
|
+
`data.summary.failed_count` joins the bulk-summary fields; per-item
|
|
180
|
+
`data.results: [{ item_id, ok, error? }]`. The fail-fast bulk path
|
|
181
|
+
(`details.applied_to` decoration on the error envelope) is unchanged
|
|
182
|
+
— agents who haven't migrated to read `data.results[]` continue to
|
|
183
|
+
receive the v0.1 envelope shape.
|
|
184
|
+
|
|
185
|
+
**Cross-board search envelope** (M23 — additive on `item search`).
|
|
186
|
+
The data shape is unchanged; the cross-board path adds per-board
|
|
187
|
+
`state` breakdown inside `cross_board_truncated.details`
|
|
188
|
+
(`exhausted` / `has_more` / `not_started`).
|
|
189
|
+
|
|
190
|
+
**Four new warnings** (cross-board search + favorites):
|
|
191
|
+
`inaccessible_boards`, `column_not_found_on_board`,
|
|
192
|
+
`cross_board_truncated`, `board_favorites_stale`. Plus
|
|
193
|
+
`unknown_event_kind` (item history). All warnings carry structured
|
|
194
|
+
`details` agents can route on.
|
|
195
|
+
|
|
196
|
+
### Upgrade notes
|
|
197
|
+
|
|
198
|
+
- **`unsupported_column_type` `deferred_to: "v0.3"` resolves** for
|
|
199
|
+
the v0.2 tentative row (`tags`, `board_relation`, `dependency`
|
|
200
|
+
shipped at M19). The `--set-raw` escape hatch on these types
|
|
201
|
+
continues to work byte-identically; agents using the friendly form
|
|
202
|
+
pick it up automatically.
|
|
203
|
+
- **Multi-level subitem creation slips to `deferred_to: "v0.4"`.**
|
|
204
|
+
M28 Decision 11 closure: Monday's `sub_items_board` carries no
|
|
205
|
+
`subtasks` column at API `2026-01`, so depth-2 subitems have no
|
|
206
|
+
data-model home. Agents that previously caught the v0.2.0
|
|
207
|
+
envelope's `deferred_to: "v0.3"` should update the comparison;
|
|
208
|
+
the `error.code: "usage_error"` + `details.hierarchy_type:
|
|
209
|
+
"multi_level"` keys are unchanged. Single-level subitems (`item
|
|
210
|
+
create --parent <iid>` against classic boards) continue to work
|
|
211
|
+
byte-identically.
|
|
212
|
+
- **Cross-board `item move` value-overrides slip to v0.4.**
|
|
213
|
+
`--columns-mapping`'s string-to-string form is unchanged. The
|
|
214
|
+
richer `{id, value?}` form was originally v0.3-targeted at M11
|
|
215
|
+
close; no v0.3 milestone picked up the extension because
|
|
216
|
+
Monday's `ColumnMappingInput` carries no value slot. Agents
|
|
217
|
+
needing overrides continue to fire `monday item set <iid>
|
|
218
|
+
<target>=<value>` post-move.
|
|
219
|
+
- **Stable error-code registry expanded from 27 to 29.** Existing
|
|
220
|
+
codes' shapes are unchanged.
|
|
221
|
+
- **`--profile <name>` is a new global flag.** Resolved through
|
|
222
|
+
`cli/program.ts`'s preAction hook; profile precedence is documented
|
|
223
|
+
at `docs/cli-design.md` §7.4. Single-profile installs (the v0.2
|
|
224
|
+
shape) need no change — the implicit default profile preserves the
|
|
225
|
+
v0.2 behaviour.
|
|
226
|
+
- **`monday auth login` placeholder-guard.** The verb is registered
|
|
227
|
+
but returns `usage_error.details.reason: oauth_unregistered`
|
|
228
|
+
pointing at `MONDAY_API_TOKEN` until the canonical Monday OAuth app
|
|
229
|
+
is registered. `monday auth logout` works against any locally
|
|
230
|
+
cached credentials. The deferral is documented at cli-design §7.3.
|
|
231
|
+
|
|
232
|
+
### Internals worth highlighting
|
|
233
|
+
|
|
234
|
+
- **OAuth deferral.** `OAUTH_CLIENT_ID` / `OAUTH_CLIENT_SECRET` ship
|
|
235
|
+
as `<UNREGISTERED_PENDING_OAUTH_APP>` placeholders in `src/api/oauth.ts`
|
|
236
|
+
at v0.3.0. The full M21 OAuth source + test infrastructure stays as
|
|
237
|
+
dormant infrastructure (the `__test_oauth_helper` seam keeps the
|
|
238
|
+
M21 round-trip tests green). Whether a canonical `monday-cli`
|
|
239
|
+
OAuth app gets registered at v0.3.x / v0.4 is a separate product
|
|
240
|
+
decision — the CLI works fully with API tokens today, which is the
|
|
241
|
+
shape every agent harness already consumes. If registration lands,
|
|
242
|
+
the swap is one-sided in `src/api/oauth.ts` and the placeholder
|
|
243
|
+
guard drops in one edit.
|
|
244
|
+
|
|
245
|
+
- **R-class refactors shipped during v0.3.** R-NEW-1 (`isENOENT`
|
|
246
|
+
lift), R-NEW-4 (`statusOutputSchema` / `probeResultSchema`
|
|
247
|
+
import-from-api lift), R-NEW-5 (`introspectType()` probe helper),
|
|
248
|
+
R-NEW-6 (`.claude/templates/codex-pre-flight-review.md` template
|
|
249
|
+
lift after M21 + M22 + M23 converged on the same prompt shape),
|
|
250
|
+
R-NEW-7 (`formatMode` lift), R-NEW-14 / R-NEW-15 / R-NEW-16
|
|
251
|
+
(`errorMessage` / `asError` / `errorCode` consolidation across 17
|
|
252
|
+
inline duplicates), R-NEW-17 (W1 redactor-pattern audit folded
|
|
253
|
+
template-stable), R-NEW-19 (manual `safeParse → ApiError` sites
|
|
254
|
+
migrated to `unwrapOrThrow`), R-NEW-21 (`trialQuery()` /
|
|
255
|
+
`ProbeRawErrors` probe lift), R-NEW-25 (W1's "findings up front"
|
|
256
|
+
Codex-prompt directive), R-NEW-27 (`isPlainObject`
|
|
257
|
+
consolidation), R-NEW-29 (`executeItemMutation` lift —
|
|
258
|
+
three-consumer trigger across single-item + fail-fast bulk + M25
|
|
259
|
+
partial-success bulk), R-NEW-30 (`resolveActiveDevProfile` —
|
|
260
|
+
13-consumer trigger across M26a + M26b), R-NEW-35
|
|
261
|
+
(`requireDevBoard` slot-check helper), R-NEW-36 (seven dev-conventions
|
|
262
|
+
workflow helpers), R-NEW-37 (Codex template W2 audit-point for
|
|
263
|
+
GraphQL operationName parity — caught the M27 IMPL caller-
|
|
264
|
+
overridable operationName slot), R-NEW-38 (sprint date-range
|
|
265
|
+
helpers consolidation), R-NEW-42 (`parseJsonArg` argv-JSON-parse-
|
|
266
|
+
boundary helper). Full register with shipped commit SHAs lives in
|
|
267
|
+
[`docs/v0.3-plan.md`](./docs/v0.3-plan.md) §22.
|
|
268
|
+
|
|
269
|
+
- **Empirical probes** ratified as always-run-for-novel-API-surface
|
|
270
|
+
pre-flight discipline. v0.3 fired the pattern across M21 OAuth /
|
|
271
|
+
M22 `platform_api.daily_*` reshape / M23 cross-board + favorites /
|
|
272
|
+
M24 history kinds / M26 dev-board discovery / M27 webhook
|
|
273
|
+
event-type enum / M28 multi-level subitems. Multiple milestones
|
|
274
|
+
pivoted contract surfaces at pre-flight on probe findings rather
|
|
275
|
+
than discovering API drift at IMPL.
|
|
276
|
+
|
|
277
|
+
- **Two-AI review** (cli-design pre-flight + implementation review)
|
|
278
|
+
ran for every milestone M19–M27. Catches contract drift before
|
|
279
|
+
it reaches `main`; the cumulative finding count + per-milestone
|
|
280
|
+
Codex-round breakdown is in the per-milestone post-mortems in
|
|
281
|
+
[`docs/v0.3-plan.md`](./docs/v0.3-plan.md) §11–§20.
|
|
282
|
+
|
|
283
|
+
### Tests + quality gates
|
|
284
|
+
|
|
285
|
+
- **3249 unit/integration + E2E tests** at v0.3.0 (+1 skipped; was
|
|
286
|
+
2280+38 ≈ 2318 in v0.2.0). All green on Node 22 + 24.
|
|
287
|
+
- **Coverage at 99.26 / 96.40 / 99.37 / 99.51** (statements /
|
|
288
|
+
branches / functions / lines) against the floor 95 / 95.45 / 95
|
|
289
|
+
/ 95. The branches floor was raised at M22 (94% → 95.45%) and
|
|
290
|
+
held through M28; the M28 close-out shipped six branch-coverage
|
|
291
|
+
residual tests closing the three deferred file-level gaps
|
|
292
|
+
(`item/search.ts` 88.23% → 100% stmts; `errors.ts` 95.37% → 100%
|
|
293
|
+
lines; `dry-run.ts` 96.26% → 100% branches). Branches margin is
|
|
294
|
+
0.95pp at v0.3.0.
|
|
295
|
+
- **Envelope-snapshot suite refreshed** for v0.3 surfaces — every
|
|
296
|
+
new v0.3 command + the partial-success / history / cross-board /
|
|
297
|
+
dev / webhook / notification envelopes are pinned for byte-shape
|
|
298
|
+
regressions.
|
|
299
|
+
- **Five test layers** held: unit, integration (in-process
|
|
300
|
+
`FixtureTransport`), E2E (subprocess against fixture server),
|
|
301
|
+
envelope-shape snapshot suite, published-tarball E2E.
|
|
302
|
+
|
|
303
|
+
### Documentation
|
|
304
|
+
|
|
305
|
+
- **[`docs/v0.3-plan.md`](./docs/v0.3-plan.md)** new — the v0.3
|
|
306
|
+
active plan with M19–M28 milestones, decisions log, R-class
|
|
307
|
+
register (R-NEW-1 through R-NEW-43), per-milestone post-mortems
|
|
308
|
+
(§11–§21).
|
|
309
|
+
- **[`docs/cli-design.md`](./docs/cli-design.md)** §4.3 grew ~25 new
|
|
310
|
+
verb entries; §6.4 added the M25 bulk partial-success sub-section;
|
|
311
|
+
§6.5 added two new error codes; §7.3 added the OAuth deferral
|
|
312
|
+
block; §7.4 added the multi-profile resolution surface; §11.5
|
|
313
|
+
added the seven-probe `monday status` matrix; §13 v0.3 entry
|
|
314
|
+
closed out.
|
|
315
|
+
- **[`docs/output-shapes.md`](./docs/output-shapes.md)** — every
|
|
316
|
+
shipped v0.3 command has a per-section data shape entry, snapshot-
|
|
317
|
+
backed.
|
|
318
|
+
- **README.md** quickstart expanded with v0.3 examples (`monday
|
|
319
|
+
status`, `monday dev sprint current`, `monday webhook list`).
|
|
320
|
+
|
|
321
|
+
[0.3.0]: https://github.com/Firer/monday-cli/releases/tag/v0.3.0
|
|
322
|
+
|
|
10
323
|
## [0.2.0] - 2026-05-08 — Mutating core: agents can drive a backlog
|
|
11
324
|
|
|
12
325
|
The "agents can drive a backlog" milestone — v0.1's read-only core
|
|
@@ -215,7 +528,7 @@ once and skip subsequent metadata lookups.
|
|
|
215
528
|
|
|
216
529
|
[0.2.0]: https://github.com/Firer/monday-cli/releases/tag/v0.2.0
|
|
217
530
|
|
|
218
|
-
## [0.1.0] —
|
|
531
|
+
## [0.1.0] — Foundation milestone (git tag — npm publish slipped to 0.2.0)
|
|
219
532
|
|
|
220
533
|
The "read-only core + safe mutations" milestone — an agent can read
|
|
221
534
|
everything the CLI surfaces, make small scoped idempotent changes,
|
|
@@ -223,6 +536,15 @@ and post comments narrating its work. Built incrementally across
|
|
|
223
536
|
M0–M7 (M5 split into M5a + M5b; M2.5 inserted post-M2 as a
|
|
224
537
|
structural-debt cleanup pass).
|
|
225
538
|
|
|
539
|
+
> **Publication note**: 0.1.0 shipped to `main` as a tagged git
|
|
540
|
+
> release but was not published to npm. The first public npm
|
|
541
|
+
> release of `monday-cli` is **0.2.0** (which contains the full
|
|
542
|
+
> v0.1 surface as its foundation — nothing in 0.1.0 was lost or
|
|
543
|
+
> rolled back). The `monday-cli` npm namespace had a brief
|
|
544
|
+
> pre-history (`monday-cli@0.0.1`, published and unpublished
|
|
545
|
+
> within hours on 2026-01-12) before being claimed for this
|
|
546
|
+
> project at the v0.2.0 release.
|
|
547
|
+
|
|
226
548
|
### Surface
|
|
227
549
|
|
|
228
550
|
**Five reader nouns + 35 commands shipped.**
|
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@ AI coding agents need to operate on real tickets. Monday.com has a
|
|
|
18
18
|
GraphQL API, but each agent learning that schema from scratch is
|
|
19
19
|
wasteful — and the API is sharp-edged (40+ column types, idiosyncratic
|
|
20
20
|
mutation shapes, complex pagination). `monday-cli` is the abstraction:
|
|
21
|
-
**one stable contract** (universal envelope,
|
|
21
|
+
**one stable contract** (universal envelope, 29 stable error codes,
|
|
22
22
|
JSON Schema introspection) that every agent can target.
|
|
23
23
|
|
|
24
24
|
- **Agent-first ergonomics.** `--json` everywhere, stable
|
|
@@ -47,29 +47,46 @@ Requires **Node.js ≥ 22**.
|
|
|
47
47
|
```bash
|
|
48
48
|
# 1. Set your Monday API token (admin or member; guests can't mint one).
|
|
49
49
|
# Get one at https://<your-org>.monday.com/admin/integrations/api
|
|
50
|
+
#
|
|
51
|
+
# OAuth login (`monday auth login`) is registered but deferred in
|
|
52
|
+
# v0.3.0 — the verb surfaces a clear `usage_error.details.reason:
|
|
53
|
+
# oauth_unregistered` pointing here. Authenticate via the env var.
|
|
50
54
|
export MONDAY_API_TOKEN="<your-token>"
|
|
51
55
|
|
|
52
|
-
# 2. Smoke test
|
|
56
|
+
# 2. Smoke test — confirm the token works.
|
|
53
57
|
monday account whoami --json
|
|
54
58
|
|
|
55
|
-
# 3.
|
|
59
|
+
# 3. Is everything wired up? (v0.3 diagnostics cluster)
|
|
60
|
+
monday status --json # 7-probe DNS/TCP/TLS/auth/cache matrix
|
|
61
|
+
monday usage --json # remaining daily Monday API operations
|
|
62
|
+
|
|
63
|
+
# 4. List a board's items (replace 12345 with your board ID)
|
|
56
64
|
monday item list --board 12345 --json
|
|
57
65
|
|
|
58
|
-
#
|
|
66
|
+
# 5. File a new task (v0.2)
|
|
59
67
|
monday item create --board 12345 --name "Refactor login" \
|
|
60
68
|
--set status=Backlog --set 'Due date'=+1w --json
|
|
61
69
|
|
|
62
|
-
#
|
|
70
|
+
# 6. Find-or-create with idempotent matching (v0.2)
|
|
63
71
|
# Re-running with the same args is safe — 0/1/2+ matches route to
|
|
64
|
-
# create / update / `ambiguous_match` (the
|
|
72
|
+
# create / update / `ambiguous_match` (one of the 29 stable error codes).
|
|
65
73
|
monday item upsert --board 12345 --name "Refactor login" \
|
|
66
74
|
--match-by name --set status='Working on it' --json
|
|
67
75
|
|
|
68
|
-
#
|
|
76
|
+
# 7. Move a ticket forward, then comment on it
|
|
69
77
|
monday item set 67890 status=Done --json
|
|
70
|
-
|
|
71
|
-
# 7. Comment on it
|
|
72
78
|
monday update create 67890 --body "Shipped in PR #1234" --json
|
|
79
|
+
|
|
80
|
+
# 8. Monday Dev convention layer (v0.3 — sprint/epic/release/task)
|
|
81
|
+
# First-time setup auto-detects boards by Monday's stock template names.
|
|
82
|
+
monday dev discover --apply --json # writes ~/.monday-cli/config.toml
|
|
83
|
+
monday dev sprint current --json # the active sprint
|
|
84
|
+
monday dev task list --mine --json # my open tasks
|
|
85
|
+
|
|
86
|
+
# 9. Outbound writes (v0.3 — webhooks + notifications)
|
|
87
|
+
monday webhook list 12345 --json
|
|
88
|
+
monday notification send --user 7 --target 67890 \
|
|
89
|
+
--target-type item --text "PTAL" --json
|
|
73
90
|
```
|
|
74
91
|
|
|
75
92
|
## Usage
|
|
@@ -135,7 +152,7 @@ Every JSON response uses the same universal envelope:
|
|
|
135
152
|
"meta": {
|
|
136
153
|
"schema_version": "1",
|
|
137
154
|
"api_version": "2026-01",
|
|
138
|
-
"cli_version": "0.
|
|
155
|
+
"cli_version": "0.3.0",
|
|
139
156
|
"request_id": "0e6f1a7b-...",
|
|
140
157
|
"source": "live",
|
|
141
158
|
"cache_age_seconds": null,
|
|
@@ -186,10 +203,12 @@ If you're an AI coding agent driving this CLI:
|
|
|
186
203
|
inside an agent harness. `--json` is an alias for
|
|
187
204
|
`--output json` and forces JSON on every command. JSON is
|
|
188
205
|
never truncated; tables are.
|
|
189
|
-
2. **Branch on `error.code`, not `error.message`.** The
|
|
206
|
+
2. **Branch on `error.code`, not `error.message`.** The 29 stable
|
|
190
207
|
codes (`not_found`, `confirmation_required`, `column_archived`,
|
|
191
208
|
`unsupported_column_type`, `rate_limited`, `stale_cursor`,
|
|
192
|
-
`ambiguous_match`, …) are
|
|
209
|
+
`ambiguous_match`, `tag_not_found`, `oauth_failed`, …) are
|
|
210
|
+
part of the contract.
|
|
211
|
+
Messages are not.
|
|
193
212
|
3. **Read `meta.source`** to know whether the data is
|
|
194
213
|
`"live"` / `"cache"` / `"mixed"` / `"none"`. `"mixed"` means
|
|
195
214
|
board metadata came from cache while the rest hit live —
|
|
@@ -233,19 +252,47 @@ See [`.env.example`](./.env.example) for all supported variables
|
|
|
233
252
|
|
|
234
253
|
## Scope
|
|
235
254
|
|
|
236
|
-
**v0.
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
255
|
+
**v0.3.0 (current — `monday-cli@0.3.0` on npm):**
|
|
256
|
+
the v0.2 mutating core PLUS the Monday Dev convention layer
|
|
257
|
+
(`monday dev` namespace — sprint / epic / release / task workflow
|
|
258
|
+
shortcuts on top of standard board CRUD), multi-profile auth
|
|
259
|
+
(`monday auth login/logout --profile <name>` + `~/.monday-cli/
|
|
260
|
+
config.toml`), diagnostics (`monday status` + `monday usage`),
|
|
261
|
+
cross-board `monday item search` + `monday board favorites`,
|
|
262
|
+
per-item history (`monday item history <iid>`), partial-success
|
|
263
|
+
bulk updates (`monday item update --where ... --continue-on-error`),
|
|
264
|
+
outbound writes (`monday webhook list/create/delete` +
|
|
265
|
+
`monday notification send`), and three new writable column types
|
|
266
|
+
(`tags`, `board_relation`, `dependency`) closing the v0.2
|
|
267
|
+
tentative-row carryover. **No breaking changes vs v0.2.0** — every
|
|
268
|
+
v0.3 surface is additive. Built incrementally across M19–M28.
|
|
269
|
+
See [CHANGELOG.md](./CHANGELOG.md) for the full per-milestone
|
|
270
|
+
release notes.
|
|
271
|
+
|
|
272
|
+
**OAuth deferral.** `monday auth login` is registered but the
|
|
273
|
+
canonical Monday OAuth app is not registered in v0.3.0; the verb
|
|
274
|
+
surfaces a clear `usage_error.details.reason: oauth_unregistered`
|
|
275
|
+
pointing at `MONDAY_API_TOKEN`. Multi-profile config + per-profile
|
|
276
|
+
credentials cache work fully against API tokens; OAuth registration
|
|
277
|
+
revisits in v0.3.x / v0.4 contingent on user demand.
|
|
278
|
+
|
|
279
|
+
**v0.2.0 (the previous release):**
|
|
280
|
+
the v0.1 read-only core + safe-mutations surface PLUS the full
|
|
281
|
+
mutation surface (item lifecycle, update mutations, workspace
|
|
282
|
+
lifecycle, board lifecycle, board columns + groups). Built
|
|
283
|
+
incrementally across M8–M18; one breaking change vs v0.1 (see
|
|
241
284
|
[CHANGELOG.md](./CHANGELOG.md) for the full upgrade guide).
|
|
242
285
|
|
|
243
|
-
**v0.1.0 (
|
|
286
|
+
**v0.1.0 (git tag, foundation milestone — not published to npm
|
|
287
|
+
under the `monday-cli` name):** read-only core (account, workspace,
|
|
244
288
|
board, user, update, item) + safe mutations (`item set` /
|
|
245
289
|
`item clear` / `item update` single + bulk, `update create`) +
|
|
246
290
|
diagnostics (`board doctor`) + GraphQL escape hatch (`raw`) +
|
|
247
291
|
filter DSL (`--where` + `--filter-json`) + cursor pagination with
|
|
248
|
-
stale-cursor fail-fast + NDJSON streaming + local cache.
|
|
292
|
+
stale-cursor fail-fast + NDJSON streaming + local cache. v0.1.0
|
|
293
|
+
shipped to `main` as the foundation milestone but the npm publish
|
|
294
|
+
slipped to v0.2.0; the v0.1 surface is fully present in the
|
|
295
|
+
published v0.2.0 tarball.
|
|
249
296
|
|
|
250
297
|
**What v0.2 added:**
|
|
251
298
|
|
|
@@ -308,7 +355,8 @@ stale-cursor fail-fast + NDJSON streaming + local cache.
|
|
|
308
355
|
**Writer allowlist** (other types return `unsupported_column_type`
|
|
309
356
|
with per-category guidance):
|
|
310
357
|
`status`, `text`, `long_text`, `numbers`, `dropdown`, `date`,
|
|
311
|
-
`people`, plus M8 firm row `link`, `email`, `phone
|
|
358
|
+
`people`, plus M8 firm row `link`, `email`, `phone`, plus v0.3-M19
|
|
359
|
+
row `tags`, `board_relation`, `dependency`.
|
|
312
360
|
|
|
313
361
|
- **M13** ships the full update mutation surface — `monday update
|
|
314
362
|
reply` / `edit` / `delete` / `like` / `unlike` / `pin` / `unpin`
|
|
@@ -365,14 +413,63 @@ with per-category guidance):
|
|
|
365
413
|
audit, README quickstart with `item create` + `item upsert`
|
|
366
414
|
examples, this CHANGELOG, and the version bump to `0.2.0`.
|
|
367
415
|
|
|
368
|
-
**
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
416
|
+
**What v0.3 added (M19–M28; full per-milestone narrative in
|
|
417
|
+
[CHANGELOG.md](./CHANGELOG.md)):**
|
|
418
|
+
|
|
419
|
+
- **M19** — `tags`, `board_relation`, `dependency` friendly
|
|
420
|
+
`--set` translators (closes the v0.2 tentative-row carryover);
|
|
421
|
+
`monday account tags` read verb closes the `tag_not_found.
|
|
422
|
+
details.hint` forward-reference.
|
|
423
|
+
- **M20** — `monday item time-track start/stop <iid>` registered
|
|
424
|
+
for forward-compatibility (documentation-only; throw
|
|
425
|
+
`usage_error` today — empirical probe 2026-05-10 confirmed
|
|
426
|
+
Monday's API doesn't currently expose time-tracking writes).
|
|
427
|
+
- **M21 + M28** — multi-profile auth via `~/.monday-cli/
|
|
428
|
+
config.toml` + `--profile <name>` global flag; per-profile
|
|
429
|
+
credentials cache at `~/.monday-cli/credentials` (mode 0600).
|
|
430
|
+
`monday auth login` is registered but the canonical OAuth app
|
|
431
|
+
is not registered in v0.3.0 — the verb surfaces `usage_error.
|
|
432
|
+
details.reason: oauth_unregistered` pointing at
|
|
433
|
+
`MONDAY_API_TOKEN`. Multi-profile config + per-profile token
|
|
434
|
+
caching work fully today.
|
|
435
|
+
- **M22** — `monday status` (7-probe DNS/TCP/TLS/auth/cache/
|
|
436
|
+
redaction/env-var matrix per cli-design §11.5) + `monday usage`
|
|
437
|
+
(daily Monday API operation budget remaining from
|
|
438
|
+
`platform_api.daily_*`).
|
|
439
|
+
- **M23** — Cross-board `monday item search` (omit `--board`;
|
|
440
|
+
scope via `--workspace` / `--favorites` / `--max-boards`) +
|
|
441
|
+
`monday board favorites` (the current user's starred boards).
|
|
442
|
+
- **M24** — `monday item history <iid>` (two-source chronological
|
|
443
|
+
merge: `activity_logs` + `updates`; per-event typed projection
|
|
444
|
+
for `update_column_value`, synthesized `update_posted` /
|
|
445
|
+
`update_replied` from the updates source).
|
|
446
|
+
- **M25** — `monday item update --where ... --continue-on-error`
|
|
447
|
+
attempts every matched item regardless of per-item failure;
|
|
448
|
+
emits a partial-success envelope with `data.summary.
|
|
449
|
+
failed_count` + per-item `data.results[]`. Orthogonal to
|
|
450
|
+
`--yes`.
|
|
451
|
+
- **M26** — `monday dev` namespace (sprint / epic / release /
|
|
452
|
+
task workflow shortcuts on top of standard board CRUD). Three
|
|
453
|
+
setup verbs (`dev discover [--apply]` / `dev configure` /
|
|
454
|
+
`dev doctor`) + 10 workflow verbs. Per-profile board mapping
|
|
455
|
+
in `[profiles.<name>.dev]`.
|
|
456
|
+
- **M27** — Outbound writes: `monday webhook list/create/delete`
|
|
457
|
+
(live-only; webhooks land on the user's own HTTPS endpoint —
|
|
458
|
+
the CLI never receives) + `monday notification send`
|
|
459
|
+
(single-recipient at v0.3).
|
|
460
|
+
- **M28** — 0.3.0 release prep. Multi-level subitem creation
|
|
461
|
+
deferred out of v0.3 per Decision 11 (Monday's `sub_items_board`
|
|
462
|
+
carries no `subtasks` column at API `2026-01`).
|
|
463
|
+
|
|
464
|
+
**v0.4:** `monday item watch`, `--concurrency` bulk parallelism,
|
|
465
|
+
asset uploads, multi-level subitems if Monday's data model
|
|
466
|
+
surfaces them.
|
|
467
|
+
|
|
373
468
|
See [`docs/cli-design.md`](./docs/cli-design.md) §13 for the
|
|
374
|
-
full roadmap
|
|
375
|
-
|
|
469
|
+
full roadmap, [`docs/v0.3-plan.md`](./docs/v0.3-plan.md) for the
|
|
470
|
+
v0.3 milestone history, and
|
|
471
|
+
[`docs/v0.2-plan.md`](./docs/v0.2-plan.md) for the v0.2 milestone
|
|
472
|
+
history.
|
|
376
473
|
|
|
377
474
|
See [CHANGELOG.md](./CHANGELOG.md) for the per-release contract.
|
|
378
475
|
|
|
@@ -380,8 +477,8 @@ See [CHANGELOG.md](./CHANGELOG.md) for the per-release contract.
|
|
|
380
477
|
|
|
381
478
|
- **[`docs/cli-design.md`](./docs/cli-design.md)** — canonical CLI
|
|
382
479
|
contract. **Start here** if you want to understand the full
|
|
383
|
-
surface, the JSON envelope, error codes, or the
|
|
384
|
-
|
|
480
|
+
surface, the JSON envelope, error codes, or the per-version
|
|
481
|
+
scope (§13).
|
|
385
482
|
- [`docs/output-shapes.md`](./docs/output-shapes.md) — per-command
|
|
386
483
|
output reference with concrete examples.
|
|
387
484
|
- [`docs/examples.md`](./docs/examples.md) — worked agent sessions.
|
|
@@ -416,7 +513,8 @@ The full dev workflow + how to add a new command is in
|
|
|
416
513
|
- **No `any`** (lint-enforced).
|
|
417
514
|
- **Parse at every boundary** with zod.
|
|
418
515
|
- **Mock at the network boundary, not internal modules.**
|
|
419
|
-
- **Branch coverage
|
|
516
|
+
- **Branch coverage 95%+ floor** (v0.3 ratcheted from 94% — see
|
|
517
|
+
`vitest.config.ts`).
|
|
420
518
|
- **Atomic commits, Conventional Commits.**
|
|
421
519
|
|
|
422
520
|
## Contributing
|