@1aboveio/skills 0.10.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/LICENSE +3 -0
- package/README.md +90 -0
- package/bin/1aboveio-skills.mjs +18 -0
- package/package.json +28 -0
- package/runtime/skills/distribution/generated/recipes.json +1189 -0
- package/runtime/skills/distribution/scripts/bundles.mjs +280 -0
- package/runtime/skills/engineering/engineering-runtime/scripts/main-module.mjs +80 -0
- package/skills/backend/airflow-dag-develop/LICENSE +3 -0
- package/skills/backend/airflow-dag-develop/SKILL.md +111 -0
- package/skills/backend/app-debug/LICENSE +3 -0
- package/skills/backend/app-debug/SKILL.md +109 -0
- package/skills/backend/app-debug/references/common-errors.md +128 -0
- package/skills/backend/python-backend/LICENSE +3 -0
- package/skills/backend/python-backend/SKILL.md +326 -0
- package/skills/cicd-pipeline/cloud-build/LICENSE +3 -0
- package/skills/cicd-pipeline/cloud-build/SKILL.md +707 -0
- package/skills/cicd-pipeline/cloud-debug/LICENSE +3 -0
- package/skills/cicd-pipeline/cloud-debug/SKILL.md +316 -0
- package/skills/cicd-pipeline/cloud-debug/references/build-failures.md +238 -0
- package/skills/cicd-pipeline/cloud-debug/references/deploy-failures.md +376 -0
- package/skills/cicd-pipeline/cloud-debug/references/pipeline-failures.md +378 -0
- package/skills/cicd-pipeline/cloud-deploy/LICENSE +3 -0
- package/skills/cicd-pipeline/cloud-deploy/SKILL.md +229 -0
- package/skills/cicd-pipeline/cloud-deploy/references/config-templates.md +257 -0
- package/skills/cicd-pipeline/docker/LICENSE +3 -0
- package/skills/cicd-pipeline/docker/SKILL.md +126 -0
- package/skills/cicd-pipeline/google-cloud/LICENSE +3 -0
- package/skills/cicd-pipeline/google-cloud/SKILL.md +118 -0
- package/skills/cicd-pipeline/google-cloud/references/gcs.md +469 -0
- package/skills/cicd-pipeline/google-cloud/references/iam.md +451 -0
- package/skills/cicd-pipeline/google-cloud/references/project.md +349 -0
- package/skills/cicd-pipeline/google-cloud/references/secrets.md +336 -0
- package/skills/cicd-pipeline/google-cloud/references/vpc.md +312 -0
- package/skills/cicd-pipeline/google-cloud/scripts/create-sa.sh +36 -0
- package/skills/cicd-pipeline/google-cloud/scripts/gcp-config.sh +31 -0
- package/skills/cicd-pipeline/google-cloud/scripts/grant-iap.sh +41 -0
- package/skills/cicd-pipeline/google-cloud/scripts/setup-secrets.sh +48 -0
- package/skills/cicd-pipeline/mergify/LICENSE +3 -0
- package/skills/cicd-pipeline/mergify/SKILL.md +138 -0
- package/skills/cicd-pipeline/mergify/assets/templates/mergify.yml +237 -0
- package/skills/cicd-pipeline/mergify/assets/templates/ruleset.json +46 -0
- package/skills/cicd-pipeline/mergify/references/branch-protection.md +277 -0
- package/skills/cicd-pipeline/mergify/references/configuration.md +183 -0
- package/skills/cicd-pipeline/mergify/references/diagnosis.md +73 -0
- package/skills/cicd-pipeline/mergify/references/traps.md +78 -0
- package/skills/cicd-pipeline/mergify/references/watch-contract.md +218 -0
- package/skills/cicd-pipeline/mergify/scripts/audit-core.mjs +131 -0
- package/skills/cicd-pipeline/mergify/scripts/audit.mjs +4 -0
- package/skills/cicd-pipeline/mergify/scripts/watch-pr-delivery-core.mjs +663 -0
- package/skills/cicd-pipeline/mergify/scripts/watch-pr-delivery.mjs +4 -0
- package/skills/cicd-pipeline/podman/LICENSE +3 -0
- package/skills/cicd-pipeline/podman/SKILL.md +70 -0
- package/skills/cicd-pipeline/podman/agents/openai.yaml +4 -0
- package/skills/cicd-pipeline/podman/assets/templates/podman-compose-socket-directory.yml +6 -0
- package/skills/cicd-pipeline/podman/assets/templates/podman-service-override.conf +3 -0
- package/skills/cicd-pipeline/podman/references/compose-compatibility.md +70 -0
- package/skills/cicd-pipeline/podman/references/networking-and-ports.md +74 -0
- package/skills/cicd-pipeline/podman/references/rootless-services-and-sockets.md +156 -0
- package/skills/cicd-pipeline/podman/references/troubleshooting.md +98 -0
- package/skills/engineering/e2e-test/LICENSE +3 -0
- package/skills/engineering/e2e-test/SKILL.md +156 -0
- package/skills/engineering/e2e-test/assets/ci-gates.cloudbuild.yaml +272 -0
- package/skills/engineering/e2e-test/assets/ci-gates.github.yml +451 -0
- package/skills/engineering/e2e-test/assets/e2e-workflow.yml +282 -0
- package/skills/engineering/e2e-test/references/authoring/auth-flows.md +159 -0
- package/skills/engineering/e2e-test/references/authoring/playwright-config.md +71 -0
- package/skills/engineering/e2e-test/references/authoring/playwright-patterns.md +219 -0
- package/skills/engineering/e2e-test/references/authoring/test-skipping.md +44 -0
- package/skills/engineering/e2e-test/references/ci-integration.md +121 -0
- package/skills/engineering/e2e-test/references/ci-playwright-container.md +280 -0
- package/skills/engineering/e2e-test/references/debugging.md +36 -0
- package/skills/engineering/e2e-test/references/presentation-sweep.md +131 -0
- package/skills/engineering/e2e-test/references/reviewing.md +39 -0
- package/skills/engineering/e2e-test/references/route-discovery.md +50 -0
- package/skills/engineering/e2e-test/references/route-manifest.md +44 -0
- package/skills/engineering/e2e-test/scripts/detect-routes-fastapi.py +290 -0
- package/skills/engineering/e2e-test/scripts/detect-routes-nextjs.mjs +200 -0
- package/skills/engineering/e2e-test/scripts/post-visual-evidence.mjs +158 -0
- package/skills/engineering/e2e-test/scripts/presentation-checks.mjs +171 -0
- package/skills/engineering/e2e-test/scripts/presentation-perceivability.mjs +179 -0
- package/skills/engineering/e2e-test/scripts/presentation-reachability.mjs +154 -0
- package/skills/engineering/e2e-test/scripts/presentation-render-health.mjs +141 -0
- package/skills/engineering/e2e-test/scripts/presentation-sweep.mjs +148 -0
- package/skills/engineering/e2e-test/scripts/presentation-temporal.mjs +127 -0
- package/skills/engineering/e2e-test/scripts/presentation-visual.mjs +84 -0
- package/skills/engineering/e2e-test/scripts/project-route-manifest.mjs +75 -0
- package/skills/engineering/e2e-test/scripts/validate-manifest.mjs +106 -0
- package/skills/engineering/engineering-runtime/LICENSE +3 -0
- package/skills/engineering/engineering-runtime/SKILL.md +10 -0
- package/skills/engineering/engineering-runtime/agents/openai.yaml +6 -0
- package/skills/engineering/engineering-runtime/coherence/workflow.json +553 -0
- package/skills/engineering/engineering-runtime/scripts/exact-head-artifact.mjs +131 -0
- package/skills/engineering/engineering-runtime/scripts/head-check-set.mjs +398 -0
- package/skills/engineering/engineering-runtime/scripts/main-module.mjs +80 -0
- package/skills/engineering/engineering-runtime/scripts/mergify-yaml.mjs +11 -0
- package/skills/engineering/engineering-runtime/scripts/package-lock.json +43 -0
- package/skills/engineering/engineering-runtime/scripts/package.json +10 -0
- package/skills/engineering/engineering-runtime/scripts/required-check-plan.mjs +223 -0
- package/skills/engineering/engineering-runtime/scripts/workflow-coherence.mjs +576 -0
- package/skills/engineering/engineering-runtime/scripts/workflow-policy.mjs +166 -0
- package/skills/engineering/ensure-coverage/LICENSE +3 -0
- package/skills/engineering/ensure-coverage/SKILL.md +136 -0
- package/skills/engineering/ensure-coverage/evals/evals.json +125 -0
- package/skills/engineering/ensure-coverage/references/breadth/coverage-ledger.md +91 -0
- package/skills/engineering/ensure-coverage/references/breadth/inventory-contract.md +83 -0
- package/skills/engineering/ensure-coverage/references/breadth/surface-baseline.md +44 -0
- package/skills/engineering/ensure-coverage/references/breadth/surface-discovery.md +16 -0
- package/skills/engineering/ensure-coverage/references/depth/characterization.md +68 -0
- package/skills/engineering/ensure-coverage/references/depth/coverage.config.example.json +25 -0
- package/skills/engineering/ensure-coverage/references/depth/grading.md +35 -0
- package/skills/engineering/ensure-coverage/references/depth/mock-policy.md +87 -0
- package/skills/engineering/ensure-coverage/references/depth/test-smells.md +23 -0
- package/skills/engineering/ensure-coverage/references/enforcement/ci-contract.md +164 -0
- package/skills/engineering/ensure-coverage/references/enforcement/hooks.md +85 -0
- package/skills/engineering/ensure-coverage/references/examples/coverage-ledger.md +109 -0
- package/skills/engineering/ensure-coverage/references/examples/refund-flow.md +33 -0
- package/skills/engineering/ensure-coverage/references/presentation/axis.md +78 -0
- package/skills/engineering/ensure-coverage/references/presentation/runner-contract.md +74 -0
- package/skills/engineering/ensure-coverage/references/process/audit-mode.md +33 -0
- package/skills/engineering/ensure-coverage/references/process/output-template.md +139 -0
- package/skills/engineering/ensure-coverage/references/process/review-contract-template.md +119 -0
- package/skills/engineering/ensure-coverage/references/process/scope-class.md +178 -0
- package/skills/engineering/ensure-coverage/references/process/test-strategy.md +55 -0
- package/skills/engineering/ensure-coverage/schemas/coverage-config.schema.json +45 -0
- package/skills/engineering/ensure-coverage/schemas/coverage-file.schema.json +93 -0
- package/skills/engineering/ensure-coverage/scripts/adapters/nextjs-inventory.mjs +178 -0
- package/skills/engineering/ensure-coverage/scripts/check-quarantine-expiry.mjs +101 -0
- package/skills/engineering/ensure-coverage/scripts/ci-audit.mjs +358 -0
- package/skills/engineering/ensure-coverage/scripts/coverage-checklist.mjs +494 -0
- package/skills/engineering/ensure-coverage/scripts/coverage-ledger.mjs +663 -0
- package/skills/engineering/ensure-coverage/scripts/design-parity.mjs +591 -0
- package/skills/engineering/ensure-coverage/scripts/evidence-block.mjs +367 -0
- package/skills/engineering/ensure-coverage/scripts/lint-tests.mjs +269 -0
- package/skills/engineering/ensure-coverage/scripts/mock-policy-config.mjs +176 -0
- package/skills/engineering/ensure-coverage/scripts/package-lock.json +76 -0
- package/skills/engineering/ensure-coverage/scripts/package.json +19 -0
- package/skills/engineering/ensure-coverage/scripts/scope-class.mjs +554 -0
- package/skills/engineering/harness-runtime/LICENSE +3 -0
- package/skills/engineering/harness-runtime/SKILL.md +18 -0
- package/skills/engineering/harness-runtime/agents/openai.yaml +6 -0
- package/skills/engineering/harness-runtime/bin/discover-models.mjs +4 -0
- package/skills/engineering/harness-runtime/bin/model-catalog.mjs +4 -0
- package/skills/engineering/harness-runtime/contracts.md +15 -0
- package/skills/engineering/harness-runtime/discover-models.mjs +392 -0
- package/skills/engineering/harness-runtime/fixtures/native-question-schemas.json +33 -0
- package/skills/engineering/harness-runtime/fixtures/question-responses.json +54 -0
- package/skills/engineering/harness-runtime/index.mjs +767 -0
- package/skills/engineering/harness-runtime/model-catalog.mjs +787 -0
- package/skills/engineering/harness-runtime/native-question-contracts.md +37 -0
- package/skills/engineering/harness-runtime/references/model-catalog-seed.json +159 -0
- package/skills/engineering/harness-runtime/references/model-catalog.md +57 -0
- package/skills/engineering/implement-and-pr/LICENSE +3 -0
- package/skills/engineering/implement-and-pr/SKILL.md +176 -0
- package/skills/engineering/implement-and-pr/references/ci-iteration.md +10 -0
- package/skills/engineering/implement-and-pr/references/closeout.md +27 -0
- package/skills/engineering/implement-and-pr/references/contract-complete-fix-rounds.md +34 -0
- package/skills/engineering/implement-and-pr/references/evidence-rules.md +39 -0
- package/skills/engineering/implement-and-pr/references/incremental-plan.md +16 -0
- package/skills/engineering/implement-and-pr/references/self-review.md +23 -0
- package/skills/engineering/implement-and-pr/references/tdd-mode.md +18 -0
- package/skills/engineering/resolve-issues/LICENSE +3 -0
- package/skills/engineering/resolve-issues/SKILL.md +167 -0
- package/skills/engineering/resolve-issues/generated/workflow-repair-policy.json +448 -0
- package/skills/engineering/resolve-issues/references/breaker.md +82 -0
- package/skills/engineering/resolve-issues/references/deliverables.md +27 -0
- package/skills/engineering/resolve-issues/references/delivery.md +108 -0
- package/skills/engineering/resolve-issues/references/evidence-lane.md +21 -0
- package/skills/engineering/resolve-issues/references/exact-head-ci.md +287 -0
- package/skills/engineering/resolve-issues/references/fan-out.md +33 -0
- package/skills/engineering/resolve-issues/references/finalization.md +68 -0
- package/skills/engineering/resolve-issues/references/guarantees.md +10 -0
- package/skills/engineering/resolve-issues/references/high-risk.md +29 -0
- package/skills/engineering/resolve-issues/references/incidents/848/README.md +156 -0
- package/skills/engineering/resolve-issues/references/intake.md +86 -0
- package/skills/engineering/resolve-issues/references/integration-gate.md +53 -0
- package/skills/engineering/resolve-issues/references/interference.md +87 -0
- package/skills/engineering/resolve-issues/references/loop.md +134 -0
- package/skills/engineering/resolve-issues/references/model-catalog.md +9 -0
- package/skills/engineering/resolve-issues/references/postmortem.md +27 -0
- package/skills/engineering/resolve-issues/references/pre-flight-model-slots.md +41 -0
- package/skills/engineering/resolve-issues/references/pre-flight-recording-and-checkout.md +48 -0
- package/skills/engineering/resolve-issues/references/pre-flight.md +41 -0
- package/skills/engineering/resolve-issues/references/regression-checklist.md +26 -0
- package/skills/engineering/resolve-issues/references/run-state.md +288 -0
- package/skills/engineering/resolve-issues/references/sandboxed-testing.md +48 -0
- package/skills/engineering/resolve-issues/references/spawn-contract.md +96 -0
- package/skills/engineering/resolve-issues/references/terminal-evidence-journal.md +40 -0
- package/skills/engineering/resolve-issues/references/why.md +653 -0
- package/skills/engineering/resolve-issues/schemas/fix-round.schema.json +49 -0
- package/skills/engineering/resolve-issues/scripts/combine-and-verify.mjs +721 -0
- package/skills/engineering/resolve-issues/scripts/component-candidate.mjs +962 -0
- package/skills/engineering/resolve-issues/scripts/contract-revision.mjs +220 -0
- package/skills/engineering/resolve-issues/scripts/detect-delivery-mode.mjs +420 -0
- package/skills/engineering/resolve-issues/scripts/detect-target-branch.mjs +256 -0
- package/skills/engineering/resolve-issues/scripts/detect-workspace-mode.mjs +168 -0
- package/skills/engineering/resolve-issues/scripts/discover-models.mjs +9 -0
- package/skills/engineering/resolve-issues/scripts/doctrine.mjs +62 -0
- package/skills/engineering/resolve-issues/scripts/evidence-lifecycle-contract.mjs +191 -0
- package/skills/engineering/resolve-issues/scripts/exact-head-ci.mjs +413 -0
- package/skills/engineering/resolve-issues/scripts/exact-head-github-provider.mjs +332 -0
- package/skills/engineering/resolve-issues/scripts/finalize.mjs +488 -0
- package/skills/engineering/resolve-issues/scripts/fix-rounds.mjs +3307 -0
- package/skills/engineering/resolve-issues/scripts/fixtures/evidence-lifecycle-circular-1001.json +16 -0
- package/skills/engineering/resolve-issues/scripts/fixtures/evidence-lifecycle-valid-sequencing.json +51 -0
- package/skills/engineering/resolve-issues/scripts/fixtures/fmm-express-830-component-candidate.json +17 -0
- package/skills/engineering/resolve-issues/scripts/fixtures/head-check-set-1081.json +166 -0
- package/skills/engineering/resolve-issues/scripts/gate-value-series.mjs +92 -0
- package/skills/engineering/resolve-issues/scripts/guide-index.mjs +73 -0
- package/skills/engineering/resolve-issues/scripts/head-check-set.mjs +159 -0
- package/skills/engineering/resolve-issues/scripts/interference.mjs +427 -0
- package/skills/engineering/resolve-issues/scripts/model-catalog.mjs +9 -0
- package/skills/engineering/resolve-issues/scripts/next-operations.mjs +419 -0
- package/skills/engineering/resolve-issues/scripts/postmortem.mjs +909 -0
- package/skills/engineering/resolve-issues/scripts/preflight-questions.mjs +322 -0
- package/skills/engineering/resolve-issues/scripts/reconcile-contained-unit-prs.mjs +415 -0
- package/skills/engineering/resolve-issues/scripts/release-state-contract.mjs +697 -0
- package/skills/engineering/resolve-issues/scripts/report.mjs +494 -0
- package/skills/engineering/resolve-issues/scripts/required-check-plan.mjs +172 -0
- package/skills/engineering/resolve-issues/scripts/round-metadata.mjs +79 -0
- package/skills/engineering/resolve-issues/scripts/run-state-review6-cases.mjs +334 -0
- package/skills/engineering/resolve-issues/scripts/run-state.mjs +4784 -0
- package/skills/engineering/resolve-issues/scripts/sandbox-selftest.mjs +395 -0
- package/skills/engineering/resolve-issues/scripts/spawn-contract.mjs +290 -0
- package/skills/engineering/resolve-issues/scripts/terminal-dispositions.mjs +170 -0
- package/skills/engineering/resolve-issues/scripts/terminal-evidence-journal.mjs +293 -0
- package/skills/engineering/resolve-issues/scripts/unit-kind.mjs +197 -0
- package/skills/engineering/resolve-issues/scripts/unit-lifecycle.mjs +127 -0
- package/skills/engineering/resolve-issues/scripts/watch-delivery.mjs +893 -0
- package/skills/engineering/resolve-issues/scripts/workspaces.mjs +829 -0
- package/skills/engineering/resolve-issues/workflows/independent-review.workflow.js +290 -0
- package/skills/engineering/resolve-issues/workflows/prior-art-scan.workflow.js +80 -0
- package/skills/engineering/resolve-issues/workflows/workflow-smoke.mjs +102 -0
- package/skills/engineering/resolve-release/LICENSE +3 -0
- package/skills/engineering/resolve-release/SKILL.md +112 -0
- package/skills/engineering/resolve-release/references/assembly.md +137 -0
- package/skills/engineering/resolve-release/references/auto-when-green.md +56 -0
- package/skills/engineering/resolve-release/references/candidate.md +167 -0
- package/skills/engineering/resolve-release/references/exposure.md +178 -0
- package/skills/engineering/resolve-release/references/handoff.md +24 -0
- package/skills/engineering/resolve-release/references/postmortem.md +230 -0
- package/skills/engineering/resolve-release/references/preflight.md +207 -0
- package/skills/engineering/resolve-release/references/principles.md +94 -0
- package/skills/engineering/resolve-release/references/regression-checklist.md +36 -0
- package/skills/engineering/resolve-release/references/related-skills.md +12 -0
- package/skills/engineering/resolve-release/references/routing.md +149 -0
- package/skills/engineering/resolve-release/references/verified-sha-github-flow.md +285 -0
- package/skills/engineering/resolve-release/references/versioning.md +202 -0
- package/skills/engineering/resolve-release/references/why.md +53 -0
- package/skills/engineering/resolve-release/scripts/adapter-completion-artifact.mjs +389 -0
- package/skills/engineering/resolve-release/scripts/build-changes.mjs +209 -0
- package/skills/engineering/resolve-release/scripts/candidate-hygiene.mjs +407 -0
- package/skills/engineering/resolve-release/scripts/candidate-identity.mjs +904 -0
- package/skills/engineering/resolve-release/scripts/candidate-traffic.mjs +81 -0
- package/skills/engineering/resolve-release/scripts/checked-adapter-loader.mjs +612 -0
- package/skills/engineering/resolve-release/scripts/close-attempt.mjs +135 -0
- package/skills/engineering/resolve-release/scripts/closeout-release.mjs +161 -0
- package/skills/engineering/resolve-release/scripts/doctrine.mjs +106 -0
- package/skills/engineering/resolve-release/scripts/durable-processing.mjs +522 -0
- package/skills/engineering/resolve-release/scripts/ensure-target-green.mjs +659 -0
- package/skills/engineering/resolve-release/scripts/evidence-bundle.mjs +1014 -0
- package/skills/engineering/resolve-release/scripts/finalize-release.mjs +526 -0
- package/skills/engineering/resolve-release/scripts/fixtures/durable-processing-adapter.mjs +169 -0
- package/skills/engineering/resolve-release/scripts/green-gate.mjs +599 -0
- package/skills/engineering/resolve-release/scripts/isolated-adapter-evaluator.mjs +752 -0
- package/skills/engineering/resolve-release/scripts/metadata-pr-status.mjs +56 -0
- package/skills/engineering/resolve-release/scripts/metadata-sync.mjs +1538 -0
- package/skills/engineering/resolve-release/scripts/postmortem.mjs +381 -0
- package/skills/engineering/resolve-release/scripts/preflight-probes.mjs +498 -0
- package/skills/engineering/resolve-release/scripts/production-endpoints.mjs +326 -0
- package/skills/engineering/resolve-release/scripts/rc-circuit-breaker.mjs +272 -0
- package/skills/engineering/resolve-release/scripts/report.mjs +417 -0
- package/skills/engineering/resolve-release/scripts/reprobe-credentials.mjs +114 -0
- package/skills/engineering/resolve-release/scripts/revalidate-candidate.mjs +238 -0
- package/skills/engineering/resolve-release/scripts/review-packet.mjs +503 -0
- package/skills/engineering/resolve-release/scripts/rollback-floor.mjs +263 -0
- package/skills/engineering/resolve-release/scripts/version-assert.mjs +339 -0
- package/skills/engineering/resolve-release/scripts/version-postmortem.mjs +485 -0
- package/skills/engineering/resolve-release/scripts/version.mjs +1199 -0
- package/skills/engineering/resolve-release/scripts/watch-candidate-delivery.mjs +449 -0
- package/skills/engineering/resolve-release/vendor/ACORN-LICENSE +21 -0
- package/skills/engineering/resolve-release/vendor/README.md +60 -0
- package/skills/engineering/resolve-release/vendor/acorn.mjs +6233 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/LICENSE +21 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/README.md +341 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/README.template.md +70 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/chunk-TAV5CUKK.mjs +2 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/chunk-TAV5CUKK.mjs.map +1 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/chunk-V2S4ZYJR.mjs +7 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/chunk-V2S4ZYJR.mjs.map +1 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/index.d.mts +2033 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/index.d.ts +2033 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/index.js +7 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/index.js.map +1 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/index.mjs +2 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/index.mjs.map +1 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/module-ES6BEMUI.mjs +2 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/module-ES6BEMUI.mjs.map +1 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/module-asyncify-2EFITU5U.mjs +2 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/dist/module-asyncify-2EFITU5U.mjs.map +1 -0
- package/skills/engineering/resolve-release/vendor/quickjs/core/package.json +49 -0
- package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/LICENSE +21 -0
- package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/README.md +5 -0
- package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/dist/index.d.mts +549 -0
- package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/dist/index.d.ts +549 -0
- package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/dist/index.js +2 -0
- package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/dist/index.js.map +1 -0
- package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/dist/index.mjs +2 -0
- package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/dist/index.mjs.map +1 -0
- package/skills/engineering/resolve-release/vendor/quickjs/ffi-types/package.json +36 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/LICENSE +47 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/README.md +82 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/emscripten-module.browser.d.ts +11 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/emscripten-module.browser.mjs +22 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/emscripten-module.cjs +21 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/emscripten-module.cloudflare.cjs +21 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/emscripten-module.cloudflare.d.ts +11 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/emscripten-module.d.ts +11 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/emscripten-module.mjs +25 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/emscripten-module.wasm +0 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/ffi.d.mts +85 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/ffi.d.ts +85 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/ffi.js +2 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/ffi.js.map +1 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/ffi.mjs +2 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/ffi.mjs.map +1 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/index.d.mts +20 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/index.d.ts +20 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/index.js +2 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/index.js.map +1 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/index.mjs +2 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/dist/index.mjs.map +1 -0
- package/skills/engineering/resolve-release/vendor/quickjs/release-sync/package.json +61 -0
- package/skills/engineering/review-pr/LICENSE +3 -0
- package/skills/engineering/review-pr/SKILL.md +123 -0
- package/skills/engineering/review-pr/references/adversarial-reviewer-prompt.md +42 -0
- package/skills/engineering/review-pr/references/code-correctness.md +5 -0
- package/skills/engineering/review-pr/references/contract-freshness.md +9 -0
- package/skills/engineering/review-pr/references/coordination.md +18 -0
- package/skills/engineering/review-pr/references/domain-hazards.md +123 -0
- package/skills/engineering/review-pr/references/finding-themes.md +7 -0
- package/skills/engineering/review-pr/references/github-posting.md +98 -0
- package/skills/engineering/review-pr/references/golden-path-smoke.md +5 -0
- package/skills/engineering/review-pr/references/incremental-output.md +16 -0
- package/skills/engineering/review-pr/references/inputs-and-discovery.md +31 -0
- package/skills/engineering/review-pr/references/output-format.md +99 -0
- package/skills/engineering/review-pr/references/over-mock-screen.md +7 -0
- package/skills/engineering/review-pr/references/promotion-prs.md +16 -0
- package/skills/engineering/review-pr/references/re-review.md +18 -0
- package/skills/engineering/review-pr/references/review-method.md +199 -0
- package/skills/engineering/review-pr/references/review-mode.md +30 -0
- package/skills/engineering/review-pr/references/review-posture.md +53 -0
- package/skills/engineering/review-pr/references/round1-depth.md +62 -0
- package/skills/engineering/review-pr/references/scripts.md +17 -0
- package/skills/engineering/review-pr/references/workflow.md +16 -0
- package/skills/engineering/review-pr/schemas/findings.schema.json +282 -0
- package/skills/engineering/review-pr/scripts/finding-contract.mjs +285 -0
- package/skills/engineering/review-pr/scripts/post-review.mjs +405 -0
- package/skills/engineering/review-pr/scripts/pr-context.mjs +207 -0
- package/skills/engineering/review-pr/scripts/scan-diff.mjs +365 -0
- package/skills/engineering/review-pr/scripts/theme-contract.mjs +57 -0
- package/skills/engineering/smoke/LICENSE +3 -0
- package/skills/engineering/smoke/SKILL.md +131 -0
- package/skills/engineering/smoke/assets/smoke.manifest.example.json +53 -0
- package/skills/engineering/smoke/references/manifest.md +192 -0
- package/skills/engineering/smoke/scripts/smoke.mjs +713 -0
- package/skills/fullstack/better-auth/LICENSE +3 -0
- package/skills/fullstack/better-auth/SKILL.md +601 -0
- package/skills/fullstack/better-auth/references/feishu-api.md +270 -0
- package/skills/fullstack/monorepo/LICENSE +3 -0
- package/skills/fullstack/monorepo/SKILL.md +465 -0
- package/skills/fullstack/nextjs-fullstack/LICENSE +3 -0
- package/skills/fullstack/nextjs-fullstack/SKILL.md +210 -0
- package/skills/fullstack/nextjs-fullstack/conventions.md +318 -0
- package/skills/fullstack/nextjs-fullstack/frontend-conventions.md +61 -0
- package/skills/fullstack/nextjs-fullstack/nextjs16.md +287 -0
- package/skills/fullstack/nextjs-fullstack/server-actions.md +409 -0
- package/skills/fullstack/prisma-setup/LICENSE +3 -0
- package/skills/fullstack/prisma-setup/SKILL.md +180 -0
- package/skills/fullstack/prisma-setup/nextjs.md +258 -0
- package/skills/fullstack/prisma-setup/turborepo.md +301 -0
- package/skills/fullstack/shadcn/LICENSE +3 -0
- package/skills/fullstack/shadcn/SKILL.md +119 -0
- package/skills/fullstack/shadcn/assets/shadcn-small.png +0 -0
- package/skills/fullstack/shadcn/assets/shadcn.png +0 -0
- package/skills/fullstack/shadcn/cli.md +411 -0
- package/skills/fullstack/shadcn/customization.md +224 -0
- package/skills/fullstack/shadcn/evals/evals.json +90 -0
- package/skills/fullstack/shadcn/mcp.md +101 -0
- package/skills/fullstack/shadcn/rules/base-vs-radix.md +323 -0
- package/skills/fullstack/shadcn/rules/component-selection.md +67 -0
- package/skills/fullstack/shadcn/rules/composition.md +195 -0
- package/skills/fullstack/shadcn/rules/data-table.md +201 -0
- package/skills/fullstack/shadcn/rules/forms.md +255 -0
- package/skills/fullstack/shadcn/rules/icons.md +103 -0
- package/skills/fullstack/shadcn/rules/styling.md +167 -0
- package/skills/fullstack/zod-v4/LICENSE +3 -0
- package/skills/fullstack/zod-v4/SKILL.md +287 -0
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
# Project Management
|
|
2
|
+
|
|
3
|
+
Project metadata, quotas, billing, and resource management for $YOUR_ORG GCP infrastructure.
|
|
4
|
+
|
|
5
|
+
## Project Configuration
|
|
6
|
+
|
|
7
|
+
| Field | Value |
|
|
8
|
+
|-------|-------|
|
|
9
|
+
| Project ID | `$PROJECT_ID` |
|
|
10
|
+
| Project Number | `$PROJECT_NUMBER` |
|
|
11
|
+
| Display Name | `$YOUR_ORG Dev` |
|
|
12
|
+
| Region | `us-central1` |
|
|
13
|
+
| Organization | `$YOUR_ORG (if applicable)` |
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Project Information
|
|
18
|
+
|
|
19
|
+
### Describe Project
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
gcloud projects describe $PROJECT_NUMBER
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Get Project Details (specific fields)
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
# Project ID
|
|
29
|
+
gcloud projects describe $PROJECT_NUMBER --format="value(projectId)"
|
|
30
|
+
|
|
31
|
+
# Project number
|
|
32
|
+
gcloud projects describe $PROJECT_NUMBER --format="value(projectNumber)"
|
|
33
|
+
|
|
34
|
+
# Lifecycle state
|
|
35
|
+
gcloud projects describe $PROJECT_NUMBER --format="value(lifecycleState)"
|
|
36
|
+
|
|
37
|
+
# Creation time
|
|
38
|
+
gcloud projects describe $PROJECT_NUMBER --format="value(createTime)"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Set Default Project
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
gcloud config set project $PROJECT_ID
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Enabled APIs
|
|
50
|
+
|
|
51
|
+
### List Enabled APIs
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# All enabled
|
|
55
|
+
gcloud services list --enabled
|
|
56
|
+
|
|
57
|
+
# Filter by name
|
|
58
|
+
gcloud services list --enabled --filter="name:cloudrun"
|
|
59
|
+
gcloud services list --enabled --filter="name:sql"
|
|
60
|
+
gcloud services list --enabled --filter="name:secretmanager"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Check if API is Enabled
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
gcloud services list --enabled --filter="name:run.googleapis.com"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Enable API
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
gcloud services enable run.googleapis.com --project=$PROJECT_ID
|
|
73
|
+
gcloud services enable secretmanager.googleapis.com --project=$PROJECT_ID
|
|
74
|
+
gcloud services enable cloudsql.googleapis.com --project=$PROJECT_ID
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Disable API
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
gcloud services disable run.googleapis.com --project=$PROJECT_ID
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Quotas
|
|
86
|
+
|
|
87
|
+
### List Quotas
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# All quotas for a service
|
|
91
|
+
gcloud compute project-info describe --project=$PROJECT_ID
|
|
92
|
+
|
|
93
|
+
# Filter for specific quota
|
|
94
|
+
gcloud compute project-info describe \
|
|
95
|
+
--project=$PROJECT_ID \
|
|
96
|
+
--flatten="quotas[]" \
|
|
97
|
+
--filter="quotas.metric:cpus"
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Request Quota Increase
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
gcloud compute regions describe us-central1 \
|
|
104
|
+
--project=$PROJECT_ID \
|
|
105
|
+
--format="table(quotas:format='table(metric,limit,usage)')"
|
|
106
|
+
|
|
107
|
+
# Request via console or:
|
|
108
|
+
# https://console.cloud.google.com/iam-admin/quotas
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Billing
|
|
114
|
+
|
|
115
|
+
### Get Billing Info
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
# Billing account linked to project
|
|
119
|
+
gcloud projects describe $PROJECT_NUMBER \
|
|
120
|
+
--format="value(labels[goog-cb-org-id],labels[goog-cc-org-name])"
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Set Billing Account
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
gcloud beta billing projects link $PROJECT_ID \
|
|
127
|
+
--billing-account=$BILLING_ACCOUNT_ID
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Service Accounts
|
|
133
|
+
|
|
134
|
+
### List All Service Accounts
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
gcloud iam service-accounts list --project=$PROJECT_ID
|
|
138
|
+
|
|
139
|
+
# Format as table
|
|
140
|
+
gcloud iam service-accounts list \
|
|
141
|
+
--project=$PROJECT_ID \
|
|
142
|
+
--format="table(displayName,email)"
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Get Default SA Emails
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
# Compute SA
|
|
149
|
+
COMPUTE_SA="${PROJECT_NUMBER}-compute@developer.gserviceaccount.com"
|
|
150
|
+
|
|
151
|
+
# Cloud Build SA
|
|
152
|
+
CLOUDBUILD_SA="${PROJECT_NUMBER}@cloudbuild.gserviceaccount.com"
|
|
153
|
+
|
|
154
|
+
# Cloud Run SA
|
|
155
|
+
CLOUDRUN_SA="${PROJECT_NUMBER}-run@developer.gserviceaccount.com"
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Resource Inventory
|
|
161
|
+
|
|
162
|
+
### List Cloud Run Services
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
gcloud run services list --region=us-central1
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### List Cloud Run Jobs
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
gcloud run jobs list --region=us-central1
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### List Cloud SQL Instances
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
gcloud sql instances list
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### List Cloud Build Triggers
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
gcloud builds triggers list --region=us-central1
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### List Cloud Deploy Pipelines
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
gcloud deploy delivery-pipelines list --region=us-central1
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### List Cloud Functions
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
gcloud functions list --region=us-central1
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### List GCS Buckets
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
gcloud storage ls
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Labels Management
|
|
207
|
+
|
|
208
|
+
### Project-Level Labels
|
|
209
|
+
|
|
210
|
+
```bash
|
|
211
|
+
# Add/Update label
|
|
212
|
+
gcloud projects update $PROJECT_ID \
|
|
213
|
+
--update-labels=env=dev,team=platform
|
|
214
|
+
|
|
215
|
+
# Remove label
|
|
216
|
+
gcloud projects update $PROJECT_ID \
|
|
217
|
+
--remove-labels=old-label
|
|
218
|
+
|
|
219
|
+
# List labels
|
|
220
|
+
gcloud projects describe $PROJECT_ID --format="value(labels)"
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
### Filter by Label
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
# Cloud Run services with env=dev
|
|
227
|
+
gcloud run services list --region=us-central1 \
|
|
228
|
+
--filter="metadata.labels.env:dev"
|
|
229
|
+
|
|
230
|
+
# Cloud SQL instances with team=platform
|
|
231
|
+
gcloud sql instances list \
|
|
232
|
+
--filter="labels.team:platform"
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Organization Policies
|
|
238
|
+
|
|
239
|
+
### Describe Organization Policies
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
# List constraints
|
|
243
|
+
gcloud org-policies list --project=$PROJECT_ID
|
|
244
|
+
|
|
245
|
+
# Describe specific policy
|
|
246
|
+
gcloud org-policies describe constraints/iam.allowedPolicyMemberDomains \
|
|
247
|
+
--project=$PROJECT_ID
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### Reset Policy
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
gcloud org-policies reset constraints/iam.allowedPolicyMemberDomains \
|
|
254
|
+
--project=$PROJECT_ID
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## Cost and Usage
|
|
260
|
+
|
|
261
|
+
### View Cost Breakdown
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
# Using gcloud (limited)
|
|
265
|
+
gcloud billing budgets list --billing-account=$ACCOUNT_ID
|
|
266
|
+
|
|
267
|
+
# View in console:
|
|
268
|
+
# https://console.cloud.google.com/billing/budgets
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### Export Billing to BigQuery
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
# Set up billing export (one-time, via console)
|
|
275
|
+
# https://console.cloud.google.com/billing/export
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## Useful Queries
|
|
281
|
+
|
|
282
|
+
### Count Resources by Type
|
|
283
|
+
|
|
284
|
+
```bash
|
|
285
|
+
# Cloud Run services
|
|
286
|
+
gcloud run services list --region=us-central1 --format="value(name)" | wc -l
|
|
287
|
+
|
|
288
|
+
# Cloud Run jobs
|
|
289
|
+
gcloud run jobs list --region=us-central1 --format="value(name)" | wc -l
|
|
290
|
+
|
|
291
|
+
# Cloud SQL instances
|
|
292
|
+
gcloud sql instances list --format="value(name)" | wc -l
|
|
293
|
+
|
|
294
|
+
# GCS buckets
|
|
295
|
+
gcloud storage ls | wc -l
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
### Find Old Resources
|
|
299
|
+
|
|
300
|
+
```bash
|
|
301
|
+
# Cloud Run services older than 90 days
|
|
302
|
+
gcloud run services list --region=us-central1 \
|
|
303
|
+
--sort-by=metadata.name
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
### Find Large Resources
|
|
307
|
+
|
|
308
|
+
```bash
|
|
309
|
+
# Cloud SQL instances by tier
|
|
310
|
+
gcloud sql instances list \
|
|
311
|
+
--format="table(name,settings.tier,region)"
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
316
|
+
## Project Cleanup
|
|
317
|
+
|
|
318
|
+
### Find Unused Resources
|
|
319
|
+
|
|
320
|
+
```bash
|
|
321
|
+
# Cloud Run services with 0 revisions
|
|
322
|
+
gcloud run services list --region=us-central1 \
|
|
323
|
+
--filter="spec.revisionSpec.revisionTemplate.spec.containerConcurrency=0"
|
|
324
|
+
|
|
325
|
+
# GCS buckets not modified in 30 days
|
|
326
|
+
gcloud storage ls --format="json(buckets)" | \
|
|
327
|
+
jq '.[] | select(.timeCreated < (now - 2592000 | strftime("%Y-%m-%d")))'
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
### Delete Old Snapshots
|
|
331
|
+
|
|
332
|
+
```bash
|
|
333
|
+
gcloud compute snapshots list --filter="creationTimestamp<$(date -d '90 days ago' +%Y-%m-%d)"
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
## Quick Reference
|
|
339
|
+
|
|
340
|
+
### Common Service Endpoints
|
|
341
|
+
|
|
342
|
+
| Service | Endpoint |
|
|
343
|
+
|---------|----------|
|
|
344
|
+
| Cloud Run | `https://console.cloud.google.com/run` |
|
|
345
|
+
| Cloud SQL | `https://console.cloud.google.com/sql` |
|
|
346
|
+
| Secret Manager | `https://console.cloud.google.com/security/secret-manager` |
|
|
347
|
+
| IAM | `https://console.cloud.google.com/iam-admin/iam` |
|
|
348
|
+
| Billing | `https://console.cloud.google.com/billing` |
|
|
349
|
+
| Resource Manager | `https://console.cloud.google.com/resource-manager` |
|
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
# Secret Manager
|
|
2
|
+
|
|
3
|
+
Securely store and access secrets, API keys, and sensitive configuration.
|
|
4
|
+
|
|
5
|
+
## Project Configuration
|
|
6
|
+
|
|
7
|
+
| Field | Value |
|
|
8
|
+
|-------|-------|
|
|
9
|
+
| Project ID | `$PROJECT_ID` |
|
|
10
|
+
| Project Number | `$PROJECT_NUMBER` |
|
|
11
|
+
|
|
12
|
+
## Secret Operations
|
|
13
|
+
|
|
14
|
+
### List Secrets
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# All secrets
|
|
18
|
+
gcloud secrets list --project=$PROJECT_ID
|
|
19
|
+
|
|
20
|
+
# With labels
|
|
21
|
+
gcloud secrets list \
|
|
22
|
+
--filter="labels.env:dev" \
|
|
23
|
+
--project=$PROJECT_ID
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Create Secret
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# Create with automatic replication
|
|
30
|
+
gcloud secrets create $SECRET_NAME \
|
|
31
|
+
--replication-policy="automatic" \
|
|
32
|
+
--project=$PROJECT_ID
|
|
33
|
+
|
|
34
|
+
# Create with user-managed replication
|
|
35
|
+
gcloud secrets create $SECRET_NAME \
|
|
36
|
+
--replication-policy="user-managed" \
|
|
37
|
+
--locations="us-central1" \
|
|
38
|
+
--project=$PROJECT_ID
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Describe Secret
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
gcloud secrets describe $SECRET_NAME --project=$PROJECT_ID
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Delete Secret
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
gcloud secrets delete $SECRET_NAME --project=$PROJECT_ID
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Version Operations
|
|
56
|
+
|
|
57
|
+
### Add Version (from string)
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
echo -n "$SECRET_VALUE" | \
|
|
61
|
+
gcloud secrets versions add $SECRET_NAME \
|
|
62
|
+
--data-file=- \
|
|
63
|
+
--project=$PROJECT_ID
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Add Version (from file)
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
gcloud secrets versions add $SECRET_NAME \
|
|
70
|
+
--data-file=/path/to/file \
|
|
71
|
+
--project=$PROJECT_ID
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### List Versions
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
gcloud secrets versions list $SECRET_NAME --project=$PROJECT_ID
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Access Latest Version
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
gcloud secrets versions access latest \
|
|
84
|
+
--secret=$SECRET_NAME \
|
|
85
|
+
--project=$PROJECT_ID
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Access Specific Version
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
gcloud secrets versions access $VERSION \
|
|
92
|
+
--secret=$SECRET_NAME \
|
|
93
|
+
--project=$PROJECT_ID
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Disable Version
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
gcloud secrets versions disable $VERSION \
|
|
100
|
+
--secret=$SECRET_NAME \
|
|
101
|
+
--project=$PROJECT_ID
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Destroy Version
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
gcloud secrets versions destroy $VERSION \
|
|
108
|
+
--secret=$SECRET_NAME \
|
|
109
|
+
--project=$PROJECT_ID
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## IAM Access
|
|
115
|
+
|
|
116
|
+
### Grant SA Access to Secret
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
gcloud secrets add-iam-policy-binding $SECRET_NAME \
|
|
120
|
+
--member="serviceAccount:$SA_EMAIL" \
|
|
121
|
+
--role="roles/secretmanager.secretAccessor" \
|
|
122
|
+
--project=$PROJECT_ID
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### Grant User Access to Secret
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
gcloud secrets add-iam-policy-binding $SECRET_NAME \
|
|
129
|
+
--member="user:$EMAIL" \
|
|
130
|
+
--role="roles/secretmanager.secretAccessor" \
|
|
131
|
+
--project=$PROJECT_ID
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### Grant Admin Access
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
gcloud secrets add-iam-policy-binding $SECRET_NAME \
|
|
138
|
+
--member="serviceAccount:$SA_EMAIL" \
|
|
139
|
+
--role="roles/secretmanager.admin" \
|
|
140
|
+
--project=$PROJECT_ID
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Check IAM Policy
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
gcloud secrets get-iam-policy $SECRET_NAME --project=$PROJECT_ID
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Common Patterns
|
|
152
|
+
|
|
153
|
+
### Database Connection String (per environment)
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
# Dev
|
|
157
|
+
echo -n "postgresql://user:pass@host/dev-db" | \
|
|
158
|
+
gcloud secrets versions add database-url-dev --data-file=-
|
|
159
|
+
|
|
160
|
+
# Staging
|
|
161
|
+
echo -n "postgresql://user:pass@host/staging-db" | \
|
|
162
|
+
gcloud secrets versions add database-url-staging --data-file=-
|
|
163
|
+
|
|
164
|
+
# Production
|
|
165
|
+
echo -n "postgresql://user:pass@host/prod-db" | \
|
|
166
|
+
gcloud secrets versions add database-url-prod --data-file=-
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### API Key
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
gcloud secrets create api-key-$SERVICE --replication-policy="automatic"
|
|
173
|
+
echo -n "$API_KEY" | gcloud secrets versions add api-key-$SERVICE --data-file=-
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### Generate Random Secret
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
# Generate 32-byte hex key
|
|
180
|
+
openssl rand -hex 32 | \
|
|
181
|
+
gcloud secrets versions add $SECRET_NAME --data-file=-
|
|
182
|
+
|
|
183
|
+
# Generate base64 key
|
|
184
|
+
openssl rand -base64 32 | \
|
|
185
|
+
gcloud secrets versions add $SECRET_NAME --data-file=-
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### Environment-Specific Secrets Setup Script
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
#!/bin/bash
|
|
192
|
+
set -e
|
|
193
|
+
PROJECT=$PROJECT_ID
|
|
194
|
+
SERVICE=my-service
|
|
195
|
+
|
|
196
|
+
for ENV in dev staging prod; do
|
|
197
|
+
echo "Creating secrets for $ENV..."
|
|
198
|
+
|
|
199
|
+
# Database URL
|
|
200
|
+
gcloud secrets create ${SERVICE}-database-url-${ENV} \
|
|
201
|
+
--replication-policy="automatic" \
|
|
202
|
+
--project=$PROJECT 2>/dev/null || true
|
|
203
|
+
echo -n "$DB_URL" | \
|
|
204
|
+
gcloud secrets versions add ${SERVICE}-database-url-${ENV} \
|
|
205
|
+
--data-file=- \
|
|
206
|
+
--project=$PROJECT
|
|
207
|
+
|
|
208
|
+
# API Key
|
|
209
|
+
gcloud secrets create ${SERVICE}-api-key-${ENV} \
|
|
210
|
+
--replication-policy="automatic" \
|
|
211
|
+
--project=$PROJECT 2>/dev/null || true
|
|
212
|
+
echo -n "$API_KEY" | \
|
|
213
|
+
gcloud secrets versions add ${SERVICE}-api-key-${ENV} \
|
|
214
|
+
--data-file=- \
|
|
215
|
+
--project=$PROJECT
|
|
216
|
+
done
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## Cloud Run Integration
|
|
222
|
+
|
|
223
|
+
### Deploy with Secrets
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
gcloud run deploy $SERVICE \
|
|
227
|
+
--image=$IMAGE \
|
|
228
|
+
--region=us-central1 \
|
|
229
|
+
--set-secrets=DATABASE_URL=database-url:latest,API_KEY=api-key:latest
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
### Update Secrets on Service
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
gcloud run services update $SERVICE \
|
|
236
|
+
--region=us-central1 \
|
|
237
|
+
--set-secrets=DATABASE_URL=database-url:latest
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### Mount Secret as Volume
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
gcloud run services update $SERVICE \
|
|
244
|
+
--region=us-central1 \
|
|
245
|
+
--set-volumes=secret-volume=secret-name:latest,/mnt/secrets
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## Cloud Run Job Integration
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
# Create job with secrets
|
|
254
|
+
gcloud run jobs create $JOB \
|
|
255
|
+
--image=$IMAGE \
|
|
256
|
+
--region=us-central1 \
|
|
257
|
+
--set-secrets=ENV_VAR=secret-name:latest
|
|
258
|
+
|
|
259
|
+
# Execute with secrets
|
|
260
|
+
gcloud run jobs execute $JOB \
|
|
261
|
+
--region=us-central1 \
|
|
262
|
+
--set-env-vars=ENV_VAR=secret-name:latest
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
---
|
|
266
|
+
|
|
267
|
+
## Local Development
|
|
268
|
+
|
|
269
|
+
### Access Secret Locally
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
# Using gcloud
|
|
273
|
+
SECRET_VALUE=$(gcloud secrets versions access latest \
|
|
274
|
+
--secret=$SECRET_NAME \
|
|
275
|
+
--project=$PROJECT_ID)
|
|
276
|
+
|
|
277
|
+
# Export to file (secure)
|
|
278
|
+
gcloud secrets versions access latest \
|
|
279
|
+
--secret=$SECRET_NAME \
|
|
280
|
+
--project=$PROJECT_ID > .env.local
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
### Secret Manager Auth (local)
|
|
284
|
+
|
|
285
|
+
```bash
|
|
286
|
+
# Use application default credentials
|
|
287
|
+
gcloud auth application-default login
|
|
288
|
+
|
|
289
|
+
# Or use service account key
|
|
290
|
+
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/key.json
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## Debugging
|
|
296
|
+
|
|
297
|
+
### Check Secret Exists
|
|
298
|
+
|
|
299
|
+
```bash
|
|
300
|
+
gcloud secrets list --filter="name:$SECRET_NAME" --project=$PROJECT_ID
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### Check SA Has Access
|
|
304
|
+
|
|
305
|
+
```bash
|
|
306
|
+
gcloud secrets get-iam-policy $SECRET_NAME --project=$PROJECT_ID | grep $SA_EMAIL
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
### Verify Secret Value
|
|
310
|
+
|
|
311
|
+
```bash
|
|
312
|
+
# Check if secret is accessible
|
|
313
|
+
gcloud secrets versions access latest \
|
|
314
|
+
--secret=$SECRET_NAME \
|
|
315
|
+
--project=$PROJECT_ID | head -c 100
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
---
|
|
319
|
+
|
|
320
|
+
## Labels and Annotations
|
|
321
|
+
|
|
322
|
+
### Add Label to Secret
|
|
323
|
+
|
|
324
|
+
```bash
|
|
325
|
+
gcloud secrets update $SECRET_NAME \
|
|
326
|
+
--project=$PROJECT_ID \
|
|
327
|
+
--update-labels=env=dev,team=platform
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
### Add Annotation
|
|
331
|
+
|
|
332
|
+
```bash
|
|
333
|
+
gcloud secrets update $SECRET_NAME \
|
|
334
|
+
--project=$PROJECT_ID \
|
|
335
|
+
--update-annotations=owner=platform-team@company.com
|
|
336
|
+
```
|