@m-kopa/launchpad-cli 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/CHANGELOG.md +854 -0
  2. package/README.md +109 -0
  3. package/dist/auth/browser.d.ts +18 -0
  4. package/dist/auth/browser.d.ts.map +1 -0
  5. package/dist/auth/callback-server.d.ts +24 -0
  6. package/dist/auth/callback-server.d.ts.map +1 -0
  7. package/dist/auth/discovery.d.ts +25 -0
  8. package/dist/auth/discovery.d.ts.map +1 -0
  9. package/dist/auth/flow.d.ts +39 -0
  10. package/dist/auth/flow.d.ts.map +1 -0
  11. package/dist/auth/jwt.d.ts +27 -0
  12. package/dist/auth/jwt.d.ts.map +1 -0
  13. package/dist/auth/pkce.d.ts +26 -0
  14. package/dist/auth/pkce.d.ts.map +1 -0
  15. package/dist/auth/registration.d.ts +8 -0
  16. package/dist/auth/registration.d.ts.map +1 -0
  17. package/dist/auth/session.d.ts +54 -0
  18. package/dist/auth/session.d.ts.map +1 -0
  19. package/dist/auth/token.d.ts +37 -0
  20. package/dist/auth/token.d.ts.map +1 -0
  21. package/dist/bundle/cron-bundle.d.ts +77 -0
  22. package/dist/bundle/cron-bundle.d.ts.map +1 -0
  23. package/dist/bundle/cwd-walker.d.ts +43 -0
  24. package/dist/bundle/cwd-walker.d.ts.map +1 -0
  25. package/dist/bundle/orchestrate.d.ts +51 -0
  26. package/dist/bundle/orchestrate.d.ts.map +1 -0
  27. package/dist/bundle/upload.d.ts +66 -0
  28. package/dist/bundle/upload.d.ts.map +1 -0
  29. package/dist/cli.d.ts +3 -0
  30. package/dist/cli.d.ts.map +1 -0
  31. package/dist/cli.js +9757 -0
  32. package/dist/clone/git-init.d.ts +18 -0
  33. package/dist/clone/git-init.d.ts.map +1 -0
  34. package/dist/clone/tar-extract.d.ts +59 -0
  35. package/dist/clone/tar-extract.d.ts.map +1 -0
  36. package/dist/commands/apps.d.ts +14 -0
  37. package/dist/commands/apps.d.ts.map +1 -0
  38. package/dist/commands/channel-auth.d.ts +31 -0
  39. package/dist/commands/channel-auth.d.ts.map +1 -0
  40. package/dist/commands/clone.d.ts +3 -0
  41. package/dist/commands/clone.d.ts.map +1 -0
  42. package/dist/commands/create.d.ts +27 -0
  43. package/dist/commands/create.d.ts.map +1 -0
  44. package/dist/commands/deploy-flags.d.ts +75 -0
  45. package/dist/commands/deploy-flags.d.ts.map +1 -0
  46. package/dist/commands/deploy-modes.d.ts +59 -0
  47. package/dist/commands/deploy-modes.d.ts.map +1 -0
  48. package/dist/commands/deploy.d.ts +29 -0
  49. package/dist/commands/deploy.d.ts.map +1 -0
  50. package/dist/commands/destroy.d.ts +14 -0
  51. package/dist/commands/destroy.d.ts.map +1 -0
  52. package/dist/commands/envvars.d.ts +28 -0
  53. package/dist/commands/envvars.d.ts.map +1 -0
  54. package/dist/commands/generate.d.ts +3 -0
  55. package/dist/commands/generate.d.ts.map +1 -0
  56. package/dist/commands/groups-whoami.d.ts +3 -0
  57. package/dist/commands/groups-whoami.d.ts.map +1 -0
  58. package/dist/commands/groups.d.ts +3 -0
  59. package/dist/commands/groups.d.ts.map +1 -0
  60. package/dist/commands/init.d.ts +44 -0
  61. package/dist/commands/init.d.ts.map +1 -0
  62. package/dist/commands/login.d.ts +3 -0
  63. package/dist/commands/login.d.ts.map +1 -0
  64. package/dist/commands/logout.d.ts +3 -0
  65. package/dist/commands/logout.d.ts.map +1 -0
  66. package/dist/commands/logs.d.ts +16 -0
  67. package/dist/commands/logs.d.ts.map +1 -0
  68. package/dist/commands/merge.d.ts +29 -0
  69. package/dist/commands/merge.d.ts.map +1 -0
  70. package/dist/commands/plan.d.ts +3 -0
  71. package/dist/commands/plan.d.ts.map +1 -0
  72. package/dist/commands/pull.d.ts +12 -0
  73. package/dist/commands/pull.d.ts.map +1 -0
  74. package/dist/commands/review.d.ts +22 -0
  75. package/dist/commands/review.d.ts.map +1 -0
  76. package/dist/commands/rollback.d.ts +3 -0
  77. package/dist/commands/rollback.d.ts.map +1 -0
  78. package/dist/commands/secrets-template.d.ts +3 -0
  79. package/dist/commands/secrets-template.d.ts.map +1 -0
  80. package/dist/commands/secrets.d.ts +3 -0
  81. package/dist/commands/secrets.d.ts.map +1 -0
  82. package/dist/commands/skills.d.ts +13 -0
  83. package/dist/commands/skills.d.ts.map +1 -0
  84. package/dist/commands/status.d.ts +54 -0
  85. package/dist/commands/status.d.ts.map +1 -0
  86. package/dist/commands/update.d.ts +114 -0
  87. package/dist/commands/update.d.ts.map +1 -0
  88. package/dist/commands/validate.d.ts +3 -0
  89. package/dist/commands/validate.d.ts.map +1 -0
  90. package/dist/commands/whoami.d.ts +3 -0
  91. package/dist/commands/whoami.d.ts.map +1 -0
  92. package/dist/config.d.ts +11 -0
  93. package/dist/config.d.ts.map +1 -0
  94. package/dist/deploy/apply.d.ts +29 -0
  95. package/dist/deploy/apply.d.ts.map +1 -0
  96. package/dist/deploy/dry-run.d.ts +13 -0
  97. package/dist/deploy/dry-run.d.ts.map +1 -0
  98. package/dist/deploy/git-files.d.ts +33 -0
  99. package/dist/deploy/git-files.d.ts.map +1 -0
  100. package/dist/deploy/group-pin.d.ts +66 -0
  101. package/dist/deploy/group-pin.d.ts.map +1 -0
  102. package/dist/deploy/manifest-state.d.ts +20 -0
  103. package/dist/deploy/manifest-state.d.ts.map +1 -0
  104. package/dist/deploy/manifest-status.d.ts +11 -0
  105. package/dist/deploy/manifest-status.d.ts.map +1 -0
  106. package/dist/deploy/resolve.d.ts +53 -0
  107. package/dist/deploy/resolve.d.ts.map +1 -0
  108. package/dist/deploy/rollback.d.ts +23 -0
  109. package/dist/deploy/rollback.d.ts.map +1 -0
  110. package/dist/deploy/runner.d.ts +29 -0
  111. package/dist/deploy/runner.d.ts.map +1 -0
  112. package/dist/deploy/stage-exit-codes.d.ts +41 -0
  113. package/dist/deploy/stage-exit-codes.d.ts.map +1 -0
  114. package/dist/deploy/status-polling.d.ts +37 -0
  115. package/dist/deploy/status-polling.d.ts.map +1 -0
  116. package/dist/deploy/tar-pack.d.ts +22 -0
  117. package/dist/deploy/tar-pack.d.ts.map +1 -0
  118. package/dist/detect/index.d.ts +53 -0
  119. package/dist/detect/index.d.ts.map +1 -0
  120. package/dist/dispatcher.d.ts +30 -0
  121. package/dist/dispatcher.d.ts.map +1 -0
  122. package/dist/groups/client.d.ts +62 -0
  123. package/dist/groups/client.d.ts.map +1 -0
  124. package/dist/http/api-client.d.ts +33 -0
  125. package/dist/http/api-client.d.ts.map +1 -0
  126. package/dist/http/errors.d.ts +31 -0
  127. package/dist/http/errors.d.ts.map +1 -0
  128. package/dist/manifest/load.d.ts +38 -0
  129. package/dist/manifest/load.d.ts.map +1 -0
  130. package/dist/manifest/schema.d.ts +3 -0
  131. package/dist/manifest/schema.d.ts.map +1 -0
  132. package/dist/postinstall.d.ts +3 -0
  133. package/dist/postinstall.d.ts.map +1 -0
  134. package/dist/postinstall.js +37 -0
  135. package/dist/secrets/env-parse.d.ts +19 -0
  136. package/dist/secrets/env-parse.d.ts.map +1 -0
  137. package/dist/secrets/push.d.ts +13 -0
  138. package/dist/secrets/push.d.ts.map +1 -0
  139. package/dist/secrets/set.d.ts +19 -0
  140. package/dist/secrets/set.d.ts.map +1 -0
  141. package/dist/secrets/status.d.ts +19 -0
  142. package/dist/secrets/status.d.ts.map +1 -0
  143. package/dist/types/api.d.ts +112 -0
  144. package/dist/types/api.d.ts.map +1 -0
  145. package/dist/update-notifier.d.ts +69 -0
  146. package/dist/update-notifier.d.ts.map +1 -0
  147. package/dist/version.d.ts +2 -0
  148. package/dist/version.d.ts.map +1 -0
  149. package/package.json +62 -0
  150. package/skills/README.md +100 -0
  151. package/skills/_partials/shell-contract.md +42 -0
  152. package/skills/launchpad-content-pr/SKILL.md +255 -0
  153. package/skills/launchpad-deploy/SKILL.md +415 -0
  154. package/skills/launchpad-deploy-status/SKILL.md +231 -0
  155. package/skills/launchpad-destroy/SKILL.md +317 -0
  156. package/skills/launchpad-onboard/SKILL.md +179 -0
  157. package/skills/launchpad-status/SKILL.md +263 -0
  158. package/skills/marquee-share/README.md +155 -0
  159. package/skills/marquee-share/SKILL.md +94 -0
  160. package/skills/marquee-share/SYNC.md +27 -0
  161. package/skills/marquee-share/dist/cli.js +896 -0
  162. package/skills/marquee-share/eslint.config.mjs +71 -0
  163. package/skills/marquee-share/install.sh +103 -0
  164. package/skills/marquee-share/package-lock.json +3946 -0
  165. package/skills/marquee-share/package.json +30 -0
  166. package/skills/marquee-share/src/auth/PROVENANCE.md +103 -0
  167. package/skills/marquee-share/src/auth/browser.ts +75 -0
  168. package/skills/marquee-share/src/auth/callback-server.ts +171 -0
  169. package/skills/marquee-share/src/auth/discovery.ts +171 -0
  170. package/skills/marquee-share/src/auth/flow.ts +262 -0
  171. package/skills/marquee-share/src/auth/index.ts +171 -0
  172. package/skills/marquee-share/src/auth/jwt.ts +77 -0
  173. package/skills/marquee-share/src/auth/pkce.ts +79 -0
  174. package/skills/marquee-share/src/auth/registration.ts +87 -0
  175. package/skills/marquee-share/src/auth/session.ts +205 -0
  176. package/skills/marquee-share/src/auth/token.ts +162 -0
  177. package/skills/marquee-share/src/cli.ts +246 -0
  178. package/skills/marquee-share/src/config.ts +101 -0
  179. package/skills/marquee-share/src/render/template.ts +171 -0
  180. package/skills/marquee-share/src/upload/index.ts +11 -0
  181. package/skills/marquee-share/src/upload/upload.ts +191 -0
  182. package/skills/marquee-share/tests/cli.test.ts +281 -0
  183. package/skills/marquee-share/tests/config.test.ts +119 -0
  184. package/skills/marquee-share/tests/flow.test.ts +356 -0
  185. package/skills/marquee-share/tests/no-token-leak.test.ts +240 -0
  186. package/skills/marquee-share/tests/pkce.test.ts +121 -0
  187. package/skills/marquee-share/tests/session.test.ts +173 -0
  188. package/skills/marquee-share/tests/template.test.ts +170 -0
  189. package/skills/marquee-share/tests/upload.test.ts +311 -0
  190. package/skills/marquee-share/tsconfig.json +23 -0
  191. package/skills/marquee-share/vitest.config.ts +15 -0
