codebyplan 1.5.0 → 1.8.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/README.md +48 -5
- package/dist/cli.js +4578 -2709
- package/package.json +5 -1
- package/templates/.gitkeep +0 -0
- package/templates/README.md +20 -0
- package/templates/agents/cbp-cc-executor.md +213 -0
- package/templates/agents/cbp-database-agent.md +229 -0
- package/templates/agents/cbp-improve-claude.md +245 -0
- package/templates/agents/cbp-improve-round.md +284 -0
- package/templates/agents/cbp-mechanical-edits.md +111 -0
- package/templates/agents/cbp-research.md +282 -0
- package/templates/agents/cbp-round-executor.md +604 -0
- package/templates/agents/cbp-security-agent.md +134 -0
- package/templates/agents/cbp-task-check.md +213 -0
- package/templates/agents/cbp-task-planner.md +582 -0
- package/templates/agents/cbp-test-e2e-agent.md +363 -0
- package/templates/agents/cbp-testing-qa-agent.md +400 -0
- package/templates/context/mcp-docs.md +139 -0
- package/templates/hooks/README.md +236 -0
- package/templates/hooks/cbp-auto-test-hooks.sh +44 -0
- package/templates/hooks/cbp-lint-format-on-edit.sh +159 -0
- package/templates/hooks/cbp-maestro-yaml-validate.sh +100 -0
- package/templates/hooks/cbp-mcp-migration-guard.sh +32 -0
- package/templates/hooks/cbp-mcp-round-sync.sh +79 -0
- package/templates/hooks/cbp-mcp-worktree-inject.sh +76 -0
- package/templates/hooks/cbp-notify.sh +68 -0
- package/templates/hooks/cbp-plugin-dispatch.sh +29 -0
- package/templates/hooks/cbp-pre-commit-quality-gate.sh +204 -0
- package/templates/hooks/cbp-statusline.sh +347 -0
- package/templates/hooks/cbp-subagent-statusline.sh +182 -0
- package/templates/hooks/cbp-test-coverage-gate.sh +144 -0
- package/templates/hooks/cbp-test-hooks.sh +320 -0
- package/templates/hooks/hooks.json +85 -0
- package/templates/hooks/validate-context-usage.sh +59 -0
- package/templates/hooks/validate-git-commit.sh +78 -0
- package/templates/hooks/validate-git-stash-deny.sh +32 -0
- package/templates/hooks/validate-structure-lengths.sh +57 -0
- package/templates/hooks/validate-structure-lib.sh +104 -0
- package/templates/hooks/validate-structure-patterns.sh +54 -0
- package/templates/hooks/validate-structure-scope.sh +33 -0
- package/templates/hooks/validate-structure-smoke.sh +95 -0
- package/templates/hooks/validate-structure-templates.sh +34 -0
- package/templates/hooks/validate-structure.sh +69 -0
- package/templates/rules/.gitkeep +0 -0
- package/templates/rules/README.md +47 -0
- package/templates/rules/context-file-loading.md +52 -0
- package/templates/rules/scope-vocabulary.md +64 -0
- package/templates/rules/todo-backend.md +109 -0
- package/templates/settings.project.base.json +55 -0
- package/templates/settings.user.base.json +25 -0
- package/templates/skills/cbp-build-cc-agent/SKILL.md +139 -0
- package/templates/skills/cbp-build-cc-agent/examples/read-only-reviewer.md +32 -0
- package/templates/skills/cbp-build-cc-agent/examples/with-hooks.md +41 -0
- package/templates/skills/cbp-build-cc-agent/examples/with-skills-preload.md +25 -0
- package/templates/skills/cbp-build-cc-agent/reference/cbp-quality.md +153 -0
- package/templates/skills/cbp-build-cc-agent/reference/frontmatter-fields.md +37 -0
- package/templates/skills/cbp-build-cc-agent/reference/permission-modes.md +18 -0
- package/templates/skills/cbp-build-cc-agent/scripts/validate-agent.sh +67 -0
- package/templates/skills/cbp-build-cc-agent/templates/agent.md +66 -0
- package/templates/skills/cbp-build-cc-claude-file/SKILL.md +178 -0
- package/templates/skills/cbp-build-cc-claude-file/examples/minimal-project.md +33 -0
- package/templates/skills/cbp-build-cc-claude-file/examples/monorepo-with-imports.md +39 -0
- package/templates/skills/cbp-build-cc-claude-file/reference/imports.md +72 -0
- package/templates/skills/cbp-build-cc-claude-file/reference/what-belongs.md +39 -0
- package/templates/skills/cbp-build-cc-claude-file/templates/project-claude-md.md +48 -0
- package/templates/skills/cbp-build-cc-claude-file/templates/user-claude-md.md +22 -0
- package/templates/skills/cbp-build-cc-memory/SKILL.md +201 -0
- package/templates/skills/cbp-build-cc-memory/examples/feedback-memory.md +11 -0
- package/templates/skills/cbp-build-cc-memory/examples/project-memory.md +11 -0
- package/templates/skills/cbp-build-cc-memory/examples/reference-memory.md +13 -0
- package/templates/skills/cbp-build-cc-memory/examples/user-memory.md +14 -0
- package/templates/skills/cbp-build-cc-memory/reference/memory-types.md +59 -0
- package/templates/skills/cbp-build-cc-memory/reference/when-to-save.md +62 -0
- package/templates/skills/cbp-build-cc-memory/templates/MEMORY-index.md +4 -0
- package/templates/skills/cbp-build-cc-memory/templates/memory-entry.md +15 -0
- package/templates/skills/cbp-build-cc-mode/SKILL.md +99 -0
- package/templates/skills/cbp-build-cc-rule/SKILL.md +176 -0
- package/templates/skills/cbp-build-cc-rule/examples/global-rule.md +19 -0
- package/templates/skills/cbp-build-cc-rule/examples/scoped-rule.md +41 -0
- package/templates/skills/cbp-build-cc-rule/reference/paths-patterns.md +48 -0
- package/templates/skills/cbp-build-cc-rule/templates/rule.md +32 -0
- package/templates/skills/cbp-build-cc-settings/SKILL.md +220 -0
- package/templates/skills/cbp-build-cc-settings/examples/hooks-config.json +64 -0
- package/templates/skills/cbp-build-cc-settings/examples/permissions-config.json +34 -0
- package/templates/skills/cbp-build-cc-settings/examples/sandbox-config.json +42 -0
- package/templates/skills/cbp-build-cc-settings/reference/cbp-conventions.md +104 -0
- package/templates/skills/cbp-build-cc-settings/reference/permission-rules.md +61 -0
- package/templates/skills/cbp-build-cc-settings/reference/scope-precedence.md +73 -0
- package/templates/skills/cbp-build-cc-settings/reference/settings-fields.md +166 -0
- package/templates/skills/cbp-build-cc-settings/templates/settings.json +23 -0
- package/templates/skills/cbp-build-cc-settings/templates/settings.local.json +10 -0
- package/templates/skills/cbp-build-cc-skill/SKILL.md +154 -0
- package/templates/skills/cbp-build-cc-skill/examples/dynamic-context.md +31 -0
- package/templates/skills/cbp-build-cc-skill/examples/fork-skill.md +22 -0
- package/templates/skills/cbp-build-cc-skill/examples/knowledge-skill.md +25 -0
- package/templates/skills/cbp-build-cc-skill/examples/task-skill.md +29 -0
- package/templates/skills/cbp-build-cc-skill/reference/cbp-quality.md +157 -0
- package/templates/skills/cbp-build-cc-skill/reference/frontmatter-fields.md +35 -0
- package/templates/skills/cbp-build-cc-skill/reference/string-substitutions.md +60 -0
- package/templates/skills/cbp-build-cc-skill/scripts/validate-skill.sh +90 -0
- package/templates/skills/cbp-build-cc-skill/templates/skill.md +51 -0
- package/templates/skills/cbp-checkpoint-check/SKILL.md +156 -0
- package/templates/skills/cbp-checkpoint-complete/SKILL.md +109 -0
- package/templates/skills/cbp-checkpoint-create/SKILL.md +287 -0
- package/templates/skills/cbp-checkpoint-end/SKILL.md +241 -0
- package/templates/skills/cbp-checkpoint-update/SKILL.md +115 -0
- package/templates/skills/cbp-frontend-a11y/SKILL.md +109 -0
- package/templates/skills/cbp-frontend-a11y/reference/aria-roles-states.md +130 -0
- package/templates/skills/cbp-frontend-a11y/reference/contrast-visual.md +122 -0
- package/templates/skills/cbp-frontend-a11y/reference/keyboard-patterns.md +154 -0
- package/templates/skills/cbp-frontend-a11y/reference/semantic-html.md +111 -0
- package/templates/skills/cbp-frontend-design/SKILL.md +145 -0
- package/templates/skills/cbp-frontend-design/reference/nextjs-scss.md +118 -0
- package/templates/skills/cbp-frontend-design/reference/rn-expo.md +101 -0
- package/templates/skills/cbp-frontend-design/reference/tauri-react.md +82 -0
- package/templates/skills/cbp-frontend-ui/SKILL.md +262 -0
- package/templates/skills/cbp-frontend-ui/reference/ui-label-maps.md +42 -0
- package/templates/skills/cbp-frontend-ui/reference/ui-layout-patterns.md +105 -0
- package/templates/skills/cbp-frontend-ui/reference/variant-defaults.md +149 -0
- package/templates/skills/cbp-frontend-ux/SKILL.md +181 -0
- package/templates/skills/cbp-git-branch-feat-create/SKILL.md +115 -0
- package/templates/skills/cbp-git-commit/SKILL.md +278 -0
- package/templates/skills/cbp-git-worktree-create/SKILL.md +226 -0
- package/templates/skills/cbp-git-worktree-remove/SKILL.md +145 -0
- package/templates/skills/cbp-merge-main/SKILL.md +228 -0
- package/templates/skills/cbp-round-check/SKILL.md +104 -0
- package/templates/skills/cbp-round-end/SKILL.md +183 -0
- package/templates/skills/cbp-round-end/reference/findings-presentation.md +44 -0
- package/templates/skills/cbp-round-end/reference/inline-fallback.md +35 -0
- package/templates/skills/cbp-round-execute/SKILL.md +211 -0
- package/templates/skills/cbp-round-execute/reference/inline-fallback.md +59 -0
- package/templates/skills/cbp-round-input/SKILL.md +165 -0
- package/templates/skills/cbp-round-start/SKILL.md +222 -0
- package/templates/skills/cbp-round-update/SKILL.md +163 -0
- package/templates/skills/cbp-session-end/SKILL.md +187 -0
- package/templates/skills/cbp-session-start/SKILL.md +155 -0
- package/templates/skills/cbp-ship/SKILL.md +332 -0
- package/templates/skills/cbp-ship/reference/changesets-overview.md +120 -0
- package/templates/skills/cbp-ship/reference/eas-cli-overview.md +60 -0
- package/templates/skills/cbp-ship/reference/gh-cli-overview.md +135 -0
- package/templates/skills/cbp-ship/reference/gh-cli-shipment-commands.md +283 -0
- package/templates/skills/cbp-ship/reference/npm-publish-monorepo.md +252 -0
- package/templates/skills/cbp-ship/reference/npm-publish-oidc-trusted.md +157 -0
- package/templates/skills/cbp-ship/reference/npm-publish-overview.md +171 -0
- package/templates/skills/cbp-ship/reference/preflight-checklist.md +88 -0
- package/templates/skills/cbp-ship/reference/railway-nestjs-deployment.md +169 -0
- package/templates/skills/cbp-ship/reference/railway-overview.md +120 -0
- package/templates/skills/cbp-ship/reference/railway-troubleshooting.md +168 -0
- package/templates/skills/cbp-ship/reference/release-please-overview.md +99 -0
- package/templates/skills/cbp-ship/reference/surface-expo-eas.md +155 -0
- package/templates/skills/cbp-ship/reference/surface-npm.md +180 -0
- package/templates/skills/cbp-ship/reference/surface-railway.md +152 -0
- package/templates/skills/cbp-ship/reference/surface-supabase.md +178 -0
- package/templates/skills/cbp-ship/reference/surface-tauri.md +138 -0
- package/templates/skills/cbp-ship/reference/surface-vercel.md +124 -0
- package/templates/skills/cbp-ship/reference/surface-vscode-ext.md +144 -0
- package/templates/skills/cbp-ship/reference/surfaces.md +60 -0
- package/templates/skills/cbp-ship/reference/testflight-automation.md +215 -0
- package/templates/skills/cbp-ship/reference/testflight-internal-vs-external.md +69 -0
- package/templates/skills/cbp-ship/reference/testflight-overview.md +98 -0
- package/templates/skills/cbp-ship/reference/versioning.md +116 -0
- package/templates/skills/cbp-ship/scripts/detect-surfaces.sh +217 -0
- package/templates/skills/cbp-ship/scripts/verify-expo-eas.sh +35 -0
- package/templates/skills/cbp-ship/scripts/verify-npm.sh +21 -0
- package/templates/skills/cbp-ship/scripts/verify-railway.sh +41 -0
- package/templates/skills/cbp-ship/scripts/verify-supabase.sh +19 -0
- package/templates/skills/cbp-ship/scripts/verify-tauri.sh +24 -0
- package/templates/skills/cbp-ship/scripts/verify-vercel.sh +32 -0
- package/templates/skills/cbp-ship/scripts/verify-vscode-ext.sh +25 -0
- package/templates/skills/cbp-ship/templates/eas.json +66 -0
- package/templates/skills/cbp-ship/templates/railway.toml +15 -0
- package/templates/skills/cbp-ship/templates/release-please-config.json +17 -0
- package/templates/skills/cbp-ship/templates/vercel.json +19 -0
- package/templates/skills/cbp-ship/templates/vscodeignore +21 -0
- package/templates/skills/cbp-ship/templates/workflow-changesets.yml +41 -0
- package/templates/skills/cbp-ship/templates/workflow-eas-submit.yml +53 -0
- package/templates/skills/cbp-ship/templates/workflow-npm-publish.yml +36 -0
- package/templates/skills/cbp-ship/templates/workflow-release-please.yml +21 -0
- package/templates/skills/cbp-ship/templates/workflow-tauri-release.yml +69 -0
- package/templates/skills/cbp-ship/templates/workflow-vsce-publish.yml +31 -0
- package/templates/skills/cbp-ship-configure/SKILL.md +296 -0
- package/templates/skills/cbp-ship-configure/reference/expo-mobile.md +204 -0
- package/templates/skills/cbp-ship-configure/reference/npm-package.md +165 -0
- package/templates/skills/cbp-ship-configure/reference/railway-backend.md +199 -0
- package/templates/skills/cbp-ship-configure/reference/supabase.md +200 -0
- package/templates/skills/cbp-ship-configure/reference/tauri-desktop.md +181 -0
- package/templates/skills/cbp-ship-configure/reference/vercel.md +117 -0
- package/templates/skills/cbp-ship-configure/reference/vscode-ext.md +155 -0
- package/templates/skills/cbp-ship-main/SKILL.md +65 -0
- package/templates/skills/cbp-supabase-branch-check/SKILL.md +337 -0
- package/templates/skills/cbp-supabase-branch-check/reference/dag-steps.md +29 -0
- package/templates/skills/cbp-supabase-migrate/SKILL.md +314 -0
- package/templates/skills/cbp-supabase-migrate/reference/advisor-triage.md +70 -0
- package/templates/skills/cbp-supabase-migrate/reference/cli-fallback.md +87 -0
- package/templates/skills/cbp-supabase-migrate/reference/preflight-dry-run.md +58 -0
- package/templates/skills/cbp-supabase-setup/SKILL.md +239 -0
- package/templates/skills/cbp-supabase-setup/reference/branching-setup.md +121 -0
- package/templates/skills/cbp-supabase-setup/reference/cli-fallback.md +109 -0
- package/templates/skills/cbp-task-check/SKILL.md +166 -0
- package/templates/skills/cbp-task-complete/SKILL.md +206 -0
- package/templates/skills/cbp-task-complete/reference/checkpoint-done-branching.md +48 -0
- package/templates/skills/cbp-task-complete/reference/next-step-heuristic.md +56 -0
- package/templates/skills/cbp-task-create/SKILL.md +167 -0
- package/templates/skills/cbp-task-start/SKILL.md +239 -0
- package/templates/skills/cbp-task-testing/SKILL.md +277 -0
- package/templates/skills/cbp-todo/SKILL.md +97 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Verify a Vercel deployment is READY and reachable.
|
|
3
|
+
# Usage: verify-vercel.sh <deployment-id-or-url>
|
|
4
|
+
# Exit: 0 ok, 1 fail, 2 verification_pending
|
|
5
|
+
|
|
6
|
+
set -euo pipefail
|
|
7
|
+
DEPLOY="$1"
|
|
8
|
+
|
|
9
|
+
STATUS=$(vercel inspect "$DEPLOY" --json 2>/dev/null | jq -r '.readyState // "UNKNOWN"')
|
|
10
|
+
|
|
11
|
+
case "$STATUS" in
|
|
12
|
+
READY)
|
|
13
|
+
URL=$(vercel inspect "$DEPLOY" --json | jq -r '.alias[0] // .url')
|
|
14
|
+
HTTP=$(curl -sIm 30 "https://$URL" 2>/dev/null | head -1 | awk '{print $2}')
|
|
15
|
+
case "$HTTP" in
|
|
16
|
+
200|301|302|401) echo "OK $URL ($HTTP)"; exit 0 ;;
|
|
17
|
+
*) echo "FAIL: HTTP $HTTP for $URL"; exit 1 ;;
|
|
18
|
+
esac
|
|
19
|
+
;;
|
|
20
|
+
BUILDING|QUEUED|INITIALIZING)
|
|
21
|
+
echo "PENDING: build still in progress ($STATUS)"
|
|
22
|
+
exit 2
|
|
23
|
+
;;
|
|
24
|
+
ERROR|CANCELED)
|
|
25
|
+
echo "FAIL: deployment $STATUS"
|
|
26
|
+
exit 1
|
|
27
|
+
;;
|
|
28
|
+
*)
|
|
29
|
+
echo "PENDING: unknown state $STATUS"
|
|
30
|
+
exit 2
|
|
31
|
+
;;
|
|
32
|
+
esac
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Verify a VS Code extension version is on the Marketplace.
|
|
3
|
+
# Usage: verify-vscode-ext.sh <publisher.name> <version>
|
|
4
|
+
# Exit: 0 ok, 1 fail, 2 pending (marketplace lag)
|
|
5
|
+
|
|
6
|
+
set -euo pipefail
|
|
7
|
+
EXT_ID="$1"
|
|
8
|
+
VERSION="$2"
|
|
9
|
+
|
|
10
|
+
RESOLVED=$(npx --yes @vscode/vsce show "$EXT_ID" --json 2>/dev/null | jq -r '.versions[0].version // ""')
|
|
11
|
+
|
|
12
|
+
if [ "$RESOLVED" = "$VERSION" ]; then
|
|
13
|
+
EVENTS=$(npx --yes @vscode/vsce show "$EXT_ID" --json | jq -r '.activationEvents | length // 0')
|
|
14
|
+
[ "$EVENTS" -gt 0 ] || echo "WARN: no activation events declared"
|
|
15
|
+
echo "OK $EXT_ID@$VERSION"
|
|
16
|
+
exit 0
|
|
17
|
+
fi
|
|
18
|
+
|
|
19
|
+
if [ -z "$RESOLVED" ]; then
|
|
20
|
+
echo "FAIL: extension $EXT_ID not found on marketplace"
|
|
21
|
+
exit 1
|
|
22
|
+
fi
|
|
23
|
+
|
|
24
|
+
echo "PENDING: marketplace shows $RESOLVED, expected $VERSION (1-5min propagation lag possible)"
|
|
25
|
+
exit 2
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cli": {
|
|
3
|
+
"version": ">= 5.0.0"
|
|
4
|
+
},
|
|
5
|
+
"build": {
|
|
6
|
+
"development": {
|
|
7
|
+
"developmentClient": true,
|
|
8
|
+
"distribution": "internal",
|
|
9
|
+
"ios": {
|
|
10
|
+
"simulator": false,
|
|
11
|
+
"resourceClass": "m-medium"
|
|
12
|
+
},
|
|
13
|
+
"android": {
|
|
14
|
+
"buildType": "apk"
|
|
15
|
+
},
|
|
16
|
+
"channel": "development"
|
|
17
|
+
},
|
|
18
|
+
"preview": {
|
|
19
|
+
"distribution": "internal",
|
|
20
|
+
"ios": {
|
|
21
|
+
"simulator": false,
|
|
22
|
+
"resourceClass": "m-medium"
|
|
23
|
+
},
|
|
24
|
+
"android": {
|
|
25
|
+
"buildType": "apk"
|
|
26
|
+
},
|
|
27
|
+
"channel": "preview",
|
|
28
|
+
"autoIncrement": "buildNumber"
|
|
29
|
+
},
|
|
30
|
+
"production": {
|
|
31
|
+
"ios": {
|
|
32
|
+
"resourceClass": "m-medium"
|
|
33
|
+
},
|
|
34
|
+
"android": {
|
|
35
|
+
"buildType": "app-bundle"
|
|
36
|
+
},
|
|
37
|
+
"channel": "production",
|
|
38
|
+
"autoIncrement": "buildNumber"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"submit": {
|
|
42
|
+
"production": {
|
|
43
|
+
"ios": {
|
|
44
|
+
"appleId": "REPLACE_WITH_APPLE_ID_EMAIL",
|
|
45
|
+
"ascAppId": "REPLACE_WITH_APP_STORE_CONNECT_APP_ID",
|
|
46
|
+
"appleTeamId": "REPLACE_WITH_APPLE_TEAM_ID"
|
|
47
|
+
},
|
|
48
|
+
"android": {
|
|
49
|
+
"serviceAccountKeyPath": "./google-play-service-account.json",
|
|
50
|
+
"track": "internal",
|
|
51
|
+
"releaseStatus": "draft"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"preview": {
|
|
55
|
+
"ios": {
|
|
56
|
+
"appleId": "REPLACE_WITH_APPLE_ID_EMAIL",
|
|
57
|
+
"ascAppId": "REPLACE_WITH_APP_STORE_CONNECT_APP_ID",
|
|
58
|
+
"appleTeamId": "REPLACE_WITH_APPLE_TEAM_ID"
|
|
59
|
+
},
|
|
60
|
+
"android": {
|
|
61
|
+
"serviceAccountKeyPath": "./google-play-service-account.json",
|
|
62
|
+
"track": "internal"
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Railway service configuration
|
|
2
|
+
# Reference: https://docs.railway.app/reference/config-as-code
|
|
3
|
+
|
|
4
|
+
[build]
|
|
5
|
+
builder = "DOCKERFILE"
|
|
6
|
+
dockerfilePath = "Dockerfile"
|
|
7
|
+
|
|
8
|
+
[deploy]
|
|
9
|
+
startCommand = "pnpm start"
|
|
10
|
+
healthcheckPath = "/health"
|
|
11
|
+
healthcheckTimeout = 30
|
|
12
|
+
restartPolicyType = "ON_FAILURE"
|
|
13
|
+
restartPolicyMaxRetries = 3
|
|
14
|
+
numReplicas = 1
|
|
15
|
+
sleepApplication = false
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
|
|
3
|
+
"release-type": "node",
|
|
4
|
+
"include-component-in-tag": false,
|
|
5
|
+
"bump-minor-pre-major": true,
|
|
6
|
+
"bump-patch-for-minor-pre-major": false,
|
|
7
|
+
"draft": false,
|
|
8
|
+
"prerelease": false,
|
|
9
|
+
"packages": {
|
|
10
|
+
".": {
|
|
11
|
+
"package-name": "REPLACE_WITH_PACKAGE_NAME",
|
|
12
|
+
"changelog-path": "CHANGELOG.md",
|
|
13
|
+
"release-type": "node",
|
|
14
|
+
"extra-files": []
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://openapi.vercel.sh/vercel.json",
|
|
3
|
+
"framework": "nextjs",
|
|
4
|
+
"buildCommand": "cd ../.. && pnpm turbo build --filter=REPLACE_WITH_APP_NAME",
|
|
5
|
+
"installCommand": "cd ../.. && pnpm install --frozen-lockfile",
|
|
6
|
+
"outputDirectory": ".next",
|
|
7
|
+
"regions": ["iad1"],
|
|
8
|
+
"headers": [
|
|
9
|
+
{
|
|
10
|
+
"source": "/(.*)",
|
|
11
|
+
"headers": [
|
|
12
|
+
{ "key": "X-Frame-Options", "value": "SAMEORIGIN" },
|
|
13
|
+
{ "key": "X-Content-Type-Options", "value": "nosniff" },
|
|
14
|
+
{ "key": "Referrer-Policy", "value": "strict-origin-when-cross-origin" },
|
|
15
|
+
{ "key": "Permissions-Policy", "value": "camera=(), microphone=(), geolocation=()" }
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
.vscode/**
|
|
2
|
+
.vscode-test/**
|
|
3
|
+
src/**
|
|
4
|
+
.gitignore
|
|
5
|
+
.yarnrc
|
|
6
|
+
vsc-extension-quickstart.md
|
|
7
|
+
**/tsconfig.json
|
|
8
|
+
**/.eslintrc.*
|
|
9
|
+
**/eslint.config.*
|
|
10
|
+
**/*.map
|
|
11
|
+
**/*.ts
|
|
12
|
+
node_modules
|
|
13
|
+
.git/**
|
|
14
|
+
*.test.*
|
|
15
|
+
*.spec.*
|
|
16
|
+
**/__tests__/**
|
|
17
|
+
**/__mocks__/**
|
|
18
|
+
.github/**
|
|
19
|
+
.claude/**
|
|
20
|
+
docs/**
|
|
21
|
+
CHANGELOG.md
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
name: changesets
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- REPLACE_WITH_INTEGRATION_BRANCH
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: write
|
|
10
|
+
pull-requests: write
|
|
11
|
+
id-token: write
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
release:
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v4
|
|
18
|
+
with:
|
|
19
|
+
fetch-depth: 0
|
|
20
|
+
|
|
21
|
+
- uses: pnpm/action-setup@v3
|
|
22
|
+
with:
|
|
23
|
+
version: 10
|
|
24
|
+
|
|
25
|
+
- uses: actions/setup-node@v4
|
|
26
|
+
with:
|
|
27
|
+
node-version: 22
|
|
28
|
+
cache: pnpm
|
|
29
|
+
registry-url: https://registry.npmjs.org
|
|
30
|
+
|
|
31
|
+
- run: pnpm install --frozen-lockfile
|
|
32
|
+
|
|
33
|
+
- uses: changesets/action@v1
|
|
34
|
+
with:
|
|
35
|
+
version: pnpm changeset version
|
|
36
|
+
publish: pnpm changeset publish
|
|
37
|
+
commit: 'chore(release): version packages'
|
|
38
|
+
title: 'chore(release): version packages'
|
|
39
|
+
env:
|
|
40
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
41
|
+
NPM_CONFIG_PROVENANCE: 'true'
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
name: EAS Build + Submit
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'mobile-v*.*.*'
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
inputs:
|
|
9
|
+
profile:
|
|
10
|
+
type: choice
|
|
11
|
+
description: Build profile
|
|
12
|
+
options: [preview, production]
|
|
13
|
+
default: preview
|
|
14
|
+
platform:
|
|
15
|
+
type: choice
|
|
16
|
+
description: Platform
|
|
17
|
+
options: [all, ios, android]
|
|
18
|
+
default: all
|
|
19
|
+
|
|
20
|
+
jobs:
|
|
21
|
+
build:
|
|
22
|
+
runs-on: ubuntu-latest
|
|
23
|
+
steps:
|
|
24
|
+
- uses: actions/checkout@v4
|
|
25
|
+
|
|
26
|
+
- uses: pnpm/action-setup@v3
|
|
27
|
+
with:
|
|
28
|
+
version: 10
|
|
29
|
+
|
|
30
|
+
- uses: actions/setup-node@v4
|
|
31
|
+
with:
|
|
32
|
+
node-version: 22
|
|
33
|
+
cache: pnpm
|
|
34
|
+
|
|
35
|
+
- uses: expo/expo-github-action@v8
|
|
36
|
+
with:
|
|
37
|
+
eas-version: latest
|
|
38
|
+
token: ${{ secrets.EXPO_TOKEN }}
|
|
39
|
+
|
|
40
|
+
- run: pnpm install --frozen-lockfile
|
|
41
|
+
|
|
42
|
+
- name: EAS Build
|
|
43
|
+
run: |
|
|
44
|
+
cd apps/mobile
|
|
45
|
+
eas build --profile ${{ inputs.profile || 'preview' }} \
|
|
46
|
+
--platform ${{ inputs.platform || 'all' }} \
|
|
47
|
+
--non-interactive --no-wait
|
|
48
|
+
|
|
49
|
+
- name: EAS Submit (production only)
|
|
50
|
+
if: inputs.profile == 'production'
|
|
51
|
+
run: |
|
|
52
|
+
cd apps/mobile
|
|
53
|
+
eas submit --platform ${{ inputs.platform || 'all' }} --latest --non-interactive
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
name: npm publish
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v*.*.*'
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
|
|
9
|
+
permissions:
|
|
10
|
+
contents: read
|
|
11
|
+
id-token: write # required for OIDC trusted publishing
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
publish:
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
environment: release
|
|
17
|
+
steps:
|
|
18
|
+
- uses: actions/checkout@v4
|
|
19
|
+
with:
|
|
20
|
+
fetch-depth: 0
|
|
21
|
+
|
|
22
|
+
- uses: pnpm/action-setup@v3
|
|
23
|
+
with:
|
|
24
|
+
version: 10
|
|
25
|
+
|
|
26
|
+
- uses: actions/setup-node@v4
|
|
27
|
+
with:
|
|
28
|
+
node-version: 22
|
|
29
|
+
cache: pnpm
|
|
30
|
+
registry-url: https://registry.npmjs.org
|
|
31
|
+
|
|
32
|
+
- run: pnpm install --frozen-lockfile
|
|
33
|
+
- run: pnpm build
|
|
34
|
+
- run: pnpm publint
|
|
35
|
+
- run: pnpm attw --pack
|
|
36
|
+
- run: npm publish --provenance --access public
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
name: release-please
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- REPLACE_WITH_INTEGRATION_BRANCH
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: write
|
|
10
|
+
pull-requests: write
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
release-please:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
steps:
|
|
16
|
+
- uses: googleapis/release-please-action@v4
|
|
17
|
+
with:
|
|
18
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
19
|
+
release-type: node
|
|
20
|
+
config-file: release-please-config.json
|
|
21
|
+
manifest-file: .release-please-manifest.json
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
name: Release Desktop App
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v*.*.*'
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
release:
|
|
10
|
+
permissions:
|
|
11
|
+
contents: write
|
|
12
|
+
strategy:
|
|
13
|
+
fail-fast: false
|
|
14
|
+
matrix:
|
|
15
|
+
include:
|
|
16
|
+
- platform: macos-14 # Apple Silicon
|
|
17
|
+
target: aarch64-apple-darwin
|
|
18
|
+
- platform: macos-13 # Intel
|
|
19
|
+
target: x86_64-apple-darwin
|
|
20
|
+
|
|
21
|
+
runs-on: ${{ matrix.platform }}
|
|
22
|
+
|
|
23
|
+
steps:
|
|
24
|
+
- uses: actions/checkout@v4
|
|
25
|
+
|
|
26
|
+
- uses: pnpm/action-setup@v3
|
|
27
|
+
with:
|
|
28
|
+
version: 10
|
|
29
|
+
|
|
30
|
+
- uses: actions/setup-node@v4
|
|
31
|
+
with:
|
|
32
|
+
node-version: 22
|
|
33
|
+
cache: pnpm
|
|
34
|
+
|
|
35
|
+
- uses: dtolnay/rust-toolchain@stable
|
|
36
|
+
with:
|
|
37
|
+
targets: ${{ matrix.target }}
|
|
38
|
+
|
|
39
|
+
- uses: swatinem/rust-cache@v2
|
|
40
|
+
with:
|
|
41
|
+
workspaces: apps/desktop/src-tauri
|
|
42
|
+
|
|
43
|
+
- run: pnpm install --frozen-lockfile
|
|
44
|
+
|
|
45
|
+
- name: Write Apple API key to file
|
|
46
|
+
run: |
|
|
47
|
+
mkdir -p ~/private_keys
|
|
48
|
+
echo "$APPLE_API_KEY_CONTENT" > ~/private_keys/AuthKey.p8
|
|
49
|
+
env:
|
|
50
|
+
APPLE_API_KEY_CONTENT: ${{ secrets.APPLE_API_KEY_CONTENT }}
|
|
51
|
+
|
|
52
|
+
- uses: tauri-apps/tauri-action@v0
|
|
53
|
+
env:
|
|
54
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
55
|
+
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
|
|
56
|
+
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
|
|
57
|
+
APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
|
|
58
|
+
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
|
|
59
|
+
APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }}
|
|
60
|
+
APPLE_API_ISSUER: ${{ secrets.APPLE_API_ISSUER }}
|
|
61
|
+
APPLE_API_KEY: ${{ secrets.APPLE_API_KEY }}
|
|
62
|
+
APPLE_API_KEY_PATH: ~/private_keys/AuthKey.p8
|
|
63
|
+
with:
|
|
64
|
+
projectPath: apps/desktop
|
|
65
|
+
tagName: ${{ github.ref_name }}
|
|
66
|
+
releaseName: 'REPLACE_WITH_APP_NAME ${{ github.ref_name }}'
|
|
67
|
+
releaseDraft: false
|
|
68
|
+
prerelease: false
|
|
69
|
+
args: --target ${{ matrix.target }}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
name: VS Code Marketplace publish
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'vscode-v*.*.*'
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
publish:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v4
|
|
14
|
+
|
|
15
|
+
- uses: pnpm/action-setup@v3
|
|
16
|
+
with:
|
|
17
|
+
version: 10
|
|
18
|
+
|
|
19
|
+
- uses: actions/setup-node@v4
|
|
20
|
+
with:
|
|
21
|
+
node-version: 22
|
|
22
|
+
cache: pnpm
|
|
23
|
+
|
|
24
|
+
- run: pnpm install --frozen-lockfile
|
|
25
|
+
- run: pnpm --filter REPLACE_WITH_EXT_NAME build
|
|
26
|
+
- name: Publish to Marketplace
|
|
27
|
+
env:
|
|
28
|
+
VSCE_PAT: ${{ secrets.VSCE_PAT }}
|
|
29
|
+
run: |
|
|
30
|
+
cd apps/vscode
|
|
31
|
+
npx @vscode/vsce publish --no-yarn
|