cokit-cli 1.0.1 → 1.0.3
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/AGENTS.md +103 -0
- package/README.FLOW.md +237 -0
- package/README.md +153 -94
- package/agents/brainstormer.agent.md +71 -0
- package/agents/code-reviewer.agent.md +128 -0
- package/agents/database-admin.agent.md +91 -0
- package/agents/debugger.agent.md +128 -0
- package/agents/docs-manager.agent.md +121 -0
- package/agents/fullstack-developer.agent.md +96 -0
- package/agents/git-manager.agent.md +392 -0
- package/agents/mcp-manager.agent.md +93 -0
- package/agents/planner.agent.md +94 -0
- package/agents/project-manager.agent.md +124 -0
- package/agents/researcher.agent.md +32 -0
- package/agents/scout-external.agent.md +141 -0
- package/agents/scout.agent.md +107 -0
- package/agents/tester.agent.md +106 -0
- package/agents/ui-ux-designer.agent.md +225 -0
- package/collections/ck-core.collection.yml +30 -0
- package/collections/ck-development-rules.collection.yml +18 -0
- package/collections/ck-documentation.collection.yml +18 -0
- package/collections/ck-git-workflow.collection.yml +18 -0
- package/collections/ck-orchestration.collection.yml +22 -0
- package/collections/ck-ui-design.collection.yml +18 -0
- package/docs/README.md +85 -0
- package/docs/copilot-processing-flow.md +128 -0
- package/instructions/ck-backend.instructions.md +48 -0
- package/instructions/ck-development.instructions.md +40 -0
- package/instructions/ck-frontend-design-pro.instructions.md +58 -0
- package/instructions/ck-frontend.instructions.md +44 -0
- package/instructions/ck-google-adk-python.instructions.md +242 -0
- package/instructions/ck-research.instructions.md +167 -0
- package/instructions/ck-testing.instructions.md +36 -0
- package/package.json +9 -2
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-01-restructure-folders.md +183 -0
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-02-convert-agents.md +206 -0
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-03-convert-commands-to-prompts.md +284 -0
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-04-convert-skills-to-instructions.md +349 -0
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-05-create-collections.md +320 -0
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-06-update-cli-build-scripts.md +450 -0
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/phase-07-update-documentation.md +407 -0
- package/plans/260108-0924-rebuild-cokit-awesome-copilot-format/plan.md +136 -0
- package/prompts/ck-ask.prompt.md +57 -0
- package/prompts/ck-bootstrap-auto-fast.prompt.md +108 -0
- package/prompts/ck-bootstrap-auto-parallel.prompt.md +66 -0
- package/prompts/ck-bootstrap-auto.prompt.md +114 -0
- package/prompts/ck-bootstrap.prompt.md +136 -0
- package/prompts/ck-brainstorm.prompt.md +68 -0
- package/prompts/ck-ck-help.prompt.md +114 -0
- package/prompts/ck-code-auto.prompt.md +171 -0
- package/prompts/ck-code-no-test.prompt.md +159 -0
- package/prompts/ck-code-parallel.prompt.md +56 -0
- package/prompts/ck-code.prompt.md +177 -0
- package/prompts/ck-coding-level.prompt.md +54 -0
- package/prompts/ck-cook-auto-fast.prompt.md +26 -0
- package/prompts/ck-cook-auto-parallel.prompt.md +49 -0
- package/prompts/ck-cook-auto.prompt.md +15 -0
- package/prompts/ck-cook.prompt.md +96 -0
- package/prompts/ck-debug.prompt.md +14 -0
- package/prompts/ck-design-3d.prompt.md +84 -0
- package/prompts/ck-design-describe.prompt.md +24 -0
- package/prompts/ck-design-fast.prompt.md +32 -0
- package/prompts/ck-design-good.prompt.md +36 -0
- package/prompts/ck-design-screenshot.prompt.md +35 -0
- package/prompts/ck-design-video.prompt.md +35 -0
- package/prompts/ck-docs-init.prompt.md +27 -0
- package/prompts/ck-docs-summarize.prompt.md +23 -0
- package/prompts/ck-docs-update.prompt.md +36 -0
- package/prompts/ck-fix-ci.prompt.md +18 -0
- package/prompts/ck-fix-fast.prompt.md +18 -0
- package/prompts/ck-fix-hard.prompt.md +36 -0
- package/prompts/ck-fix-logs.prompt.md +27 -0
- package/prompts/ck-fix-parallel.prompt.md +54 -0
- package/prompts/ck-fix-test.prompt.md +19 -0
- package/prompts/ck-fix-types.prompt.md +11 -0
- package/prompts/ck-fix-ui.prompt.md +49 -0
- package/prompts/ck-fix.prompt.md +44 -0
- package/prompts/ck-git-cm.prompt.md +8 -0
- package/prompts/ck-git-cp.prompt.md +7 -0
- package/prompts/ck-git-merge.prompt.md +41 -0
- package/prompts/ck-git-pr.prompt.md +49 -0
- package/prompts/ck-kanban.prompt.md +77 -0
- package/prompts/ck-plan-archive.prompt.md +58 -0
- package/prompts/ck-plan-ci.prompt.md +34 -0
- package/prompts/ck-plan-cro.prompt.md +66 -0
- package/prompts/ck-plan-fast.prompt.md +67 -0
- package/prompts/ck-plan-hard.prompt.md +89 -0
- package/prompts/ck-plan-parallel.prompt.md +126 -0
- package/prompts/ck-plan-two.prompt.md +43 -0
- package/prompts/ck-plan-validate.prompt.md +118 -0
- package/prompts/ck-plan.prompt.md +29 -1
- package/prompts/ck-preview.prompt.md +65 -0
- package/prompts/ck-review-codebase.prompt.md +44 -0
- package/prompts/ck-scout-ext.prompt.md +35 -0
- package/prompts/ck-scout.prompt.md +25 -0
- package/prompts/ck-skill-add.prompt.md +36 -0
- package/prompts/ck-skill-create.prompt.md +29 -0
- package/prompts/ck-skill-fix-logs.prompt.md +22 -0
- package/prompts/ck-skill-optimize-auto.prompt.md +25 -0
- package/prompts/ck-skill-optimize.prompt.md +34 -0
- package/prompts/ck-skill-plan.prompt.md +46 -0
- package/prompts/ck-test-ui.prompt.md +92 -0
- package/prompts/ck-test.prompt.md +10 -0
- package/prompts/ck-use-mcp.prompt.md +27 -0
- package/prompts/ck-watzup.prompt.md +11 -0
- package/prompts/ck-worktree.prompt.md +127 -0
- package/rules/README.agents.md +55 -0
- package/rules/README.collections.md +78 -0
- package/rules/README.copilot-instructions.md +66 -0
- package/rules/README.instructions.md +73 -0
- package/rules/README.md +39 -0
- package/rules/README.prompts.md +76 -0
- package/rules/README.skills.md +71 -0
- package/skills/ck-ai-artist/SKILL.md +73 -0
- package/skills/ck-ai-artist/references/advanced-techniques.md +184 -0
- package/skills/ck-ai-artist/references/domain-code.md +66 -0
- package/skills/ck-ai-artist/references/domain-data.md +72 -0
- package/skills/ck-ai-artist/references/domain-marketing.md +66 -0
- package/skills/ck-ai-artist/references/domain-patterns.md +33 -0
- package/skills/ck-ai-artist/references/domain-writing.md +68 -0
- package/skills/ck-ai-artist/references/image-prompting.md +141 -0
- package/skills/ck-ai-artist/references/llm-prompting.md +165 -0
- package/skills/ck-ai-artist/references/nano-banana.md +59 -0
- package/skills/ck-ai-artist/references/reasoning-techniques.md +201 -0
- package/skills/ck-backend-development/SKILL.md +93 -0
- package/skills/ck-backend-development/references/backend-api-design.md +495 -0
- package/skills/ck-backend-development/references/backend-architecture.md +454 -0
- package/skills/ck-backend-development/references/backend-authentication.md +338 -0
- package/skills/ck-backend-development/references/backend-code-quality.md +659 -0
- package/skills/ck-backend-development/references/backend-debugging.md +904 -0
- package/skills/ck-backend-development/references/backend-devops.md +494 -0
- package/skills/ck-backend-development/references/backend-mindset.md +387 -0
- package/skills/ck-backend-development/references/backend-performance.md +397 -0
- package/skills/ck-backend-development/references/backend-security.md +290 -0
- package/skills/ck-backend-development/references/backend-technologies.md +256 -0
- package/skills/ck-backend-development/references/backend-testing.md +429 -0
- package/skills/ck-better-auth/SKILL.md +202 -0
- package/skills/ck-better-auth/references/advanced-features.md +553 -0
- package/skills/ck-better-auth/references/database-integration.md +577 -0
- package/skills/ck-better-auth/references/email-password-auth.md +416 -0
- package/skills/ck-better-auth/references/oauth-providers.md +430 -0
- package/skills/ck-better-auth/scripts/.coverage +0 -0
- package/skills/ck-better-auth/scripts/better_auth_init.py +521 -0
- package/skills/ck-better-auth/scripts/requirements.txt +15 -0
- package/skills/ck-better-auth/scripts/tests/.coverage +0 -0
- package/skills/ck-better-auth/scripts/tests/test_better_auth_init.py +421 -0
- package/skills/ck-chrome-devtools/SKILL.md +470 -0
- package/skills/ck-chrome-devtools/references/cdp-domains.md +694 -0
- package/skills/ck-chrome-devtools/references/performance-guide.md +940 -0
- package/skills/ck-chrome-devtools/references/puppeteer-reference.md +953 -0
- package/skills/ck-chrome-devtools/scripts/README.md +272 -0
- package/skills/ck-chrome-devtools/scripts/__tests__/selector.test.js +210 -0
- package/skills/ck-chrome-devtools/scripts/aria-snapshot.js +362 -0
- package/skills/ck-chrome-devtools/scripts/click.js +83 -0
- package/skills/ck-chrome-devtools/scripts/console.js +79 -0
- package/skills/ck-chrome-devtools/scripts/evaluate.js +53 -0
- package/skills/ck-chrome-devtools/scripts/fill.js +76 -0
- package/skills/ck-chrome-devtools/scripts/inject-auth.js +229 -0
- package/skills/ck-chrome-devtools/scripts/install-deps.sh +181 -0
- package/skills/ck-chrome-devtools/scripts/install.sh +83 -0
- package/skills/ck-chrome-devtools/scripts/lib/browser.js +318 -0
- package/skills/ck-chrome-devtools/scripts/lib/selector.js +178 -0
- package/skills/ck-chrome-devtools/scripts/navigate.js +54 -0
- package/skills/ck-chrome-devtools/scripts/network.js +106 -0
- package/skills/ck-chrome-devtools/scripts/package-lock.json +1589 -0
- package/skills/ck-chrome-devtools/scripts/package.json +16 -0
- package/skills/ck-chrome-devtools/scripts/performance.js +149 -0
- package/skills/ck-chrome-devtools/scripts/screenshot.js +198 -0
- package/skills/ck-chrome-devtools/scripts/select-ref.js +131 -0
- package/skills/ck-chrome-devtools/scripts/snapshot.js +135 -0
- package/skills/ck-code-review/SKILL.md +110 -53
- package/skills/ck-code-review/references/code-review-reception.md +182 -49
- package/skills/ck-code-review/references/requesting-code-review.md +105 -0
- package/skills/ck-code-review/references/verification-before-completion.md +111 -58
- package/skills/ck-databases/SKILL.md +231 -0
- package/skills/ck-databases/references/mongodb-aggregation.md +447 -0
- package/skills/ck-databases/references/mongodb-atlas.md +465 -0
- package/skills/ck-databases/references/mongodb-crud.md +408 -0
- package/skills/ck-databases/references/mongodb-indexing.md +442 -0
- package/skills/ck-databases/references/postgresql-administration.md +594 -0
- package/skills/ck-databases/references/postgresql-performance.md +527 -0
- package/skills/ck-databases/references/postgresql-psql-cli.md +467 -0
- package/skills/ck-databases/references/postgresql-queries.md +475 -0
- package/skills/ck-databases/scripts/.coverage +0 -0
- package/skills/ck-databases/scripts/db_backup.py +502 -0
- package/skills/ck-databases/scripts/db_migrate.py +425 -0
- package/skills/ck-databases/scripts/db_performance_check.py +456 -0
- package/skills/ck-databases/scripts/requirements.txt +20 -0
- package/skills/ck-databases/scripts/tests/coverage-db.json +1 -0
- package/skills/ck-databases/scripts/tests/requirements.txt +4 -0
- package/skills/ck-databases/scripts/tests/test_db_backup.py +340 -0
- package/skills/ck-databases/scripts/tests/test_db_migrate.py +277 -0
- package/skills/ck-databases/scripts/tests/test_db_performance_check.py +370 -0
- package/skills/ck-debugging/SKILL.md +55 -43
- package/skills/ck-debugging/references/defense-in-depth.md +124 -0
- package/skills/ck-debugging/references/root-cause-tracing.md +100 -43
- package/skills/ck-debugging/references/systematic-debugging.md +80 -52
- package/skills/ck-debugging/references/verification.md +101 -52
- package/skills/ck-debugging/scripts/find-polluter.sh +63 -0
- package/skills/ck-debugging/scripts/find-polluter.test.md +102 -0
- package/skills/ck-devops/.env.example +76 -0
- package/skills/ck-devops/SKILL.md +283 -0
- package/skills/ck-devops/references/browser-rendering.md +305 -0
- package/skills/ck-devops/references/cloudflare-d1-kv.md +123 -0
- package/skills/ck-devops/references/cloudflare-platform.md +271 -0
- package/skills/ck-devops/references/cloudflare-r2-storage.md +280 -0
- package/skills/ck-devops/references/cloudflare-workers-advanced.md +312 -0
- package/skills/ck-devops/references/cloudflare-workers-apis.md +309 -0
- package/skills/ck-devops/references/cloudflare-workers-basics.md +418 -0
- package/skills/ck-devops/references/docker-basics.md +297 -0
- package/skills/ck-devops/references/docker-compose.md +292 -0
- package/skills/ck-devops/references/gcloud-platform.md +297 -0
- package/skills/ck-devops/references/gcloud-services.md +304 -0
- package/skills/ck-devops/scripts/cloudflare_deploy.py +269 -0
- package/skills/ck-devops/scripts/docker_optimize.py +331 -0
- package/skills/ck-devops/scripts/requirements.txt +20 -0
- package/skills/ck-devops/scripts/tests/requirements.txt +3 -0
- package/skills/ck-devops/scripts/tests/test_cloudflare_deploy.py +285 -0
- package/skills/ck-devops/scripts/tests/test_docker_optimize.py +436 -0
- package/skills/ck-docs-seeker/.env.example +15 -0
- package/skills/ck-docs-seeker/SKILL.md +70 -65
- package/skills/ck-docs-seeker/package.json +25 -0
- package/skills/ck-docs-seeker/references/advanced.md +79 -0
- package/skills/ck-docs-seeker/references/context7-patterns.md +68 -0
- package/skills/ck-docs-seeker/references/errors.md +68 -0
- package/skills/ck-docs-seeker/scripts/analyze-llms-txt.js +211 -0
- package/skills/ck-docs-seeker/scripts/detect-topic.js +172 -0
- package/skills/ck-docs-seeker/scripts/fetch-docs.js +213 -0
- package/skills/ck-docs-seeker/scripts/tests/run-tests.js +72 -0
- package/skills/ck-docs-seeker/scripts/tests/test-analyze-llms.js +119 -0
- package/skills/ck-docs-seeker/scripts/tests/test-detect-topic.js +112 -0
- package/skills/ck-docs-seeker/scripts/tests/test-fetch-docs.js +84 -0
- package/skills/ck-docs-seeker/scripts/utils/env-loader.js +94 -0
- package/skills/ck-docs-seeker/workflows/library-search.md +87 -0
- package/skills/ck-docs-seeker/workflows/repo-analysis.md +91 -0
- package/skills/ck-docs-seeker/workflows/topic-search.md +77 -0
- package/skills/ck-frontend-design/SKILL.md +79 -0
- package/skills/ck-frontend-design/references/analysis-best-practices.md +80 -0
- package/skills/ck-frontend-design/references/analysis-prompts.md +141 -0
- package/skills/ck-frontend-design/references/analysis-techniques.md +118 -0
- package/skills/ck-frontend-design/references/animejs.md +396 -0
- package/skills/ck-frontend-design/references/design-extraction-overview.md +71 -0
- package/skills/ck-frontend-design/references/extraction-best-practices.md +141 -0
- package/skills/ck-frontend-design/references/extraction-output-templates.md +162 -0
- package/skills/ck-frontend-design/references/extraction-prompts.md +127 -0
- package/skills/ck-frontend-design/references/technical-accessibility.md +119 -0
- package/skills/ck-frontend-design/references/technical-best-practices.md +97 -0
- package/skills/ck-frontend-design/references/technical-optimization.md +44 -0
- package/skills/ck-frontend-design/references/technical-overview.md +90 -0
- package/skills/ck-frontend-design/references/technical-workflows.md +150 -0
- package/skills/ck-frontend-design/references/visual-analysis-overview.md +95 -0
- package/skills/ck-frontend-development/SKILL.md +399 -0
- package/skills/ck-frontend-development/resources/common-patterns.md +331 -0
- package/skills/ck-frontend-development/resources/complete-examples.md +872 -0
- package/skills/ck-frontend-development/resources/component-patterns.md +502 -0
- package/skills/ck-frontend-development/resources/data-fetching.md +767 -0
- package/skills/ck-frontend-development/resources/file-organization.md +502 -0
- package/skills/ck-frontend-development/resources/loading-and-error-states.md +501 -0
- package/skills/ck-frontend-development/resources/performance.md +406 -0
- package/skills/ck-frontend-development/resources/routing-guide.md +364 -0
- package/skills/ck-frontend-development/resources/styling-guide.md +428 -0
- package/skills/ck-frontend-development/resources/typescript-standards.md +418 -0
- package/skills/ck-markdown-novel-viewer/SKILL.md +190 -0
- package/skills/ck-markdown-novel-viewer/assets/directory-browser.css +215 -0
- package/skills/ck-markdown-novel-viewer/assets/favicon.png +0 -0
- package/skills/ck-markdown-novel-viewer/assets/novel-theme.css +818 -0
- package/skills/ck-markdown-novel-viewer/assets/reader.js +262 -0
- package/skills/ck-markdown-novel-viewer/assets/template.html +80 -0
- package/skills/ck-markdown-novel-viewer/package.json +15 -0
- package/skills/ck-markdown-novel-viewer/scripts/lib/http-server.cjs +434 -0
- package/skills/ck-markdown-novel-viewer/scripts/lib/markdown-renderer.cjs +272 -0
- package/skills/ck-markdown-novel-viewer/scripts/lib/plan-navigator.cjs +509 -0
- package/skills/ck-markdown-novel-viewer/scripts/lib/port-finder.cjs +48 -0
- package/skills/ck-markdown-novel-viewer/scripts/lib/process-mgr.cjs +150 -0
- package/skills/ck-markdown-novel-viewer/scripts/server.cjs +411 -0
- package/skills/ck-markdown-novel-viewer/scripts/tests/server.test.cjs +283 -0
- package/skills/ck-markdown-novel-viewer/tests/dashboard-assets.test.cjs +340 -0
- package/skills/ck-markdown-novel-viewer/tests/dashboard-renderer.test.cjs +404 -0
- package/skills/ck-markdown-novel-viewer/tests/http-server.test.cjs +271 -0
- package/skills/ck-markdown-novel-viewer/tests/run-tests.cjs +51 -0
- package/skills/ck-markdown-novel-viewer/tests/test-framework.cjs +154 -0
- package/skills/ck-markdown-novel-viewer/tests/verify-xss.cjs +90 -0
- package/skills/ck-mcp-builder/LICENSE.txt +202 -0
- package/skills/ck-mcp-builder/SKILL.md +327 -0
- package/skills/ck-mcp-builder/reference/evaluation.md +602 -0
- package/skills/ck-mcp-builder/reference/mcp_best_practices.md +915 -0
- package/skills/ck-mcp-builder/reference/node_mcp_server.md +916 -0
- package/skills/ck-mcp-builder/reference/python_mcp_server.md +752 -0
- package/skills/ck-mcp-builder/scripts/connections.py +151 -0
- package/skills/ck-mcp-builder/scripts/evaluation.py +373 -0
- package/skills/ck-mcp-builder/scripts/example_evaluation.xml +22 -0
- package/skills/ck-mcp-builder/scripts/requirements.txt +2 -0
- package/skills/ck-mcp-management/README.md +219 -0
- package/skills/ck-mcp-management/SKILL.md +209 -0
- package/skills/ck-mcp-management/assets/tools.json +3146 -0
- package/skills/ck-mcp-management/references/configuration.md +114 -0
- package/skills/ck-mcp-management/references/gemini-cli-integration.md +215 -0
- package/skills/ck-mcp-management/references/mcp-protocol.md +116 -0
- package/skills/ck-mcp-management/scripts/.env.example +10 -0
- package/skills/ck-mcp-management/scripts/cli.ts +195 -0
- package/skills/ck-mcp-management/scripts/dist/analyze-tools.js +70 -0
- package/skills/ck-mcp-management/scripts/dist/cli.js +160 -0
- package/skills/ck-mcp-management/scripts/dist/mcp-client.js +183 -0
- package/skills/ck-mcp-management/scripts/mcp-client.ts +230 -0
- package/skills/ck-mcp-management/scripts/package.json +20 -0
- package/skills/ck-mcp-management/scripts/tsconfig.json +15 -0
- package/skills/ck-media-processing/SKILL.md +90 -0
- package/skills/ck-media-processing/references/common-workflows.md +132 -0
- package/skills/ck-media-processing/references/ffmpeg-encoding.md +358 -0
- package/skills/ck-media-processing/references/ffmpeg-filters.md +503 -0
- package/skills/ck-media-processing/references/ffmpeg-streaming.md +403 -0
- package/skills/ck-media-processing/references/format-compatibility.md +375 -0
- package/skills/ck-media-processing/references/imagemagick-batch.md +612 -0
- package/skills/ck-media-processing/references/imagemagick-editing.md +623 -0
- package/skills/ck-media-processing/references/rmbg-background-removal.md +66 -0
- package/skills/ck-media-processing/references/troubleshooting.md +109 -0
- package/skills/ck-media-processing/scripts/README.md +111 -0
- package/skills/ck-media-processing/scripts/batch-remove-background.sh +124 -0
- package/skills/ck-media-processing/scripts/batch_resize.py +342 -0
- package/skills/ck-media-processing/scripts/media_convert.py +311 -0
- package/skills/ck-media-processing/scripts/remove-background.sh +96 -0
- package/skills/ck-media-processing/scripts/remove-bg-node.js +158 -0
- package/skills/ck-media-processing/scripts/requirements.txt +24 -0
- package/skills/ck-media-processing/scripts/tests/.coverage +0 -0
- package/skills/ck-media-processing/scripts/tests/requirements.txt +2 -0
- package/skills/ck-media-processing/scripts/tests/test_batch_resize.py +372 -0
- package/skills/ck-media-processing/scripts/tests/test_media_convert.py +259 -0
- package/skills/ck-media-processing/scripts/tests/test_video_optimize.py +397 -0
- package/skills/ck-media-processing/scripts/video_optimize.py +414 -0
- package/skills/ck-mobile-development/SKILL.md +210 -0
- package/skills/ck-mobile-development/references/mobile-android.md +604 -0
- package/skills/ck-mobile-development/references/mobile-best-practices.md +545 -0
- package/skills/ck-mobile-development/references/mobile-debugging.md +1089 -0
- package/skills/ck-mobile-development/references/mobile-frameworks.md +465 -0
- package/skills/ck-mobile-development/references/mobile-ios.md +496 -0
- package/skills/ck-mobile-development/references/mobile-mindset.md +544 -0
- package/skills/ck-payment-integration/README.md +185 -0
- package/skills/ck-payment-integration/SKILL.md +116 -0
- package/skills/ck-payment-integration/references/polar/benefits.md +396 -0
- package/skills/ck-payment-integration/references/polar/best-practices.md +482 -0
- package/skills/ck-payment-integration/references/polar/checkouts.md +266 -0
- package/skills/ck-payment-integration/references/polar/overview.md +184 -0
- package/skills/ck-payment-integration/references/polar/products.md +244 -0
- package/skills/ck-payment-integration/references/polar/sdk.md +436 -0
- package/skills/ck-payment-integration/references/polar/subscriptions.md +340 -0
- package/skills/ck-payment-integration/references/polar/webhooks.md +405 -0
- package/skills/ck-payment-integration/references/sepay/api.md +140 -0
- package/skills/ck-payment-integration/references/sepay/best-practices.md +337 -0
- package/skills/ck-payment-integration/references/sepay/overview.md +138 -0
- package/skills/ck-payment-integration/references/sepay/qr-codes.md +228 -0
- package/skills/ck-payment-integration/references/sepay/sdk.md +213 -0
- package/skills/ck-payment-integration/references/sepay/webhooks.md +208 -0
- package/skills/ck-payment-integration/scripts/.env.example +20 -0
- package/skills/ck-payment-integration/scripts/checkout-helper.js +244 -0
- package/skills/ck-payment-integration/scripts/package.json +17 -0
- package/skills/ck-payment-integration/scripts/polar-webhook-verify.js +202 -0
- package/skills/ck-payment-integration/scripts/sepay-webhook-verify.js +193 -0
- package/skills/ck-payment-integration/scripts/test-scripts.js +237 -0
- package/skills/ck-planning/SKILL.md +79 -49
- package/skills/ck-planning/references/codebase-understanding.md +62 -0
- package/skills/ck-planning/references/output-standards.md +127 -0
- package/skills/ck-planning/references/plan-organization.md +122 -60
- package/skills/ck-planning/references/research-phase.md +49 -56
- package/skills/ck-planning/references/solution-design.md +61 -63
- package/skills/ck-problem-solving/SKILL.md +95 -0
- package/skills/ck-problem-solving/references/attribution.md +69 -0
- package/skills/ck-problem-solving/references/collision-zone-thinking.md +79 -0
- package/skills/ck-problem-solving/references/inversion-exercise.md +91 -0
- package/skills/ck-problem-solving/references/meta-pattern-recognition.md +87 -0
- package/skills/ck-problem-solving/references/scale-game.md +95 -0
- package/skills/ck-problem-solving/references/simplification-cascades.md +80 -0
- package/skills/ck-problem-solving/references/when-stuck.md +72 -0
- package/skills/ck-repomix/SKILL.md +247 -0
- package/skills/ck-repomix/references/configuration.md +211 -0
- package/skills/ck-repomix/references/usage-patterns.md +232 -0
- package/skills/ck-repomix/scripts/.coverage +0 -0
- package/skills/ck-repomix/scripts/README.md +179 -0
- package/skills/ck-repomix/scripts/repomix_batch.py +455 -0
- package/skills/ck-repomix/scripts/repos.example.json +15 -0
- package/skills/ck-repomix/scripts/requirements.txt +15 -0
- package/skills/ck-repomix/scripts/tests/test_repomix_batch.py +531 -0
- package/skills/ck-sequential-thinking/.env.example +8 -0
- package/skills/ck-sequential-thinking/README.md +183 -0
- package/skills/ck-sequential-thinking/SKILL.md +14 -2
- package/skills/ck-sequential-thinking/package.json +31 -0
- package/skills/ck-sequential-thinking/references/advanced-strategies.md +79 -0
- package/skills/ck-sequential-thinking/references/advanced-techniques.md +2 -14
- package/skills/ck-sequential-thinking/references/core-patterns.md +8 -0
- package/skills/ck-sequential-thinking/references/examples-api.md +88 -0
- package/skills/ck-sequential-thinking/references/examples-architecture.md +94 -0
- package/skills/ck-sequential-thinking/references/examples-debug.md +90 -0
- package/skills/ck-sequential-thinking/scripts/format-thought.js +159 -0
- package/skills/ck-sequential-thinking/scripts/process-thought.js +236 -0
- package/skills/ck-sequential-thinking/tests/format-thought.test.js +133 -0
- package/skills/ck-sequential-thinking/tests/process-thought.test.js +215 -0
- package/skills/ck-shopify/README.md +66 -0
- package/skills/ck-shopify/SKILL.md +319 -0
- package/skills/ck-shopify/references/app-development.md +470 -0
- package/skills/ck-shopify/references/extensions.md +493 -0
- package/skills/ck-shopify/references/themes.md +498 -0
- package/skills/ck-shopify/scripts/.coverage +0 -0
- package/skills/ck-shopify/scripts/requirements.txt +19 -0
- package/skills/ck-shopify/scripts/shopify_init.py +423 -0
- package/skills/ck-shopify/scripts/tests/.coverage +0 -0
- package/skills/ck-shopify/scripts/tests/test_shopify_init.py +385 -0
- package/skills/ck-skill-creator/LICENSE.txt +202 -0
- package/skills/ck-skill-creator/SKILL.md +265 -0
- package/skills/ck-skill-creator/scripts/init_skill.py +303 -0
- package/skills/ck-skill-creator/scripts/package_skill.py +110 -0
- package/skills/ck-skill-creator/scripts/quick_validate.py +65 -0
- package/skills/ck-threejs/SKILL.md +87 -0
- package/skills/ck-threejs/references/01-getting-started.md +177 -0
- package/skills/ck-threejs/references/02-loaders.md +169 -0
- package/skills/ck-threejs/references/03-textures.md +170 -0
- package/skills/ck-threejs/references/04-cameras.md +195 -0
- package/skills/ck-threejs/references/05-lights.md +183 -0
- package/skills/ck-threejs/references/06-animations.md +214 -0
- package/skills/ck-threejs/references/07-math.md +260 -0
- package/skills/ck-threejs/references/08-interaction.md +267 -0
- package/skills/ck-threejs/references/09-postprocessing.md +240 -0
- package/skills/ck-threejs/references/10-controls.md +259 -0
- package/skills/ck-threejs/references/11-materials-advanced.md +270 -0
- package/skills/ck-threejs/references/12-performance.md +269 -0
- package/skills/ck-threejs/references/13-node-materials.md +298 -0
- package/skills/ck-threejs/references/14-physics-vr.md +304 -0
- package/skills/ck-threejs/references/15-specialized-loaders.md +333 -0
- package/skills/ck-threejs/references/16-webgpu.md +302 -0
- package/skills/ck-ui-styling/LICENSE.txt +202 -0
- package/skills/ck-ui-styling/SKILL.md +319 -0
- package/skills/ck-ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/skills/ck-ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/skills/ck-ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/skills/ck-ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/skills/ck-ui-styling/references/canvas-design-system.md +320 -0
- package/skills/ck-ui-styling/references/shadcn-accessibility.md +471 -0
- package/skills/ck-ui-styling/references/shadcn-components.md +424 -0
- package/skills/ck-ui-styling/references/shadcn-theming.md +373 -0
- package/skills/ck-ui-styling/references/tailwind-customization.md +483 -0
- package/skills/ck-ui-styling/references/tailwind-responsive.md +382 -0
- package/skills/ck-ui-styling/references/tailwind-utilities.md +455 -0
- package/skills/ck-ui-styling/scripts/.coverage +0 -0
- package/skills/ck-ui-styling/scripts/requirements.txt +17 -0
- package/skills/ck-ui-styling/scripts/shadcn_add.py +292 -0
- package/skills/ck-ui-styling/scripts/tailwind_config_gen.py +456 -0
- package/skills/ck-ui-styling/scripts/tests/coverage-ui.json +1 -0
- package/skills/ck-ui-styling/scripts/tests/requirements.txt +3 -0
- package/skills/ck-ui-styling/scripts/tests/test_shadcn_add.py +266 -0
- package/skills/ck-ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -0
- package/skills/ck-ui-ux-pro-max/SKILL.md +227 -0
- package/skills/ck-ui-ux-pro-max/data/charts.csv +26 -0
- package/skills/ck-ui-ux-pro-max/data/colors.csv +97 -0
- package/skills/ck-ui-ux-pro-max/data/landing.csv +31 -0
- package/skills/ck-ui-ux-pro-max/data/products.csv +97 -0
- package/skills/ck-ui-ux-pro-max/data/prompts.csv +24 -0
- package/skills/ck-ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/skills/ck-ui-ux-pro-max/data/stacks/html-tailwind.csv +51 -0
- package/skills/ck-ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/skills/ck-ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/skills/ck-ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/skills/ck-ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/skills/ck-ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/skills/ck-ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/skills/ck-ui-ux-pro-max/data/styles.csv +59 -0
- package/skills/ck-ui-ux-pro-max/data/typography.csv +58 -0
- package/skills/ck-ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/skills/ck-ui-ux-pro-max/scripts/core.py +236 -0
- package/skills/ck-ui-ux-pro-max/scripts/search.py +76 -0
- package/skills/ck-web-frameworks/SKILL.md +322 -0
- package/skills/ck-web-frameworks/references/nextjs-app-router.md +465 -0
- package/skills/ck-web-frameworks/references/nextjs-data-fetching.md +459 -0
- package/skills/ck-web-frameworks/references/nextjs-optimization.md +511 -0
- package/skills/ck-web-frameworks/references/nextjs-server-components.md +495 -0
- package/skills/ck-web-frameworks/references/remix-icon-integration.md +603 -0
- package/skills/ck-web-frameworks/references/turborepo-caching.md +551 -0
- package/skills/ck-web-frameworks/references/turborepo-pipelines.md +517 -0
- package/skills/ck-web-frameworks/references/turborepo-setup.md +542 -0
- package/skills/ck-web-frameworks/scripts/.coverage +0 -0
- package/skills/ck-web-frameworks/scripts/__init__.py +0 -0
- package/skills/ck-web-frameworks/scripts/nextjs_init.py +547 -0
- package/skills/ck-web-frameworks/scripts/requirements.txt +16 -0
- package/skills/ck-web-frameworks/scripts/tests/coverage-web.json +1 -0
- package/skills/ck-web-frameworks/scripts/tests/requirements.txt +3 -0
- package/skills/ck-web-frameworks/scripts/tests/test_nextjs_init.py +319 -0
- package/skills/ck-web-frameworks/scripts/tests/test_turborepo_migrate.py +374 -0
- package/skills/ck-web-frameworks/scripts/turborepo_migrate.py +394 -0
- package/src/commands/init.js +61 -30
- package/src/utils/paths.js +35 -4
|
@@ -0,0 +1,467 @@
|
|
|
1
|
+
# PostgreSQL psql CLI
|
|
2
|
+
|
|
3
|
+
Command-line interface for PostgreSQL: connection, meta-commands, scripting, and interactive usage.
|
|
4
|
+
|
|
5
|
+
## Connection
|
|
6
|
+
|
|
7
|
+
### Basic Connection
|
|
8
|
+
```bash
|
|
9
|
+
# Connect to database
|
|
10
|
+
psql -U username -d database -h hostname -p 5432
|
|
11
|
+
|
|
12
|
+
# Connect using URI
|
|
13
|
+
psql postgresql://username:password@hostname:5432/database
|
|
14
|
+
|
|
15
|
+
# Environment variables
|
|
16
|
+
export PGUSER=postgres
|
|
17
|
+
export PGPASSWORD=mypassword
|
|
18
|
+
export PGHOST=localhost
|
|
19
|
+
export PGPORT=5432
|
|
20
|
+
export PGDATABASE=mydb
|
|
21
|
+
psql
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### Password File (~/.pgpass)
|
|
25
|
+
```bash
|
|
26
|
+
# Format: hostname:port:database:username:password
|
|
27
|
+
# chmod 600 ~/.pgpass
|
|
28
|
+
localhost:5432:mydb:postgres:mypassword
|
|
29
|
+
*.example.com:5432:*:appuser:apppass
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### SSL Connection
|
|
33
|
+
```bash
|
|
34
|
+
# Require SSL
|
|
35
|
+
psql "host=hostname sslmode=require user=username dbname=database"
|
|
36
|
+
|
|
37
|
+
# Verify certificate
|
|
38
|
+
psql "host=hostname sslmode=verify-full \
|
|
39
|
+
sslcert=/path/to/client.crt \
|
|
40
|
+
sslkey=/path/to/client.key \
|
|
41
|
+
sslrootcert=/path/to/ca.crt"
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Essential Meta-Commands
|
|
45
|
+
|
|
46
|
+
### Database Navigation
|
|
47
|
+
```bash
|
|
48
|
+
\l or \list # List databases
|
|
49
|
+
\l+ # List with sizes
|
|
50
|
+
\c database # Connect to database
|
|
51
|
+
\c database username # Connect as user
|
|
52
|
+
\conninfo # Connection info
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Schema Inspection
|
|
56
|
+
```bash
|
|
57
|
+
\dn # List schemas
|
|
58
|
+
\dt # List tables
|
|
59
|
+
\dt+ # Tables with sizes
|
|
60
|
+
\dt *.* # All tables, all schemas
|
|
61
|
+
\di # List indexes
|
|
62
|
+
\dv # List views
|
|
63
|
+
\dm # List materialized views
|
|
64
|
+
\ds # List sequences
|
|
65
|
+
\df # List functions
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Object Description
|
|
69
|
+
```bash
|
|
70
|
+
\d tablename # Describe table
|
|
71
|
+
\d+ tablename # Detailed description
|
|
72
|
+
\d indexname # Describe index
|
|
73
|
+
\df functionname # Describe function
|
|
74
|
+
\du # List users/roles
|
|
75
|
+
\dp tablename # Show permissions
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Output Formatting
|
|
79
|
+
```bash
|
|
80
|
+
\x # Toggle expanded output
|
|
81
|
+
\x on # Enable expanded
|
|
82
|
+
\x off # Disable expanded
|
|
83
|
+
\a # Toggle aligned output
|
|
84
|
+
\t # Toggle tuples only
|
|
85
|
+
\H # HTML output
|
|
86
|
+
\pset format csv # CSV format
|
|
87
|
+
\pset null '[NULL]' # Show NULL values
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Execution Commands
|
|
91
|
+
```bash
|
|
92
|
+
\i filename.sql # Execute SQL file
|
|
93
|
+
\o output.txt # Redirect output to file
|
|
94
|
+
\o # Stop redirecting
|
|
95
|
+
\! command # Execute shell command
|
|
96
|
+
\timing # Toggle timing
|
|
97
|
+
\q # Quit
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## psql Command-Line Options
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# Connection
|
|
104
|
+
-h hostname # Host
|
|
105
|
+
-p port # Port (default 5432)
|
|
106
|
+
-U username # Username
|
|
107
|
+
-d database # Database
|
|
108
|
+
-W # Prompt for password
|
|
109
|
+
|
|
110
|
+
# Execution
|
|
111
|
+
-c "SQL" # Execute command and exit
|
|
112
|
+
-f file.sql # Execute file
|
|
113
|
+
--command="SQL" # Execute command
|
|
114
|
+
|
|
115
|
+
# Output
|
|
116
|
+
-t # Tuples only (no headers)
|
|
117
|
+
-A # Unaligned output
|
|
118
|
+
-F "," # Field separator
|
|
119
|
+
-o output.txt # Output to file
|
|
120
|
+
-q # Quiet mode
|
|
121
|
+
-x # Expanded output
|
|
122
|
+
|
|
123
|
+
# Script options
|
|
124
|
+
-1 # Execute as transaction
|
|
125
|
+
--on-error-stop # Stop on error
|
|
126
|
+
-v variable=value # Set variable
|
|
127
|
+
-L logfile.log # Log session
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Running SQL
|
|
131
|
+
|
|
132
|
+
### Interactive Queries
|
|
133
|
+
```sql
|
|
134
|
+
-- Simple query
|
|
135
|
+
SELECT * FROM users;
|
|
136
|
+
|
|
137
|
+
-- Multi-line (ends with semicolon)
|
|
138
|
+
SELECT id, name, email
|
|
139
|
+
FROM users
|
|
140
|
+
WHERE active = true;
|
|
141
|
+
|
|
142
|
+
-- Edit in editor
|
|
143
|
+
\e
|
|
144
|
+
|
|
145
|
+
-- Repeat last query
|
|
146
|
+
\g
|
|
147
|
+
|
|
148
|
+
-- Send to file
|
|
149
|
+
\g output.txt
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### Variables
|
|
153
|
+
```bash
|
|
154
|
+
# Set variable
|
|
155
|
+
\set myvar 'value'
|
|
156
|
+
\set limit 10
|
|
157
|
+
|
|
158
|
+
# Use variable
|
|
159
|
+
SELECT * FROM users LIMIT :limit;
|
|
160
|
+
|
|
161
|
+
# String variable (quoted)
|
|
162
|
+
\set username 'alice'
|
|
163
|
+
SELECT * FROM users WHERE name = :'username';
|
|
164
|
+
|
|
165
|
+
# Show all variables
|
|
166
|
+
\set
|
|
167
|
+
|
|
168
|
+
# Unset variable
|
|
169
|
+
\unset myvar
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Scripts
|
|
173
|
+
```sql
|
|
174
|
+
-- script.sql
|
|
175
|
+
\set ON_ERROR_STOP on
|
|
176
|
+
|
|
177
|
+
BEGIN;
|
|
178
|
+
|
|
179
|
+
CREATE TABLE IF NOT EXISTS users (
|
|
180
|
+
id SERIAL PRIMARY KEY,
|
|
181
|
+
name TEXT NOT NULL,
|
|
182
|
+
email TEXT UNIQUE
|
|
183
|
+
);
|
|
184
|
+
|
|
185
|
+
INSERT INTO users (name, email) VALUES
|
|
186
|
+
('Alice', 'alice@example.com'),
|
|
187
|
+
('Bob', 'bob@example.com');
|
|
188
|
+
|
|
189
|
+
COMMIT;
|
|
190
|
+
|
|
191
|
+
\echo 'Script completed!'
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
# Execute script
|
|
196
|
+
psql -d mydb -f script.sql
|
|
197
|
+
|
|
198
|
+
# With error stopping
|
|
199
|
+
psql -d mydb -f script.sql --on-error-stop
|
|
200
|
+
|
|
201
|
+
# In single transaction
|
|
202
|
+
psql -d mydb -1 -f script.sql
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
## Data Import/Export
|
|
206
|
+
|
|
207
|
+
### COPY (Server-side)
|
|
208
|
+
```sql
|
|
209
|
+
-- Export to CSV
|
|
210
|
+
COPY users TO '/tmp/users.csv' WITH (FORMAT CSV, HEADER);
|
|
211
|
+
|
|
212
|
+
-- Import from CSV
|
|
213
|
+
COPY users FROM '/tmp/users.csv' WITH (FORMAT CSV, HEADER);
|
|
214
|
+
|
|
215
|
+
-- Query to file
|
|
216
|
+
COPY (SELECT * FROM users WHERE active = true)
|
|
217
|
+
TO '/tmp/active_users.csv' WITH (FORMAT CSV, HEADER);
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
### \copy (Client-side)
|
|
221
|
+
```bash
|
|
222
|
+
# Export (from psql)
|
|
223
|
+
\copy users TO 'users.csv' WITH (FORMAT CSV, HEADER)
|
|
224
|
+
|
|
225
|
+
# Export query results
|
|
226
|
+
\copy (SELECT * FROM users WHERE active = true) TO 'active.csv' CSV HEADER
|
|
227
|
+
|
|
228
|
+
# Import
|
|
229
|
+
\copy users FROM 'users.csv' WITH (FORMAT CSV, HEADER)
|
|
230
|
+
|
|
231
|
+
# To stdout
|
|
232
|
+
\copy users TO STDOUT CSV HEADER > users.csv
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### pg_dump / pg_restore
|
|
236
|
+
```bash
|
|
237
|
+
# Dump database
|
|
238
|
+
pg_dump mydb > mydb.sql
|
|
239
|
+
pg_dump -d mydb -Fc > mydb.dump # Custom format
|
|
240
|
+
|
|
241
|
+
# Dump specific table
|
|
242
|
+
pg_dump -t users mydb > users.sql
|
|
243
|
+
|
|
244
|
+
# Schema only
|
|
245
|
+
pg_dump -s mydb > schema.sql
|
|
246
|
+
|
|
247
|
+
# Data only
|
|
248
|
+
pg_dump -a mydb > data.sql
|
|
249
|
+
|
|
250
|
+
# Restore
|
|
251
|
+
psql mydb < mydb.sql
|
|
252
|
+
pg_restore -d mydb mydb.dump
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
## Configuration
|
|
256
|
+
|
|
257
|
+
### ~/.psqlrc
|
|
258
|
+
```bash
|
|
259
|
+
# Auto-loaded on psql startup
|
|
260
|
+
\set QUIET ON
|
|
261
|
+
|
|
262
|
+
-- Prompt customization
|
|
263
|
+
\set PROMPT1 '%n@%m:%>/%/%R%# '
|
|
264
|
+
|
|
265
|
+
-- Output settings
|
|
266
|
+
\pset null '[NULL]'
|
|
267
|
+
\pset border 2
|
|
268
|
+
\pset linestyle unicode
|
|
269
|
+
\pset expanded auto
|
|
270
|
+
|
|
271
|
+
-- Timing
|
|
272
|
+
\timing ON
|
|
273
|
+
|
|
274
|
+
-- Pager
|
|
275
|
+
\pset pager always
|
|
276
|
+
|
|
277
|
+
-- History
|
|
278
|
+
\set HISTSIZE 10000
|
|
279
|
+
|
|
280
|
+
-- Custom shortcuts
|
|
281
|
+
\set active_users 'SELECT * FROM users WHERE status = ''active'';'
|
|
282
|
+
\set dbsize 'SELECT pg_size_pretty(pg_database_size(current_database()));'
|
|
283
|
+
|
|
284
|
+
\set QUIET OFF
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
### Useful Aliases
|
|
288
|
+
```bash
|
|
289
|
+
# Add to ~/.psqlrc
|
|
290
|
+
\set locks 'SELECT pid, usename, pg_blocking_pids(pid) as blocked_by, query FROM pg_stat_activity WHERE cardinality(pg_blocking_pids(pid)) > 0;'
|
|
291
|
+
|
|
292
|
+
\set activity 'SELECT pid, usename, state, query FROM pg_stat_activity WHERE state != ''idle'';'
|
|
293
|
+
|
|
294
|
+
\set table_sizes 'SELECT schemaname, tablename, pg_size_pretty(pg_total_relation_size(schemaname||''.''||tablename)) FROM pg_tables ORDER BY pg_total_relation_size(schemaname||''.''||tablename) DESC;'
|
|
295
|
+
|
|
296
|
+
\set index_usage 'SELECT schemaname, tablename, indexname, idx_scan FROM pg_stat_user_indexes ORDER BY idx_scan;'
|
|
297
|
+
|
|
298
|
+
# Usage: :locks, :activity, :table_sizes
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
## Transactions
|
|
302
|
+
|
|
303
|
+
```sql
|
|
304
|
+
-- Begin transaction
|
|
305
|
+
BEGIN;
|
|
306
|
+
|
|
307
|
+
-- Or
|
|
308
|
+
START TRANSACTION;
|
|
309
|
+
|
|
310
|
+
-- Savepoint
|
|
311
|
+
SAVEPOINT sp1;
|
|
312
|
+
|
|
313
|
+
-- Rollback to savepoint
|
|
314
|
+
ROLLBACK TO sp1;
|
|
315
|
+
|
|
316
|
+
-- Commit
|
|
317
|
+
COMMIT;
|
|
318
|
+
|
|
319
|
+
-- Rollback
|
|
320
|
+
ROLLBACK;
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
## Performance Analysis
|
|
324
|
+
|
|
325
|
+
### EXPLAIN
|
|
326
|
+
```sql
|
|
327
|
+
-- Show query plan
|
|
328
|
+
EXPLAIN SELECT * FROM users WHERE id = 1;
|
|
329
|
+
|
|
330
|
+
-- With execution
|
|
331
|
+
EXPLAIN ANALYZE SELECT * FROM users WHERE age > 18;
|
|
332
|
+
|
|
333
|
+
-- Verbose
|
|
334
|
+
EXPLAIN (ANALYZE, BUFFERS, VERBOSE)
|
|
335
|
+
SELECT * FROM users WHERE active = true;
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
### Current Activity
|
|
339
|
+
```sql
|
|
340
|
+
-- Active queries
|
|
341
|
+
SELECT pid, usename, state, query
|
|
342
|
+
FROM pg_stat_activity;
|
|
343
|
+
|
|
344
|
+
-- Long-running queries
|
|
345
|
+
SELECT pid, now() - query_start AS duration, query
|
|
346
|
+
FROM pg_stat_activity
|
|
347
|
+
WHERE state != 'idle'
|
|
348
|
+
ORDER BY duration DESC;
|
|
349
|
+
|
|
350
|
+
-- Blocking queries
|
|
351
|
+
SELECT blocked.pid, blocking.pid AS blocking_pid,
|
|
352
|
+
blocked.query AS blocked_query,
|
|
353
|
+
blocking.query AS blocking_query
|
|
354
|
+
FROM pg_stat_activity blocked
|
|
355
|
+
JOIN pg_stat_activity blocking
|
|
356
|
+
ON blocking.pid = ANY(pg_blocking_pids(blocked.pid));
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
### Statistics
|
|
360
|
+
```sql
|
|
361
|
+
-- Database size
|
|
362
|
+
SELECT pg_size_pretty(pg_database_size(current_database()));
|
|
363
|
+
|
|
364
|
+
-- Table sizes
|
|
365
|
+
SELECT schemaname, tablename,
|
|
366
|
+
pg_size_pretty(pg_total_relation_size(schemaname||'.'||tablename)) AS size
|
|
367
|
+
FROM pg_tables
|
|
368
|
+
ORDER BY pg_total_relation_size(schemaname||'.'||tablename) DESC;
|
|
369
|
+
|
|
370
|
+
-- Index usage
|
|
371
|
+
SELECT schemaname, tablename, indexname, idx_scan
|
|
372
|
+
FROM pg_stat_user_indexes
|
|
373
|
+
ORDER BY idx_scan;
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
## User Management
|
|
377
|
+
|
|
378
|
+
```sql
|
|
379
|
+
-- Create user
|
|
380
|
+
CREATE USER appuser WITH PASSWORD 'secure_password';
|
|
381
|
+
|
|
382
|
+
-- Create superuser
|
|
383
|
+
CREATE USER admin WITH PASSWORD 'password' SUPERUSER;
|
|
384
|
+
|
|
385
|
+
-- Alter user
|
|
386
|
+
ALTER USER appuser WITH PASSWORD 'new_password';
|
|
387
|
+
|
|
388
|
+
-- Grant permissions
|
|
389
|
+
GRANT CONNECT ON DATABASE mydb TO appuser;
|
|
390
|
+
GRANT USAGE ON SCHEMA public TO appuser;
|
|
391
|
+
GRANT SELECT, INSERT, UPDATE, DELETE ON users TO appuser;
|
|
392
|
+
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO appuser;
|
|
393
|
+
|
|
394
|
+
-- Default privileges
|
|
395
|
+
ALTER DEFAULT PRIVILEGES IN SCHEMA public
|
|
396
|
+
GRANT SELECT ON TABLES TO appuser;
|
|
397
|
+
|
|
398
|
+
-- View permissions
|
|
399
|
+
\dp users
|
|
400
|
+
|
|
401
|
+
-- Drop user
|
|
402
|
+
DROP USER appuser;
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
## Backup Patterns
|
|
406
|
+
|
|
407
|
+
```bash
|
|
408
|
+
# Daily backup script
|
|
409
|
+
#!/bin/bash
|
|
410
|
+
DATE=$(date +%Y%m%d)
|
|
411
|
+
pg_dump -Fc mydb > /backups/mydb_$DATE.dump
|
|
412
|
+
|
|
413
|
+
# Restore latest
|
|
414
|
+
pg_restore -d mydb /backups/mydb_latest.dump
|
|
415
|
+
|
|
416
|
+
# Backup all databases
|
|
417
|
+
pg_dumpall > /backups/all_databases.sql
|
|
418
|
+
|
|
419
|
+
# Backup specific schema
|
|
420
|
+
pg_dump -n public mydb > public_schema.sql
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
## Troubleshooting
|
|
424
|
+
|
|
425
|
+
### Connection Issues
|
|
426
|
+
```bash
|
|
427
|
+
# Test connection
|
|
428
|
+
psql -h hostname -U username -d postgres -c "SELECT 1;"
|
|
429
|
+
|
|
430
|
+
# Check pg_hba.conf
|
|
431
|
+
# /var/lib/postgresql/data/pg_hba.conf
|
|
432
|
+
|
|
433
|
+
# Verbose connection
|
|
434
|
+
psql -h hostname -d mydb --echo-all
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
### Performance Issues
|
|
438
|
+
```sql
|
|
439
|
+
-- Enable slow query logging
|
|
440
|
+
ALTER DATABASE mydb SET log_min_duration_statement = 100;
|
|
441
|
+
|
|
442
|
+
-- Check cache hit ratio
|
|
443
|
+
SELECT
|
|
444
|
+
sum(heap_blks_read) as heap_read,
|
|
445
|
+
sum(heap_blks_hit) as heap_hit,
|
|
446
|
+
sum(heap_blks_hit) / (sum(heap_blks_hit) + sum(heap_blks_read)) AS ratio
|
|
447
|
+
FROM pg_statio_user_tables;
|
|
448
|
+
|
|
449
|
+
-- Find slow queries
|
|
450
|
+
SELECT query, mean_exec_time, calls
|
|
451
|
+
FROM pg_stat_statements
|
|
452
|
+
ORDER BY mean_exec_time DESC
|
|
453
|
+
LIMIT 10;
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
## Best Practices
|
|
457
|
+
|
|
458
|
+
1. **Use .pgpass** for credential management
|
|
459
|
+
2. **Set ON_ERROR_STOP** in scripts
|
|
460
|
+
3. **Use transactions** for multi-statement changes
|
|
461
|
+
4. **Test with EXPLAIN** before running expensive queries
|
|
462
|
+
5. **Use \timing** to measure query performance
|
|
463
|
+
6. **Configure ~/.psqlrc** for productivity
|
|
464
|
+
7. **Use variables** for dynamic queries
|
|
465
|
+
8. **Log sessions** with -L for auditing
|
|
466
|
+
9. **Use \copy** instead of COPY for client operations
|
|
467
|
+
10. **Regular backups** with pg_dump
|