@@ -0,0 +1,71 @@
1
+ // Flat-config ESLint for the marquee-share-skill.
2
+ //
3
+ // Unlike the marquee Pages app (workerd-targeted, bans `node:*`
4
+ // imports), this package IS a Node program. It legitimately needs
5
+ // filesystem, child_process, http, crypto — bans here would be
6
+ // nonsense. The rules kept are the ones that prevent common bugs
7
+ // (unhandled promises, sloppy types).
8
+
9
+ import tseslint from "@typescript-eslint/eslint-plugin";
10
+ import tsparser from "@typescript-eslint/parser";
11
+
12
+ export default [
13
+ {
14
+ files: ["src/**/*.ts"],
15
+ languageOptions: {
16
+ parser: tsparser,
17
+ parserOptions: {
18
+ ecmaVersion: "latest",
19
+ sourceType: "module",
20
+ project: "./tsconfig.json",
21
+ },
22
+ },
23
+ plugins: { "@typescript-eslint": tseslint },
24
+ rules: {
25
+ "@typescript-eslint/no-unused-vars": [
26
+ "error",
27
+ {
28
+ argsIgnorePattern: "^_",
29
+ varsIgnorePattern: "^_",
30
+ caughtErrorsIgnorePattern: "^_",
31
+ },
32
+ ],
33
+ "@typescript-eslint/explicit-module-boundary-types": "warn",
34
+ // Async-safety. `parserOptions.project` is set above so these
35
+ // type-aware rules light up.
36
+ "@typescript-eslint/no-floating-promises": "error",
37
+ "@typescript-eslint/no-misused-promises": "error",
38
+ "no-console": "off",
39
+ "prefer-const": "error",
40
+ eqeqeq: ["error", "smart"],
41
+ },
42
+ },
43
+ {
44
+ files: ["tests/**/*.ts"],
45
+ languageOptions: {
46
+ parser: tsparser,
47
+ parserOptions: {
48
+ ecmaVersion: "latest",
49
+ sourceType: "module",
50
+ project: "./tsconfig.json",
51
+ },
52
+ },
53
+ plugins: { "@typescript-eslint": tseslint },
54
+ rules: {
55
+ "@typescript-eslint/no-unused-vars": [
56
+ "error",
57
+ {
58
+ argsIgnorePattern: "^_",
59
+ varsIgnorePattern: "^_",
60
+ caughtErrorsIgnorePattern: "^_",
61
+ },
62
+ ],
63
+ "no-console": "off",
64
+ },
65
+ },
66
+ {
67
+ // `dist/` holds the committed, generated `bun build` bundle — not
68
+ // hand-written source. Never lint it.
69
+ ignores: ["node_modules/**", "coverage/**", "dist/**"],
70
+ },
71
+ ];
@@ -0,0 +1,103 @@
1
+ #!/usr/bin/env bash
2
+ #
3
+ # install.sh — install the marquee-share skill into your personal Claude Code.
4
+ #
5
+ # Claude Code discovers skills by reading SKILL.md from each subdirectory of
6
+ # ~/.claude/skills/. This script symlinks ~/.claude/skills/marquee-share to
7
+ # this repo's skill/ directory, so the skill you run is always the source in
8
+ # this checkout — pull the branch and the skill updates with it.
9
+ #
10
+ # Usage:
11
+ # ./install.sh install (idempotent — safe to re-run)
12
+ # ./install.sh --uninstall remove the symlink
13
+ # ./install.sh --help show this message
14
+ #
15
+ # The skill's canonical source lives in M-KOPA/marquee under skill/. This is
16
+ # the personal-developer install path. M-KOPA-wide distribution goes through
17
+ # the Launchpad CLI skills bundle.
18
+
19
+ set -euo pipefail
20
+
21
+ # Resolve the directory this script lives in (the skill/ root), following
22
+ # symlinks so it works whether invoked directly or via an installed link.
23
+ script_source="${BASH_SOURCE[0]}"
24
+ while [ -L "$script_source" ]; do
25
+ dir="$(cd -P "$(dirname "$script_source")" >/dev/null 2>&1 && pwd)"
26
+ script_source="$(readlink "$script_source")"
27
+ [[ "$script_source" != /* ]] && script_source="$dir/$script_source"
28
+ done
29
+ SKILL_DIR="$(cd -P "$(dirname "$script_source")" >/dev/null 2>&1 && pwd)"
30
+
31
+ SKILLS_HOME="${CLAUDE_SKILLS_HOME:-$HOME/.claude/skills}"
32
+ LINK_PATH="$SKILLS_HOME/marquee-share"
33
+
34
+ usage() {
35
+ sed -n '3,17p' "$0" | sed 's/^# \{0,1\}//'
36
+ }
37
+
38
+ uninstall() {
39
+ if [ -L "$LINK_PATH" ]; then
40
+ rm "$LINK_PATH"
41
+ echo "removed: $LINK_PATH"
42
+ elif [ -e "$LINK_PATH" ]; then
43
+ echo "error: $LINK_PATH exists but is not a symlink — not removing it." >&2
44
+ echo " Inspect and remove it by hand if you want it gone." >&2
45
+ exit 1
46
+ else
47
+ echo "nothing to do: $LINK_PATH does not exist"
48
+ fi
49
+ }
50
+
51
+ install() {
52
+ if [ ! -f "$SKILL_DIR/SKILL.md" ]; then
53
+ echo "error: SKILL.md not found in $SKILL_DIR — run this from the skill/ dir." >&2
54
+ exit 1
55
+ fi
56
+
57
+ mkdir -p "$SKILLS_HOME"
58
+
59
+ # Idempotent: if the link already points where we want, do nothing.
60
+ if [ -L "$LINK_PATH" ]; then
61
+ current="$(readlink "$LINK_PATH")"
62
+ if [ "$current" = "$SKILL_DIR" ]; then
63
+ echo "already installed: $LINK_PATH -> $SKILL_DIR"
64
+ post_install_note
65
+ return
66
+ fi
67
+ echo "updating existing link ($current -> $SKILL_DIR)"
68
+ rm "$LINK_PATH"
69
+ elif [ -e "$LINK_PATH" ]; then
70
+ echo "error: $LINK_PATH exists and is not a symlink." >&2
71
+ echo " Move or remove it, then re-run ./install.sh." >&2
72
+ exit 1
73
+ fi
74
+
75
+ ln -s "$SKILL_DIR" "$LINK_PATH"
76
+ echo "installed: $LINK_PATH -> $SKILL_DIR"
77
+ post_install_note
78
+ }
79
+
80
+ post_install_note() {
81
+ # The skill runs from the pre-built, dependency-free bundle
82
+ # dist/cli.js — no `npm install` is needed to use it. Only warn if
83
+ # the committed build artefact is somehow missing from the checkout.
84
+ if [ ! -f "$SKILL_DIR/dist/cli.js" ]; then
85
+ echo
86
+ echo "warning: $SKILL_DIR/dist/cli.js is missing — the skill needs"
87
+ echo " the built bundle to run. Rebuild it with —"
88
+ echo " (cd '$SKILL_DIR' && npm install && npm run build)"
89
+ fi
90
+ echo
91
+ echo "Restart Claude Code (or start a new session) to pick up the skill."
92
+ }
93
+
94
+ case "${1:-}" in
95
+ ""|install) install ;;
96
+ --uninstall|-u) uninstall ;;
97
+ --help|-h) usage ;;
98
+ *)
99
+ echo "error: unknown argument '$1'" >&2
100
+ echo "run './install.sh --help' for usage." >&2
101
+ exit 1
102
+ ;;
103
+ esac