@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.
- package/CHANGELOG.md +854 -0
- package/README.md +109 -0
- package/dist/auth/browser.d.ts +18 -0
- package/dist/auth/browser.d.ts.map +1 -0
- package/dist/auth/callback-server.d.ts +24 -0
- package/dist/auth/callback-server.d.ts.map +1 -0
- package/dist/auth/discovery.d.ts +25 -0
- package/dist/auth/discovery.d.ts.map +1 -0
- package/dist/auth/flow.d.ts +39 -0
- package/dist/auth/flow.d.ts.map +1 -0
- package/dist/auth/jwt.d.ts +27 -0
- package/dist/auth/jwt.d.ts.map +1 -0
- package/dist/auth/pkce.d.ts +26 -0
- package/dist/auth/pkce.d.ts.map +1 -0
- package/dist/auth/registration.d.ts +8 -0
- package/dist/auth/registration.d.ts.map +1 -0
- package/dist/auth/session.d.ts +54 -0
- package/dist/auth/session.d.ts.map +1 -0
- package/dist/auth/token.d.ts +37 -0
- package/dist/auth/token.d.ts.map +1 -0
- package/dist/bundle/cron-bundle.d.ts +77 -0
- package/dist/bundle/cron-bundle.d.ts.map +1 -0
- package/dist/bundle/cwd-walker.d.ts +43 -0
- package/dist/bundle/cwd-walker.d.ts.map +1 -0
- package/dist/bundle/orchestrate.d.ts +51 -0
- package/dist/bundle/orchestrate.d.ts.map +1 -0
- package/dist/bundle/upload.d.ts +66 -0
- package/dist/bundle/upload.d.ts.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +9757 -0
- package/dist/clone/git-init.d.ts +18 -0
- package/dist/clone/git-init.d.ts.map +1 -0
- package/dist/clone/tar-extract.d.ts +59 -0
- package/dist/clone/tar-extract.d.ts.map +1 -0
- package/dist/commands/apps.d.ts +14 -0
- package/dist/commands/apps.d.ts.map +1 -0
- package/dist/commands/channel-auth.d.ts +31 -0
- package/dist/commands/channel-auth.d.ts.map +1 -0
- package/dist/commands/clone.d.ts +3 -0
- package/dist/commands/clone.d.ts.map +1 -0
- package/dist/commands/create.d.ts +27 -0
- package/dist/commands/create.d.ts.map +1 -0
- package/dist/commands/deploy-flags.d.ts +75 -0
- package/dist/commands/deploy-flags.d.ts.map +1 -0
- package/dist/commands/deploy-modes.d.ts +59 -0
- package/dist/commands/deploy-modes.d.ts.map +1 -0
- package/dist/commands/deploy.d.ts +29 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/destroy.d.ts +14 -0
- package/dist/commands/destroy.d.ts.map +1 -0
- package/dist/commands/envvars.d.ts +28 -0
- package/dist/commands/envvars.d.ts.map +1 -0
- package/dist/commands/generate.d.ts +3 -0
- package/dist/commands/generate.d.ts.map +1 -0
- package/dist/commands/groups-whoami.d.ts +3 -0
- package/dist/commands/groups-whoami.d.ts.map +1 -0
- package/dist/commands/groups.d.ts +3 -0
- package/dist/commands/groups.d.ts.map +1 -0
- package/dist/commands/init.d.ts +44 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/login.d.ts +3 -0
- package/dist/commands/login.d.ts.map +1 -0
- package/dist/commands/logout.d.ts +3 -0
- package/dist/commands/logout.d.ts.map +1 -0
- package/dist/commands/logs.d.ts +16 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/merge.d.ts +29 -0
- package/dist/commands/merge.d.ts.map +1 -0
- package/dist/commands/plan.d.ts +3 -0
- package/dist/commands/plan.d.ts.map +1 -0
- package/dist/commands/pull.d.ts +12 -0
- package/dist/commands/pull.d.ts.map +1 -0
- package/dist/commands/review.d.ts +22 -0
- package/dist/commands/review.d.ts.map +1 -0
- package/dist/commands/rollback.d.ts +3 -0
- package/dist/commands/rollback.d.ts.map +1 -0
- package/dist/commands/secrets-template.d.ts +3 -0
- package/dist/commands/secrets-template.d.ts.map +1 -0
- package/dist/commands/secrets.d.ts +3 -0
- package/dist/commands/secrets.d.ts.map +1 -0
- package/dist/commands/skills.d.ts +13 -0
- package/dist/commands/skills.d.ts.map +1 -0
- package/dist/commands/status.d.ts +54 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/update.d.ts +114 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/validate.d.ts +3 -0
- package/dist/commands/validate.d.ts.map +1 -0
- package/dist/commands/whoami.d.ts +3 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/config.d.ts +11 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/deploy/apply.d.ts +29 -0
- package/dist/deploy/apply.d.ts.map +1 -0
- package/dist/deploy/dry-run.d.ts +13 -0
- package/dist/deploy/dry-run.d.ts.map +1 -0
- package/dist/deploy/git-files.d.ts +33 -0
- package/dist/deploy/git-files.d.ts.map +1 -0
- package/dist/deploy/group-pin.d.ts +66 -0
- package/dist/deploy/group-pin.d.ts.map +1 -0
- package/dist/deploy/manifest-state.d.ts +20 -0
- package/dist/deploy/manifest-state.d.ts.map +1 -0
- package/dist/deploy/manifest-status.d.ts +11 -0
- package/dist/deploy/manifest-status.d.ts.map +1 -0
- package/dist/deploy/resolve.d.ts +53 -0
- package/dist/deploy/resolve.d.ts.map +1 -0
- package/dist/deploy/rollback.d.ts +23 -0
- package/dist/deploy/rollback.d.ts.map +1 -0
- package/dist/deploy/runner.d.ts +29 -0
- package/dist/deploy/runner.d.ts.map +1 -0
- package/dist/deploy/stage-exit-codes.d.ts +41 -0
- package/dist/deploy/stage-exit-codes.d.ts.map +1 -0
- package/dist/deploy/status-polling.d.ts +37 -0
- package/dist/deploy/status-polling.d.ts.map +1 -0
- package/dist/deploy/tar-pack.d.ts +22 -0
- package/dist/deploy/tar-pack.d.ts.map +1 -0
- package/dist/detect/index.d.ts +53 -0
- package/dist/detect/index.d.ts.map +1 -0
- package/dist/dispatcher.d.ts +30 -0
- package/dist/dispatcher.d.ts.map +1 -0
- package/dist/groups/client.d.ts +62 -0
- package/dist/groups/client.d.ts.map +1 -0
- package/dist/http/api-client.d.ts +33 -0
- package/dist/http/api-client.d.ts.map +1 -0
- package/dist/http/errors.d.ts +31 -0
- package/dist/http/errors.d.ts.map +1 -0
- package/dist/manifest/load.d.ts +38 -0
- package/dist/manifest/load.d.ts.map +1 -0
- package/dist/manifest/schema.d.ts +3 -0
- package/dist/manifest/schema.d.ts.map +1 -0
- package/dist/postinstall.d.ts +3 -0
- package/dist/postinstall.d.ts.map +1 -0
- package/dist/postinstall.js +37 -0
- package/dist/secrets/env-parse.d.ts +19 -0
- package/dist/secrets/env-parse.d.ts.map +1 -0
- package/dist/secrets/push.d.ts +13 -0
- package/dist/secrets/push.d.ts.map +1 -0
- package/dist/secrets/set.d.ts +19 -0
- package/dist/secrets/set.d.ts.map +1 -0
- package/dist/secrets/status.d.ts +19 -0
- package/dist/secrets/status.d.ts.map +1 -0
- package/dist/types/api.d.ts +112 -0
- package/dist/types/api.d.ts.map +1 -0
- package/dist/update-notifier.d.ts +69 -0
- package/dist/update-notifier.d.ts.map +1 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/package.json +62 -0
- package/skills/README.md +100 -0
- package/skills/_partials/shell-contract.md +42 -0
- package/skills/launchpad-content-pr/SKILL.md +255 -0
- package/skills/launchpad-deploy/SKILL.md +415 -0
- package/skills/launchpad-deploy-status/SKILL.md +231 -0
- package/skills/launchpad-destroy/SKILL.md +317 -0
- package/skills/launchpad-onboard/SKILL.md +179 -0
- package/skills/launchpad-status/SKILL.md +263 -0
- package/skills/marquee-share/README.md +155 -0
- package/skills/marquee-share/SKILL.md +94 -0
- package/skills/marquee-share/SYNC.md +27 -0
- package/skills/marquee-share/dist/cli.js +896 -0
- package/skills/marquee-share/eslint.config.mjs +71 -0
- package/skills/marquee-share/install.sh +103 -0
- package/skills/marquee-share/package-lock.json +3946 -0
- package/skills/marquee-share/package.json +30 -0
- package/skills/marquee-share/src/auth/PROVENANCE.md +103 -0
- package/skills/marquee-share/src/auth/browser.ts +75 -0
- package/skills/marquee-share/src/auth/callback-server.ts +171 -0
- package/skills/marquee-share/src/auth/discovery.ts +171 -0
- package/skills/marquee-share/src/auth/flow.ts +262 -0
- package/skills/marquee-share/src/auth/index.ts +171 -0
- package/skills/marquee-share/src/auth/jwt.ts +77 -0
- package/skills/marquee-share/src/auth/pkce.ts +79 -0
- package/skills/marquee-share/src/auth/registration.ts +87 -0
- package/skills/marquee-share/src/auth/session.ts +205 -0
- package/skills/marquee-share/src/auth/token.ts +162 -0
- package/skills/marquee-share/src/cli.ts +246 -0
- package/skills/marquee-share/src/config.ts +101 -0
- package/skills/marquee-share/src/render/template.ts +171 -0
- package/skills/marquee-share/src/upload/index.ts +11 -0
- package/skills/marquee-share/src/upload/upload.ts +191 -0
- package/skills/marquee-share/tests/cli.test.ts +281 -0
- package/skills/marquee-share/tests/config.test.ts +119 -0
- package/skills/marquee-share/tests/flow.test.ts +356 -0
- package/skills/marquee-share/tests/no-token-leak.test.ts +240 -0
- package/skills/marquee-share/tests/pkce.test.ts +121 -0
- package/skills/marquee-share/tests/session.test.ts +173 -0
- package/skills/marquee-share/tests/template.test.ts +170 -0
- package/skills/marquee-share/tests/upload.test.ts +311 -0
- package/skills/marquee-share/tsconfig.json +23 -0
- 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
|