cokit-cli 1.0.1 → 1.0.2
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,612 @@
|
|
|
1
|
+
# ImageMagick Batch Processing
|
|
2
|
+
|
|
3
|
+
Complete guide to batch operations, mogrify command, parallel processing, and automation.
|
|
4
|
+
|
|
5
|
+
## Mogrify Command
|
|
6
|
+
|
|
7
|
+
### Basic Mogrify
|
|
8
|
+
Modify files in-place (overwrites originals).
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
# Resize all JPEGs
|
|
12
|
+
mogrify -resize 800x600 *.jpg
|
|
13
|
+
|
|
14
|
+
# Convert format (creates new files)
|
|
15
|
+
mogrify -format png *.jpg
|
|
16
|
+
|
|
17
|
+
# Apply effect to all images
|
|
18
|
+
mogrify -quality 85 -strip *.jpg
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Warning:** mogrify modifies files in-place. Always backup originals or use `-path` to output to different directory.
|
|
22
|
+
|
|
23
|
+
### Output to Different Directory
|
|
24
|
+
Preserve originals.
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# Create output directory first
|
|
28
|
+
mkdir output
|
|
29
|
+
|
|
30
|
+
# Process to output directory
|
|
31
|
+
mogrify -path ./output -resize 800x600 *.jpg
|
|
32
|
+
|
|
33
|
+
# With format conversion
|
|
34
|
+
mogrify -path ./optimized -format webp -quality 80 *.png
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Common Batch Operations
|
|
38
|
+
|
|
39
|
+
### Resize All Images
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# Resize to width 800
|
|
43
|
+
mogrify -resize 800x *.jpg
|
|
44
|
+
|
|
45
|
+
# Resize to height 600
|
|
46
|
+
mogrify -resize x600 *.jpg
|
|
47
|
+
|
|
48
|
+
# Fit within 800×600
|
|
49
|
+
mogrify -resize 800x600 *.jpg
|
|
50
|
+
|
|
51
|
+
# Resize to exact dimensions
|
|
52
|
+
mogrify -resize 800x600! *.jpg
|
|
53
|
+
|
|
54
|
+
# Only shrink, never enlarge
|
|
55
|
+
mogrify -resize 800x600\> *.jpg
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Format Conversion
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# PNG to JPEG
|
|
62
|
+
mogrify -path ./jpg -format jpg -quality 85 *.png
|
|
63
|
+
|
|
64
|
+
# JPEG to WebP
|
|
65
|
+
mogrify -path ./webp -format webp -quality 80 *.jpg
|
|
66
|
+
|
|
67
|
+
# Any format to PNG
|
|
68
|
+
mogrify -path ./png -format png *.{jpg,gif,bmp}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Optimize Images
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
# Strip metadata from all JPEGs
|
|
75
|
+
mogrify -strip *.jpg
|
|
76
|
+
|
|
77
|
+
# Optimize JPEGs for web
|
|
78
|
+
mogrify -quality 85 -strip -interlace Plane *.jpg
|
|
79
|
+
|
|
80
|
+
# Compress PNGs
|
|
81
|
+
mogrify -quality 95 *.png
|
|
82
|
+
|
|
83
|
+
# Combined optimization
|
|
84
|
+
mogrify -quality 85 -strip -interlace Plane -sampling-factor 4:2:0 *.jpg
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Apply Effects
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# Add watermark to all images
|
|
91
|
+
mogrify -gravity southeast -draw "image over 10,10 0,0 'watermark.png'" *.jpg
|
|
92
|
+
|
|
93
|
+
# Convert all to grayscale
|
|
94
|
+
mogrify -colorspace Gray *.jpg
|
|
95
|
+
|
|
96
|
+
# Apply sepia tone
|
|
97
|
+
mogrify -sepia-tone 80% *.jpg
|
|
98
|
+
|
|
99
|
+
# Sharpen all images
|
|
100
|
+
mogrify -sharpen 0x1 *.jpg
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Thumbnail Generation
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
# Create square thumbnails
|
|
107
|
+
mogrify -path ./thumbnails -resize 200x200^ -gravity center -extent 200x200 *.jpg
|
|
108
|
+
|
|
109
|
+
# Create thumbnails with max dimension
|
|
110
|
+
mogrify -path ./thumbs -thumbnail 300x300 *.jpg
|
|
111
|
+
|
|
112
|
+
# Thumbnails with quality control
|
|
113
|
+
mogrify -path ./thumbs -thumbnail 200x200 -quality 80 -strip *.jpg
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Shell Loops
|
|
117
|
+
|
|
118
|
+
### Basic For Loop
|
|
119
|
+
More control than mogrify.
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
# Resize with custom naming
|
|
123
|
+
for img in *.jpg; do
|
|
124
|
+
magick "$img" -resize 800x600 "resized_$img"
|
|
125
|
+
done
|
|
126
|
+
|
|
127
|
+
# Process to subdirectory
|
|
128
|
+
mkdir processed
|
|
129
|
+
for img in *.jpg; do
|
|
130
|
+
magick "$img" -resize 1920x1080 "processed/$img"
|
|
131
|
+
done
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### Multiple Operations
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
# Complex processing pipeline
|
|
138
|
+
for img in *.jpg; do
|
|
139
|
+
magick "$img" \
|
|
140
|
+
-resize 1920x1080^ \
|
|
141
|
+
-gravity center \
|
|
142
|
+
-crop 1920x1080+0+0 +repage \
|
|
143
|
+
-unsharp 0x1 \
|
|
144
|
+
-quality 85 -strip \
|
|
145
|
+
"processed_$img"
|
|
146
|
+
done
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### Format Conversion with Rename
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
# Convert PNG to JPEG with new names
|
|
153
|
+
for img in *.png; do
|
|
154
|
+
magick "$img" -quality 90 "${img%.png}.jpg"
|
|
155
|
+
done
|
|
156
|
+
|
|
157
|
+
# Add prefix during conversion
|
|
158
|
+
for img in *.jpg; do
|
|
159
|
+
magick "$img" -resize 800x "web_${img}"
|
|
160
|
+
done
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Conditional Processing
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
# Only process large images
|
|
167
|
+
for img in *.jpg; do
|
|
168
|
+
width=$(identify -format "%w" "$img")
|
|
169
|
+
if [ $width -gt 2000 ]; then
|
|
170
|
+
magick "$img" -resize 2000x "resized_$img"
|
|
171
|
+
fi
|
|
172
|
+
done
|
|
173
|
+
|
|
174
|
+
# Skip existing output files
|
|
175
|
+
for img in *.jpg; do
|
|
176
|
+
output="output_$img"
|
|
177
|
+
if [ ! -f "$output" ]; then
|
|
178
|
+
magick "$img" -resize 800x "$output"
|
|
179
|
+
fi
|
|
180
|
+
done
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## Parallel Processing
|
|
184
|
+
|
|
185
|
+
### GNU Parallel
|
|
186
|
+
Process multiple images simultaneously.
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
# Install GNU Parallel
|
|
190
|
+
# Ubuntu/Debian: sudo apt-get install parallel
|
|
191
|
+
# macOS: brew install parallel
|
|
192
|
+
|
|
193
|
+
# Basic parallel resize
|
|
194
|
+
parallel magick {} -resize 800x600 resized_{} ::: *.jpg
|
|
195
|
+
|
|
196
|
+
# Parallel with function
|
|
197
|
+
resize_image() {
|
|
198
|
+
magick "$1" -resize 1920x1080 -quality 85 "processed_$1"
|
|
199
|
+
}
|
|
200
|
+
export -f resize_image
|
|
201
|
+
parallel resize_image ::: *.jpg
|
|
202
|
+
|
|
203
|
+
# Limit concurrent jobs
|
|
204
|
+
parallel -j 4 magick {} -resize 800x {} ::: *.jpg
|
|
205
|
+
|
|
206
|
+
# Progress indicator
|
|
207
|
+
parallel --progress magick {} -resize 800x {} ::: *.jpg
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### Xargs Parallel
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
# Using xargs for parallel processing
|
|
214
|
+
ls *.jpg | xargs -I {} -P 4 magick {} -resize 800x processed_{}
|
|
215
|
+
|
|
216
|
+
# With find
|
|
217
|
+
find . -name "*.jpg" -print0 | \
|
|
218
|
+
xargs -0 -I {} -P 4 magick {} -resize 800x {}
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
## Advanced Batch Patterns
|
|
222
|
+
|
|
223
|
+
### Recursive Processing
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
# Process all JPEGs in subdirectories
|
|
227
|
+
find . -name "*.jpg" -exec magick {} -resize 800x {} \;
|
|
228
|
+
|
|
229
|
+
# With output directory structure
|
|
230
|
+
find . -name "*.jpg" -type f | while read img; do
|
|
231
|
+
outdir="output/$(dirname "$img")"
|
|
232
|
+
mkdir -p "$outdir"
|
|
233
|
+
magick "$img" -resize 800x "$outdir/$(basename "$img")"
|
|
234
|
+
done
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### Batch with Different Sizes
|
|
238
|
+
|
|
239
|
+
```bash
|
|
240
|
+
# Generate multiple sizes
|
|
241
|
+
for size in 320 640 1024 1920; do
|
|
242
|
+
mkdir -p "output/${size}w"
|
|
243
|
+
for img in *.jpg; do
|
|
244
|
+
magick "$img" -resize ${size}x -quality 85 "output/${size}w/$img"
|
|
245
|
+
done
|
|
246
|
+
done
|
|
247
|
+
|
|
248
|
+
# Parallel version
|
|
249
|
+
for size in 320 640 1024 1920; do
|
|
250
|
+
mkdir -p "output/${size}w"
|
|
251
|
+
parallel magick {} -resize ${size}x -quality 85 "output/${size}w/{}" ::: *.jpg
|
|
252
|
+
done
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### Responsive Image Set
|
|
256
|
+
|
|
257
|
+
```bash
|
|
258
|
+
# Create responsive image set with srcset
|
|
259
|
+
mkdir -p responsive
|
|
260
|
+
for img in *.jpg; do
|
|
261
|
+
base="${img%.jpg}"
|
|
262
|
+
for width in 320 640 1024 1920; do
|
|
263
|
+
magick "$img" -resize ${width}x -quality 85 \
|
|
264
|
+
"responsive/${base}-${width}w.jpg"
|
|
265
|
+
done
|
|
266
|
+
done
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
### Watermark Batch
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
# Add watermark to all images
|
|
273
|
+
for img in *.jpg; do
|
|
274
|
+
magick "$img" watermark.png \
|
|
275
|
+
-gravity southeast -geometry +10+10 \
|
|
276
|
+
-composite "watermarked_$img"
|
|
277
|
+
done
|
|
278
|
+
|
|
279
|
+
# Different watermark positions for portrait vs landscape
|
|
280
|
+
for img in *.jpg; do
|
|
281
|
+
width=$(identify -format "%w" "$img")
|
|
282
|
+
height=$(identify -format "%h" "$img")
|
|
283
|
+
|
|
284
|
+
if [ $width -gt $height ]; then
|
|
285
|
+
# Landscape
|
|
286
|
+
magick "$img" watermark.png -gravity southeast -composite "marked_$img"
|
|
287
|
+
else
|
|
288
|
+
# Portrait
|
|
289
|
+
magick "$img" watermark.png -gravity south -composite "marked_$img"
|
|
290
|
+
fi
|
|
291
|
+
done
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
## Error Handling
|
|
295
|
+
|
|
296
|
+
### Check Before Processing
|
|
297
|
+
|
|
298
|
+
```bash
|
|
299
|
+
# Verify image before processing
|
|
300
|
+
for img in *.jpg; do
|
|
301
|
+
if identify "$img" > /dev/null 2>&1; then
|
|
302
|
+
magick "$img" -resize 800x "processed_$img"
|
|
303
|
+
else
|
|
304
|
+
echo "Skipping corrupt image: $img"
|
|
305
|
+
fi
|
|
306
|
+
done
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
### Log Processing
|
|
310
|
+
|
|
311
|
+
```bash
|
|
312
|
+
# Log successful and failed operations
|
|
313
|
+
log_file="batch_process.log"
|
|
314
|
+
error_log="errors.log"
|
|
315
|
+
|
|
316
|
+
for img in *.jpg; do
|
|
317
|
+
if magick "$img" -resize 800x "output/$img" 2>> "$error_log"; then
|
|
318
|
+
echo "$(date): Processed $img" >> "$log_file"
|
|
319
|
+
else
|
|
320
|
+
echo "$(date): Failed $img" >> "$error_log"
|
|
321
|
+
fi
|
|
322
|
+
done
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
### Dry Run Mode
|
|
326
|
+
|
|
327
|
+
```bash
|
|
328
|
+
# Test without modifying files
|
|
329
|
+
dry_run=true
|
|
330
|
+
|
|
331
|
+
for img in *.jpg; do
|
|
332
|
+
cmd="magick $img -resize 800x processed_$img"
|
|
333
|
+
if [ "$dry_run" = true ]; then
|
|
334
|
+
echo "Would run: $cmd"
|
|
335
|
+
else
|
|
336
|
+
eval $cmd
|
|
337
|
+
fi
|
|
338
|
+
done
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
## Optimization Workflows
|
|
342
|
+
|
|
343
|
+
### Web Publishing Pipeline
|
|
344
|
+
|
|
345
|
+
```bash
|
|
346
|
+
# Complete web optimization workflow
|
|
347
|
+
mkdir -p web/{original,optimized,thumbnails}
|
|
348
|
+
|
|
349
|
+
# Copy originals
|
|
350
|
+
cp *.jpg web/original/
|
|
351
|
+
|
|
352
|
+
# Create optimized versions
|
|
353
|
+
mogrify -path web/optimized \
|
|
354
|
+
-resize 1920x1080\> \
|
|
355
|
+
-quality 85 \
|
|
356
|
+
-strip \
|
|
357
|
+
-interlace Plane \
|
|
358
|
+
web/original/*.jpg
|
|
359
|
+
|
|
360
|
+
# Create thumbnails
|
|
361
|
+
mogrify -path web/thumbnails \
|
|
362
|
+
-thumbnail 300x300 \
|
|
363
|
+
-quality 80 \
|
|
364
|
+
-strip \
|
|
365
|
+
web/original/*.jpg
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
### Archive to Web Conversion
|
|
369
|
+
|
|
370
|
+
```bash
|
|
371
|
+
# Convert high-res archives to web formats
|
|
372
|
+
for img in archives/*.jpg; do
|
|
373
|
+
base=$(basename "$img" .jpg)
|
|
374
|
+
|
|
375
|
+
# Full size web version
|
|
376
|
+
magick "$img" -resize 2048x2048\> -quality 90 -strip "web/${base}.jpg"
|
|
377
|
+
|
|
378
|
+
# Thumbnail
|
|
379
|
+
magick "$img" -thumbnail 400x400 -quality 85 "web/${base}_thumb.jpg"
|
|
380
|
+
|
|
381
|
+
# WebP version
|
|
382
|
+
magick "$img" -resize 2048x2048\> -quality 85 "web/${base}.webp"
|
|
383
|
+
done
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
### Print to Web Workflow
|
|
387
|
+
|
|
388
|
+
```bash
|
|
389
|
+
# Convert print-ready images to web
|
|
390
|
+
for img in print/*.tif; do
|
|
391
|
+
base=$(basename "$img" .tif)
|
|
392
|
+
|
|
393
|
+
# Convert colorspace and optimize
|
|
394
|
+
magick "$img" \
|
|
395
|
+
-colorspace sRGB \
|
|
396
|
+
-resize 2000x2000\> \
|
|
397
|
+
-quality 90 \
|
|
398
|
+
-strip \
|
|
399
|
+
-interlace Plane \
|
|
400
|
+
"web/${base}.jpg"
|
|
401
|
+
done
|
|
402
|
+
```
|
|
403
|
+
|
|
404
|
+
## Batch Reporting
|
|
405
|
+
|
|
406
|
+
### Generate Report
|
|
407
|
+
|
|
408
|
+
```bash
|
|
409
|
+
# Create processing report
|
|
410
|
+
report="batch_report.txt"
|
|
411
|
+
echo "Batch Processing Report - $(date)" > "$report"
|
|
412
|
+
echo "================================" >> "$report"
|
|
413
|
+
|
|
414
|
+
total=0
|
|
415
|
+
success=0
|
|
416
|
+
failed=0
|
|
417
|
+
|
|
418
|
+
for img in *.jpg; do
|
|
419
|
+
((total++))
|
|
420
|
+
if magick "$img" -resize 800x "output/$img" 2>/dev/null; then
|
|
421
|
+
((success++))
|
|
422
|
+
echo "✓ $img" >> "$report"
|
|
423
|
+
else
|
|
424
|
+
((failed++))
|
|
425
|
+
echo "✗ $img" >> "$report"
|
|
426
|
+
fi
|
|
427
|
+
done
|
|
428
|
+
|
|
429
|
+
echo "" >> "$report"
|
|
430
|
+
echo "Total: $total, Success: $success, Failed: $failed" >> "$report"
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
### Image Inventory
|
|
434
|
+
|
|
435
|
+
```bash
|
|
436
|
+
# Create inventory of images
|
|
437
|
+
inventory="image_inventory.csv"
|
|
438
|
+
echo "Filename,Width,Height,Format,Size,ColorSpace" > "$inventory"
|
|
439
|
+
|
|
440
|
+
for img in *.{jpg,png,gif}; do
|
|
441
|
+
[ -f "$img" ] || continue
|
|
442
|
+
info=$(identify -format "%f,%w,%h,%m,%b,%[colorspace]" "$img")
|
|
443
|
+
echo "$info" >> "$inventory"
|
|
444
|
+
done
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
## Performance Tips
|
|
448
|
+
|
|
449
|
+
### Optimize Loop Performance
|
|
450
|
+
|
|
451
|
+
```bash
|
|
452
|
+
# Bad: Launch mogrify for each file
|
|
453
|
+
for img in *.jpg; do
|
|
454
|
+
mogrify -resize 800x "$img"
|
|
455
|
+
done
|
|
456
|
+
|
|
457
|
+
# Good: Process all files in one mogrify call
|
|
458
|
+
mogrify -resize 800x *.jpg
|
|
459
|
+
|
|
460
|
+
# Best: Use parallel processing for complex operations
|
|
461
|
+
parallel magick {} -resize 800x -quality 85 processed_{} ::: *.jpg
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
### Memory Management
|
|
465
|
+
|
|
466
|
+
```bash
|
|
467
|
+
# Limit memory for batch processing
|
|
468
|
+
for img in *.jpg; do
|
|
469
|
+
magick -limit memory 2GB -limit map 4GB \
|
|
470
|
+
"$img" -resize 50% "output/$img"
|
|
471
|
+
done
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
### Progress Tracking
|
|
475
|
+
|
|
476
|
+
```bash
|
|
477
|
+
# Show progress for long batch operations
|
|
478
|
+
total=$(ls *.jpg | wc -l)
|
|
479
|
+
current=0
|
|
480
|
+
|
|
481
|
+
for img in *.jpg; do
|
|
482
|
+
((current++))
|
|
483
|
+
echo "Processing $current/$total: $img"
|
|
484
|
+
magick "$img" -resize 800x "output/$img"
|
|
485
|
+
done
|
|
486
|
+
```
|
|
487
|
+
|
|
488
|
+
## Automation Scripts
|
|
489
|
+
|
|
490
|
+
### Complete Bash Script
|
|
491
|
+
|
|
492
|
+
```bash
|
|
493
|
+
#!/bin/bash
|
|
494
|
+
|
|
495
|
+
# Configuration
|
|
496
|
+
INPUT_DIR="./input"
|
|
497
|
+
OUTPUT_DIR="./output"
|
|
498
|
+
QUALITY=85
|
|
499
|
+
MAX_WIDTH=1920
|
|
500
|
+
THUMBNAIL_SIZE=300
|
|
501
|
+
|
|
502
|
+
# Create output directories
|
|
503
|
+
mkdir -p "$OUTPUT_DIR"/{full,thumbnails}
|
|
504
|
+
|
|
505
|
+
# Process images
|
|
506
|
+
echo "Processing images..."
|
|
507
|
+
for img in "$INPUT_DIR"/*.{jpg,jpeg,png}; do
|
|
508
|
+
[ -f "$img" ] || continue
|
|
509
|
+
|
|
510
|
+
filename=$(basename "$img")
|
|
511
|
+
base="${filename%.*}"
|
|
512
|
+
|
|
513
|
+
# Full size
|
|
514
|
+
magick "$img" \
|
|
515
|
+
-resize ${MAX_WIDTH}x\> \
|
|
516
|
+
-quality $QUALITY \
|
|
517
|
+
-strip \
|
|
518
|
+
"$OUTPUT_DIR/full/${base}.jpg"
|
|
519
|
+
|
|
520
|
+
# Thumbnail
|
|
521
|
+
magick "$img" \
|
|
522
|
+
-thumbnail ${THUMBNAIL_SIZE}x${THUMBNAIL_SIZE} \
|
|
523
|
+
-quality 80 \
|
|
524
|
+
-strip \
|
|
525
|
+
"$OUTPUT_DIR/thumbnails/${base}_thumb.jpg"
|
|
526
|
+
|
|
527
|
+
echo "✓ $filename"
|
|
528
|
+
done
|
|
529
|
+
|
|
530
|
+
echo "Done!"
|
|
531
|
+
```
|
|
532
|
+
|
|
533
|
+
### Python Batch Script
|
|
534
|
+
|
|
535
|
+
```python
|
|
536
|
+
#!/usr/bin/env python3
|
|
537
|
+
import os
|
|
538
|
+
import subprocess
|
|
539
|
+
from pathlib import Path
|
|
540
|
+
|
|
541
|
+
INPUT_DIR = Path("./input")
|
|
542
|
+
OUTPUT_DIR = Path("./output")
|
|
543
|
+
SIZES = [320, 640, 1024, 1920]
|
|
544
|
+
|
|
545
|
+
# Create output directories
|
|
546
|
+
for size in SIZES:
|
|
547
|
+
(OUTPUT_DIR / f"{size}w").mkdir(parents=True, exist_ok=True)
|
|
548
|
+
|
|
549
|
+
# Process images
|
|
550
|
+
for img in INPUT_DIR.glob("*.jpg"):
|
|
551
|
+
for size in SIZES:
|
|
552
|
+
output = OUTPUT_DIR / f"{size}w" / img.name
|
|
553
|
+
subprocess.run([
|
|
554
|
+
"magick", str(img),
|
|
555
|
+
"-resize", f"{size}x",
|
|
556
|
+
"-quality", "85",
|
|
557
|
+
"-strip",
|
|
558
|
+
str(output)
|
|
559
|
+
])
|
|
560
|
+
print(f"✓ {img.name} -> {size}w")
|
|
561
|
+
```
|
|
562
|
+
|
|
563
|
+
## Common Batch Recipes
|
|
564
|
+
|
|
565
|
+
### Social Media Sizes
|
|
566
|
+
|
|
567
|
+
```bash
|
|
568
|
+
# Generate social media image sizes
|
|
569
|
+
for img in *.jpg; do
|
|
570
|
+
base="${img%.jpg}"
|
|
571
|
+
|
|
572
|
+
# Instagram square (1080×1080)
|
|
573
|
+
magick "$img" -resize 1080x1080^ -gravity center -extent 1080x1080 "${base}_ig_square.jpg"
|
|
574
|
+
|
|
575
|
+
# Instagram portrait (1080×1350)
|
|
576
|
+
magick "$img" -resize 1080x1350^ -gravity center -extent 1080x1350 "${base}_ig_portrait.jpg"
|
|
577
|
+
|
|
578
|
+
# Facebook post (1200×630)
|
|
579
|
+
magick "$img" -resize 1200x630^ -gravity center -extent 1200x630 "${base}_fb_post.jpg"
|
|
580
|
+
|
|
581
|
+
# Twitter post (1200×675)
|
|
582
|
+
magick "$img" -resize 1200x675^ -gravity center -extent 1200x675 "${base}_tw_post.jpg"
|
|
583
|
+
done
|
|
584
|
+
```
|
|
585
|
+
|
|
586
|
+
### Email Newsletter Images
|
|
587
|
+
|
|
588
|
+
```bash
|
|
589
|
+
# Optimize images for email
|
|
590
|
+
mogrify -path ./email \
|
|
591
|
+
-resize 600x\> \
|
|
592
|
+
-quality 75 \
|
|
593
|
+
-strip \
|
|
594
|
+
-interlace Plane \
|
|
595
|
+
*.jpg
|
|
596
|
+
```
|
|
597
|
+
|
|
598
|
+
### Backup and Archive
|
|
599
|
+
|
|
600
|
+
```bash
|
|
601
|
+
# Create web versions and keep originals
|
|
602
|
+
mkdir -p {originals,web}
|
|
603
|
+
|
|
604
|
+
# Move originals
|
|
605
|
+
mv *.jpg originals/
|
|
606
|
+
|
|
607
|
+
# Create optimized copies
|
|
608
|
+
for img in originals/*.jpg; do
|
|
609
|
+
base=$(basename "$img")
|
|
610
|
+
magick "$img" -resize 2000x2000\> -quality 85 -strip "web/$base"
|
|
611
|
+
done
|
|
612
|
+
```
|