claudeguide-engineer 1.14.8
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/.claude/.env.example +32 -0
- package/.claude/.mcp.json.example +23 -0
- package/.claude/agents/brainstormer.md +101 -0
- package/.claude/agents/code-reviewer.md +152 -0
- package/.claude/agents/copywriter.md +110 -0
- package/.claude/agents/database-admin.md +90 -0
- package/.claude/agents/debugger.md +134 -0
- package/.claude/agents/docs-manager.md +118 -0
- package/.claude/agents/git-manager.md +199 -0
- package/.claude/agents/journal-writer.md +113 -0
- package/.claude/agents/mcp-manager.md +93 -0
- package/.claude/agents/planner.md +35 -0
- package/.claude/agents/project-manager.md +117 -0
- package/.claude/agents/researcher.md +34 -0
- package/.claude/agents/scout-external.md +131 -0
- package/.claude/agents/scout.md +105 -0
- package/.claude/agents/tester.md +102 -0
- package/.claude/agents/ui-ux-designer.md +219 -0
- package/.claude/commands/ask.md +56 -0
- package/.claude/commands/bootstrap/auto/fast.md +111 -0
- package/.claude/commands/bootstrap/auto.md +115 -0
- package/.claude/commands/bootstrap.md +137 -0
- package/.claude/commands/brainstorm.md +69 -0
- package/.claude/commands/code.md +93 -0
- package/.claude/commands/content/cro.md +43 -0
- package/.claude/commands/content/enhance.md +14 -0
- package/.claude/commands/content/fast.md +13 -0
- package/.claude/commands/content/good.md +16 -0
- package/.claude/commands/cook/auto/fast.md +26 -0
- package/.claude/commands/cook/auto.md +15 -0
- package/.claude/commands/cook.md +105 -0
- package/.claude/commands/debug.md +13 -0
- package/.claude/commands/design/3d.md +74 -0
- package/.claude/commands/design/describe.md +21 -0
- package/.claude/commands/design/fast.md +22 -0
- package/.claude/commands/design/good.md +26 -0
- package/.claude/commands/design/screenshot.md +32 -0
- package/.claude/commands/design/video.md +32 -0
- package/.claude/commands/docs/init.md +15 -0
- package/.claude/commands/docs/summarize.md +22 -0
- package/.claude/commands/docs/update.md +23 -0
- package/.claude/commands/fix/ci.md +20 -0
- package/.claude/commands/fix/fast.md +19 -0
- package/.claude/commands/fix/hard.md +43 -0
- package/.claude/commands/fix/logs.md +20 -0
- package/.claude/commands/fix/test.md +20 -0
- package/.claude/commands/fix/types.md +9 -0
- package/.claude/commands/fix/ui.md +35 -0
- package/.claude/commands/fix.md +12 -0
- package/.claude/commands/git/cm.md +5 -0
- package/.claude/commands/git/cp.md +4 -0
- package/.claude/commands/git/pr.md +15 -0
- package/.claude/commands/integrate/polar.md +28 -0
- package/.claude/commands/integrate/sepay.md +28 -0
- package/.claude/commands/journal.md +5 -0
- package/.claude/commands/plan/ci.md +18 -0
- package/.claude/commands/plan/cro.md +56 -0
- package/.claude/commands/plan/fast.md +46 -0
- package/.claude/commands/plan/hard.md +57 -0
- package/.claude/commands/plan/two.md +30 -0
- package/.claude/commands/plan.md +23 -0
- package/.claude/commands/review/codebase.md +49 -0
- package/.claude/commands/scout/ext.md +35 -0
- package/.claude/commands/scout.md +28 -0
- package/.claude/commands/skill/add.md +29 -0
- package/.claude/commands/skill/create.md +22 -0
- package/.claude/commands/skill/fix-logs.md +21 -0
- package/.claude/commands/skill/optimize.md +28 -0
- package/.claude/commands/test.md +8 -0
- package/.claude/commands/use-mcp.md +34 -0
- package/.claude/commands/watzup.md +8 -0
- package/.claude/hooks/.env.example +15 -0
- package/.claude/hooks/README.md +339 -0
- package/.claude/hooks/discord-hook-setup.md +440 -0
- package/.claude/hooks/discord_notify.sh +221 -0
- package/.claude/hooks/modularization-hook.js +108 -0
- package/.claude/hooks/scout-block.js +89 -0
- package/.claude/hooks/scout-block.ps1 +65 -0
- package/.claude/hooks/scout-block.sh +51 -0
- package/.claude/hooks/send-discord.sh +75 -0
- package/.claude/hooks/telegram-hook-setup.md +843 -0
- package/.claude/hooks/telegram_notify.sh +158 -0
- package/.claude/metadata.json +15 -0
- package/.claude/settings.json +32 -0
- package/.claude/skills/.env.example +32 -0
- package/.claude/skills/INSTALLATION.md +280 -0
- package/.claude/skills/README.md +111 -0
- package/.claude/skills/THIRD_PARTY_NOTICES.md +405 -0
- package/.claude/skills/aesthetic/SKILL.md +121 -0
- package/.claude/skills/aesthetic/assets/design-guideline-template.md +163 -0
- package/.claude/skills/aesthetic/assets/design-story-template.md +135 -0
- package/.claude/skills/aesthetic/references/design-principles.md +62 -0
- package/.claude/skills/aesthetic/references/design-resources.md +75 -0
- package/.claude/skills/aesthetic/references/micro-interactions.md +53 -0
- package/.claude/skills/aesthetic/references/storytelling-design.md +50 -0
- package/.claude/skills/agent_skills_spec.md +55 -0
- package/.claude/skills/ai-multimodal/.env.example +97 -0
- package/.claude/skills/ai-multimodal/SKILL.md +353 -0
- package/.claude/skills/ai-multimodal/references/audio-processing.md +373 -0
- package/.claude/skills/ai-multimodal/references/image-generation.md +558 -0
- package/.claude/skills/ai-multimodal/references/video-analysis.md +498 -0
- package/.claude/skills/ai-multimodal/references/vision-understanding.md +479 -0
- package/.claude/skills/ai-multimodal/scripts/.coverage +0 -0
- package/.claude/skills/ai-multimodal/scripts/document_converter.py +395 -0
- package/.claude/skills/ai-multimodal/scripts/gemini_batch_process.py +480 -0
- package/.claude/skills/ai-multimodal/scripts/media_optimizer.py +506 -0
- package/.claude/skills/ai-multimodal/scripts/requirements.txt +26 -0
- package/.claude/skills/ai-multimodal/scripts/tests/.coverage +0 -0
- package/.claude/skills/ai-multimodal/scripts/tests/requirements.txt +20 -0
- package/.claude/skills/ai-multimodal/scripts/tests/test_document_converter.py +74 -0
- package/.claude/skills/ai-multimodal/scripts/tests/test_failures.log +258 -0
- package/.claude/skills/ai-multimodal/scripts/tests/test_gemini_batch_process.py +362 -0
- package/.claude/skills/ai-multimodal/scripts/tests/test_media_optimizer.py +373 -0
- package/.claude/skills/backend-development/SKILL.md +95 -0
- package/.claude/skills/backend-development/references/backend-api-design.md +495 -0
- package/.claude/skills/backend-development/references/backend-architecture.md +454 -0
- package/.claude/skills/backend-development/references/backend-authentication.md +338 -0
- package/.claude/skills/backend-development/references/backend-code-quality.md +659 -0
- package/.claude/skills/backend-development/references/backend-debugging.md +904 -0
- package/.claude/skills/backend-development/references/backend-devops.md +494 -0
- package/.claude/skills/backend-development/references/backend-mindset.md +387 -0
- package/.claude/skills/backend-development/references/backend-performance.md +397 -0
- package/.claude/skills/backend-development/references/backend-security.md +290 -0
- package/.claude/skills/backend-development/references/backend-technologies.md +256 -0
- package/.claude/skills/backend-development/references/backend-testing.md +429 -0
- package/.claude/skills/better-auth/SKILL.md +204 -0
- package/.claude/skills/better-auth/references/advanced-features.md +553 -0
- package/.claude/skills/better-auth/references/database-integration.md +577 -0
- package/.claude/skills/better-auth/references/email-password-auth.md +416 -0
- package/.claude/skills/better-auth/references/oauth-providers.md +430 -0
- package/.claude/skills/better-auth/scripts/.coverage +0 -0
- package/.claude/skills/better-auth/scripts/better_auth_init.py +521 -0
- package/.claude/skills/better-auth/scripts/requirements.txt +15 -0
- package/.claude/skills/better-auth/scripts/tests/.coverage +0 -0
- package/.claude/skills/better-auth/scripts/tests/test_better_auth_init.py +421 -0
- package/.claude/skills/chrome-devtools/SKILL.md +360 -0
- package/.claude/skills/chrome-devtools/references/cdp-domains.md +694 -0
- package/.claude/skills/chrome-devtools/references/performance-guide.md +940 -0
- package/.claude/skills/chrome-devtools/references/puppeteer-reference.md +953 -0
- package/.claude/skills/chrome-devtools/scripts/README.md +213 -0
- package/.claude/skills/chrome-devtools/scripts/__tests__/selector.test.js +210 -0
- package/.claude/skills/chrome-devtools/scripts/click.js +79 -0
- package/.claude/skills/chrome-devtools/scripts/console.js +75 -0
- package/.claude/skills/chrome-devtools/scripts/evaluate.js +49 -0
- package/.claude/skills/chrome-devtools/scripts/fill.js +72 -0
- package/.claude/skills/chrome-devtools/scripts/install-deps.sh +181 -0
- package/.claude/skills/chrome-devtools/scripts/install.sh +83 -0
- package/.claude/skills/chrome-devtools/scripts/lib/browser.js +122 -0
- package/.claude/skills/chrome-devtools/scripts/lib/selector.js +178 -0
- package/.claude/skills/chrome-devtools/scripts/navigate.js +46 -0
- package/.claude/skills/chrome-devtools/scripts/network.js +102 -0
- package/.claude/skills/chrome-devtools/scripts/package.json +15 -0
- package/.claude/skills/chrome-devtools/scripts/performance.js +145 -0
- package/.claude/skills/chrome-devtools/scripts/screenshot.js +180 -0
- package/.claude/skills/chrome-devtools/scripts/snapshot.js +131 -0
- package/.claude/skills/claude-code/references/advanced-features.md +399 -0
- package/.claude/skills/claude-code/references/agent-skills.md +399 -0
- package/.claude/skills/claude-code/references/api-reference.md +498 -0
- package/.claude/skills/claude-code/references/best-practices.md +447 -0
- package/.claude/skills/claude-code/references/cicd-integration.md +428 -0
- package/.claude/skills/claude-code/references/configuration.md +480 -0
- package/.claude/skills/claude-code/references/enterprise-features.md +472 -0
- package/.claude/skills/claude-code/references/getting-started.md +252 -0
- package/.claude/skills/claude-code/references/hooks-and-plugins.md +441 -0
- package/.claude/skills/claude-code/references/ide-integration.md +316 -0
- package/.claude/skills/claude-code/references/mcp-integration.md +386 -0
- package/.claude/skills/claude-code/references/slash-commands.md +489 -0
- package/.claude/skills/claude-code/references/troubleshooting.md +456 -0
- package/.claude/skills/claude-code/skill.md +188 -0
- package/.claude/skills/code-review/SKILL.md +143 -0
- package/.claude/skills/code-review/references/code-review-reception.md +209 -0
- package/.claude/skills/code-review/references/requesting-code-review.md +105 -0
- package/.claude/skills/code-review/references/verification-before-completion.md +139 -0
- package/.claude/skills/common/README.md +120 -0
- package/.claude/skills/common/api_key_helper.py +300 -0
- package/.claude/skills/databases/SKILL.md +232 -0
- package/.claude/skills/databases/references/mongodb-aggregation.md +447 -0
- package/.claude/skills/databases/references/mongodb-atlas.md +465 -0
- package/.claude/skills/databases/references/mongodb-crud.md +408 -0
- package/.claude/skills/databases/references/mongodb-indexing.md +442 -0
- package/.claude/skills/databases/references/postgresql-administration.md +594 -0
- package/.claude/skills/databases/references/postgresql-performance.md +527 -0
- package/.claude/skills/databases/references/postgresql-psql-cli.md +467 -0
- package/.claude/skills/databases/references/postgresql-queries.md +475 -0
- package/.claude/skills/databases/scripts/.coverage +0 -0
- package/.claude/skills/databases/scripts/db_backup.py +502 -0
- package/.claude/skills/databases/scripts/db_migrate.py +414 -0
- package/.claude/skills/databases/scripts/db_performance_check.py +444 -0
- package/.claude/skills/databases/scripts/requirements.txt +20 -0
- package/.claude/skills/databases/scripts/tests/coverage-db.json +1 -0
- package/.claude/skills/databases/scripts/tests/requirements.txt +4 -0
- package/.claude/skills/databases/scripts/tests/test_db_backup.py +340 -0
- package/.claude/skills/databases/scripts/tests/test_db_migrate.py +277 -0
- package/.claude/skills/databases/scripts/tests/test_db_performance_check.py +370 -0
- package/.claude/skills/debugging/SKILL.md +84 -0
- package/.claude/skills/debugging/references/defense-in-depth.md +124 -0
- package/.claude/skills/debugging/references/root-cause-tracing.md +122 -0
- package/.claude/skills/debugging/references/systematic-debugging.md +102 -0
- package/.claude/skills/debugging/references/verification.md +123 -0
- package/.claude/skills/debugging/scripts/find-polluter.sh +63 -0
- package/.claude/skills/debugging/scripts/find-polluter.test.md +102 -0
- package/.claude/skills/devops/.env.example +76 -0
- package/.claude/skills/devops/SKILL.md +285 -0
- package/.claude/skills/devops/references/browser-rendering.md +305 -0
- package/.claude/skills/devops/references/cloudflare-d1-kv.md +123 -0
- package/.claude/skills/devops/references/cloudflare-platform.md +271 -0
- package/.claude/skills/devops/references/cloudflare-r2-storage.md +280 -0
- package/.claude/skills/devops/references/cloudflare-workers-advanced.md +312 -0
- package/.claude/skills/devops/references/cloudflare-workers-apis.md +309 -0
- package/.claude/skills/devops/references/cloudflare-workers-basics.md +418 -0
- package/.claude/skills/devops/references/docker-basics.md +297 -0
- package/.claude/skills/devops/references/docker-compose.md +292 -0
- package/.claude/skills/devops/references/gcloud-platform.md +297 -0
- package/.claude/skills/devops/references/gcloud-services.md +304 -0
- package/.claude/skills/devops/scripts/cloudflare_deploy.py +269 -0
- package/.claude/skills/devops/scripts/docker_optimize.py +320 -0
- package/.claude/skills/devops/scripts/requirements.txt +20 -0
- package/.claude/skills/devops/scripts/tests/requirements.txt +3 -0
- package/.claude/skills/devops/scripts/tests/test_cloudflare_deploy.py +285 -0
- package/.claude/skills/devops/scripts/tests/test_docker_optimize.py +436 -0
- package/.claude/skills/docs-seeker/.env.example +15 -0
- package/.claude/skills/docs-seeker/SKILL.md +97 -0
- package/.claude/skills/docs-seeker/package.json +25 -0
- package/.claude/skills/docs-seeker/references/advanced.md +79 -0
- package/.claude/skills/docs-seeker/references/context7-patterns.md +68 -0
- package/.claude/skills/docs-seeker/references/errors.md +68 -0
- package/.claude/skills/docs-seeker/scripts/analyze-llms-txt.js +211 -0
- package/.claude/skills/docs-seeker/scripts/detect-topic.js +172 -0
- package/.claude/skills/docs-seeker/scripts/fetch-docs.js +213 -0
- package/.claude/skills/docs-seeker/scripts/tests/run-tests.js +72 -0
- package/.claude/skills/docs-seeker/scripts/tests/test-analyze-llms.js +119 -0
- package/.claude/skills/docs-seeker/scripts/tests/test-detect-topic.js +112 -0
- package/.claude/skills/docs-seeker/scripts/tests/test-fetch-docs.js +84 -0
- package/.claude/skills/docs-seeker/scripts/utils/env-loader.js +94 -0
- package/.claude/skills/docs-seeker/workflows/library-search.md +87 -0
- package/.claude/skills/docs-seeker/workflows/repo-analysis.md +91 -0
- package/.claude/skills/docs-seeker/workflows/topic-search.md +77 -0
- package/.claude/skills/document-skills/docx/LICENSE.txt +30 -0
- package/.claude/skills/document-skills/docx/SKILL.md +197 -0
- package/.claude/skills/document-skills/docx/docx-js.md +350 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/.claude/skills/document-skills/docx/ooxml/scripts/pack.py +159 -0
- package/.claude/skills/document-skills/docx/ooxml/scripts/unpack.py +29 -0
- package/.claude/skills/document-skills/docx/ooxml/scripts/validate.py +69 -0
- package/.claude/skills/document-skills/docx/ooxml/scripts/validation/__init__.py +15 -0
- package/.claude/skills/document-skills/docx/ooxml/scripts/validation/base.py +951 -0
- package/.claude/skills/document-skills/docx/ooxml/scripts/validation/docx.py +274 -0
- package/.claude/skills/document-skills/docx/ooxml/scripts/validation/pptx.py +315 -0
- package/.claude/skills/document-skills/docx/ooxml/scripts/validation/redlining.py +279 -0
- package/.claude/skills/document-skills/docx/ooxml.md +610 -0
- package/.claude/skills/document-skills/docx/scripts/__init__.py +1 -0
- package/.claude/skills/document-skills/docx/scripts/document.py +1276 -0
- package/.claude/skills/document-skills/docx/scripts/templates/comments.xml +3 -0
- package/.claude/skills/document-skills/docx/scripts/templates/commentsExtended.xml +3 -0
- package/.claude/skills/document-skills/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/.claude/skills/document-skills/docx/scripts/templates/commentsIds.xml +3 -0
- package/.claude/skills/document-skills/docx/scripts/templates/people.xml +3 -0
- package/.claude/skills/document-skills/docx/scripts/utilities.py +374 -0
- package/.claude/skills/document-skills/pdf/LICENSE.txt +30 -0
- package/.claude/skills/document-skills/pdf/SKILL.md +294 -0
- package/.claude/skills/document-skills/pdf/forms.md +205 -0
- package/.claude/skills/document-skills/pdf/reference.md +612 -0
- package/.claude/skills/document-skills/pdf/scripts/check_bounding_boxes.py +70 -0
- package/.claude/skills/document-skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
- package/.claude/skills/document-skills/pdf/scripts/check_fillable_fields.py +12 -0
- package/.claude/skills/document-skills/pdf/scripts/convert_pdf_to_images.py +35 -0
- package/.claude/skills/document-skills/pdf/scripts/create_validation_image.py +41 -0
- package/.claude/skills/document-skills/pdf/scripts/extract_form_field_info.py +152 -0
- package/.claude/skills/document-skills/pdf/scripts/fill_fillable_fields.py +114 -0
- package/.claude/skills/document-skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
- package/.claude/skills/document-skills/pptx/LICENSE.txt +30 -0
- package/.claude/skills/document-skills/pptx/SKILL.md +484 -0
- package/.claude/skills/document-skills/pptx/html2pptx.md +625 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/.claude/skills/document-skills/pptx/ooxml/scripts/pack.py +159 -0
- package/.claude/skills/document-skills/pptx/ooxml/scripts/unpack.py +29 -0
- package/.claude/skills/document-skills/pptx/ooxml/scripts/validate.py +69 -0
- package/.claude/skills/document-skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
- package/.claude/skills/document-skills/pptx/ooxml/scripts/validation/base.py +951 -0
- package/.claude/skills/document-skills/pptx/ooxml/scripts/validation/docx.py +274 -0
- package/.claude/skills/document-skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
- package/.claude/skills/document-skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
- package/.claude/skills/document-skills/pptx/ooxml.md +427 -0
- package/.claude/skills/document-skills/pptx/scripts/html2pptx.js +979 -0
- package/.claude/skills/document-skills/pptx/scripts/inventory.py +1020 -0
- package/.claude/skills/document-skills/pptx/scripts/rearrange.py +231 -0
- package/.claude/skills/document-skills/pptx/scripts/replace.py +385 -0
- package/.claude/skills/document-skills/pptx/scripts/thumbnail.py +450 -0
- package/.claude/skills/document-skills/xlsx/LICENSE.txt +30 -0
- package/.claude/skills/document-skills/xlsx/SKILL.md +289 -0
- package/.claude/skills/document-skills/xlsx/recalc.py +178 -0
- package/.claude/skills/frontend-design/SKILL.md +42 -0
- package/.claude/skills/frontend-design/references/animejs.md +396 -0
- package/.claude/skills/frontend-development/SKILL.md +399 -0
- package/.claude/skills/frontend-development/resources/common-patterns.md +331 -0
- package/.claude/skills/frontend-development/resources/complete-examples.md +872 -0
- package/.claude/skills/frontend-development/resources/component-patterns.md +502 -0
- package/.claude/skills/frontend-development/resources/data-fetching.md +767 -0
- package/.claude/skills/frontend-development/resources/file-organization.md +502 -0
- package/.claude/skills/frontend-development/resources/loading-and-error-states.md +501 -0
- package/.claude/skills/frontend-development/resources/performance.md +406 -0
- package/.claude/skills/frontend-development/resources/routing-guide.md +364 -0
- package/.claude/skills/frontend-development/resources/styling-guide.md +428 -0
- package/.claude/skills/frontend-development/resources/typescript-standards.md +418 -0
- package/.claude/skills/google-adk-python/SKILL.md +237 -0
- package/.claude/skills/mcp-builder/LICENSE.txt +202 -0
- package/.claude/skills/mcp-builder/SKILL.md +328 -0
- package/.claude/skills/mcp-builder/reference/evaluation.md +602 -0
- package/.claude/skills/mcp-builder/reference/mcp_best_practices.md +915 -0
- package/.claude/skills/mcp-builder/reference/node_mcp_server.md +916 -0
- package/.claude/skills/mcp-builder/reference/python_mcp_server.md +752 -0
- package/.claude/skills/mcp-builder/scripts/connections.py +151 -0
- package/.claude/skills/mcp-builder/scripts/evaluation.py +373 -0
- package/.claude/skills/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/.claude/skills/mcp-builder/scripts/requirements.txt +2 -0
- package/.claude/skills/mcp-management/README.md +219 -0
- package/.claude/skills/mcp-management/SKILL.md +209 -0
- package/.claude/skills/mcp-management/assets/tools.json +3146 -0
- package/.claude/skills/mcp-management/references/configuration.md +114 -0
- package/.claude/skills/mcp-management/references/gemini-cli-integration.md +215 -0
- package/.claude/skills/mcp-management/references/mcp-protocol.md +116 -0
- package/.claude/skills/mcp-management/scripts/.env.example +10 -0
- package/.claude/skills/mcp-management/scripts/cli.ts +195 -0
- package/.claude/skills/mcp-management/scripts/dist/analyze-tools.js +70 -0
- package/.claude/skills/mcp-management/scripts/dist/cli.js +127 -0
- package/.claude/skills/mcp-management/scripts/dist/mcp-client.js +115 -0
- package/.claude/skills/mcp-management/scripts/mcp-client.ts +230 -0
- package/.claude/skills/mcp-management/scripts/package.json +20 -0
- package/.claude/skills/mcp-management/scripts/tsconfig.json +15 -0
- package/.claude/skills/media-processing/SKILL.md +358 -0
- package/.claude/skills/media-processing/references/ffmpeg-encoding.md +358 -0
- package/.claude/skills/media-processing/references/ffmpeg-filters.md +503 -0
- package/.claude/skills/media-processing/references/ffmpeg-streaming.md +403 -0
- package/.claude/skills/media-processing/references/format-compatibility.md +375 -0
- package/.claude/skills/media-processing/references/imagemagick-batch.md +612 -0
- package/.claude/skills/media-processing/references/imagemagick-editing.md +623 -0
- package/.claude/skills/media-processing/scripts/batch_resize.py +342 -0
- package/.claude/skills/media-processing/scripts/media_convert.py +311 -0
- package/.claude/skills/media-processing/scripts/requirements.txt +24 -0
- package/.claude/skills/media-processing/scripts/tests/.coverage +0 -0
- package/.claude/skills/media-processing/scripts/tests/requirements.txt +2 -0
- package/.claude/skills/media-processing/scripts/tests/test_batch_resize.py +372 -0
- package/.claude/skills/media-processing/scripts/tests/test_media_convert.py +259 -0
- package/.claude/skills/media-processing/scripts/tests/test_video_optimize.py +397 -0
- package/.claude/skills/media-processing/scripts/video_optimize.py +414 -0
- package/.claude/skills/mobile-development/SKILL.md +212 -0
- package/.claude/skills/mobile-development/references/mobile-android.md +604 -0
- package/.claude/skills/mobile-development/references/mobile-best-practices.md +545 -0
- package/.claude/skills/mobile-development/references/mobile-debugging.md +1089 -0
- package/.claude/skills/mobile-development/references/mobile-frameworks.md +465 -0
- package/.claude/skills/mobile-development/references/mobile-ios.md +496 -0
- package/.claude/skills/mobile-development/references/mobile-mindset.md +544 -0
- package/.claude/skills/payment-integration/README.md +185 -0
- package/.claude/skills/payment-integration/SKILL.md +118 -0
- package/.claude/skills/payment-integration/references/polar/benefits.md +396 -0
- package/.claude/skills/payment-integration/references/polar/best-practices.md +482 -0
- package/.claude/skills/payment-integration/references/polar/checkouts.md +266 -0
- package/.claude/skills/payment-integration/references/polar/overview.md +184 -0
- package/.claude/skills/payment-integration/references/polar/products.md +244 -0
- package/.claude/skills/payment-integration/references/polar/sdk.md +436 -0
- package/.claude/skills/payment-integration/references/polar/subscriptions.md +340 -0
- package/.claude/skills/payment-integration/references/polar/webhooks.md +405 -0
- package/.claude/skills/payment-integration/references/sepay/api.md +140 -0
- package/.claude/skills/payment-integration/references/sepay/best-practices.md +337 -0
- package/.claude/skills/payment-integration/references/sepay/overview.md +138 -0
- package/.claude/skills/payment-integration/references/sepay/qr-codes.md +228 -0
- package/.claude/skills/payment-integration/references/sepay/sdk.md +213 -0
- package/.claude/skills/payment-integration/references/sepay/webhooks.md +208 -0
- package/.claude/skills/payment-integration/scripts/.env.example +20 -0
- package/.claude/skills/payment-integration/scripts/checkout-helper.js +244 -0
- package/.claude/skills/payment-integration/scripts/package.json +17 -0
- package/.claude/skills/payment-integration/scripts/polar-webhook-verify.js +202 -0
- package/.claude/skills/payment-integration/scripts/sepay-webhook-verify.js +193 -0
- package/.claude/skills/payment-integration/scripts/test-scripts.js +237 -0
- package/.claude/skills/payment-integration.tar.gz +0 -0
- package/.claude/skills/planning/SKILL.md +88 -0
- package/.claude/skills/planning/references/codebase-understanding.md +62 -0
- package/.claude/skills/planning/references/output-standards.md +87 -0
- package/.claude/skills/planning/references/plan-organization.md +100 -0
- package/.claude/skills/planning/references/research-phase.md +49 -0
- package/.claude/skills/planning/references/solution-design.md +63 -0
- package/.claude/skills/problem-solving/SKILL.md +96 -0
- package/.claude/skills/problem-solving/references/attribution.md +69 -0
- package/.claude/skills/problem-solving/references/collision-zone-thinking.md +79 -0
- package/.claude/skills/problem-solving/references/inversion-exercise.md +91 -0
- package/.claude/skills/problem-solving/references/meta-pattern-recognition.md +87 -0
- package/.claude/skills/problem-solving/references/scale-game.md +95 -0
- package/.claude/skills/problem-solving/references/simplification-cascades.md +80 -0
- package/.claude/skills/problem-solving/references/when-stuck.md +72 -0
- package/.claude/skills/repomix/SKILL.md +247 -0
- package/.claude/skills/repomix/references/configuration.md +211 -0
- package/.claude/skills/repomix/references/usage-patterns.md +232 -0
- package/.claude/skills/repomix/scripts/.coverage +0 -0
- package/.claude/skills/repomix/scripts/README.md +179 -0
- package/.claude/skills/repomix/scripts/repomix_batch.py +455 -0
- package/.claude/skills/repomix/scripts/repos.example.json +15 -0
- package/.claude/skills/repomix/scripts/requirements.txt +15 -0
- package/.claude/skills/repomix/scripts/tests/test_repomix_batch.py +531 -0
- package/.claude/skills/research/SKILL.md +168 -0
- package/.claude/skills/sequential-thinking/.env.example +8 -0
- package/.claude/skills/sequential-thinking/README.md +183 -0
- package/.claude/skills/sequential-thinking/SKILL.md +94 -0
- package/.claude/skills/sequential-thinking/package.json +31 -0
- package/.claude/skills/sequential-thinking/references/advanced-strategies.md +79 -0
- package/.claude/skills/sequential-thinking/references/advanced-techniques.md +76 -0
- package/.claude/skills/sequential-thinking/references/core-patterns.md +95 -0
- package/.claude/skills/sequential-thinking/references/examples-api.md +88 -0
- package/.claude/skills/sequential-thinking/references/examples-architecture.md +94 -0
- package/.claude/skills/sequential-thinking/references/examples-debug.md +90 -0
- package/.claude/skills/sequential-thinking/scripts/format-thought.js +159 -0
- package/.claude/skills/sequential-thinking/scripts/process-thought.js +236 -0
- package/.claude/skills/sequential-thinking/tests/format-thought.test.js +133 -0
- package/.claude/skills/sequential-thinking/tests/process-thought.test.js +215 -0
- package/.claude/skills/shopify/README.md +66 -0
- package/.claude/skills/shopify/SKILL.md +319 -0
- package/.claude/skills/shopify/references/app-development.md +470 -0
- package/.claude/skills/shopify/references/extensions.md +493 -0
- package/.claude/skills/shopify/references/themes.md +498 -0
- package/.claude/skills/shopify/scripts/.coverage +0 -0
- package/.claude/skills/shopify/scripts/requirements.txt +19 -0
- package/.claude/skills/shopify/scripts/shopify_init.py +423 -0
- package/.claude/skills/shopify/scripts/tests/.coverage +0 -0
- package/.claude/skills/shopify/scripts/tests/test_shopify_init.py +385 -0
- package/.claude/skills/skill-creator/LICENSE.txt +202 -0
- package/.claude/skills/skill-creator/SKILL.md +255 -0
- package/.claude/skills/skill-creator/scripts/init_skill.py +303 -0
- package/.claude/skills/skill-creator/scripts/package_skill.py +110 -0
- package/.claude/skills/skill-creator/scripts/quick_validate.py +65 -0
- package/.claude/skills/template-skill/SKILL.md +6 -0
- package/.claude/skills/threejs/SKILL.md +89 -0
- package/.claude/skills/threejs/references/01-getting-started.md +177 -0
- package/.claude/skills/threejs/references/02-loaders.md +169 -0
- package/.claude/skills/threejs/references/03-textures.md +170 -0
- package/.claude/skills/threejs/references/04-cameras.md +195 -0
- package/.claude/skills/threejs/references/05-lights.md +183 -0
- package/.claude/skills/threejs/references/06-animations.md +214 -0
- package/.claude/skills/threejs/references/07-math.md +260 -0
- package/.claude/skills/threejs/references/08-interaction.md +267 -0
- package/.claude/skills/threejs/references/09-postprocessing.md +240 -0
- package/.claude/skills/threejs/references/10-controls.md +259 -0
- package/.claude/skills/threejs/references/11-materials-advanced.md +270 -0
- package/.claude/skills/threejs/references/12-performance.md +269 -0
- package/.claude/skills/threejs/references/13-node-materials.md +298 -0
- package/.claude/skills/threejs/references/14-physics-vr.md +304 -0
- package/.claude/skills/threejs/references/15-specialized-loaders.md +333 -0
- package/.claude/skills/threejs/references/16-webgpu.md +302 -0
- package/.claude/skills/ui-styling/LICENSE.txt +202 -0
- package/.claude/skills/ui-styling/SKILL.md +321 -0
- package/.claude/skills/ui-styling/canvas-fonts/ArsenalSC-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/ArsenalSC-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/BigShoulders-Bold.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/BigShoulders-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/BigShoulders-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/Boldonse-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/Boldonse-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/BricolageGrotesque-Bold.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/BricolageGrotesque-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/BricolageGrotesque-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/CrimsonPro-Bold.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/CrimsonPro-Italic.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/CrimsonPro-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/CrimsonPro-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/DMMono-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/DMMono-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/EricaOne-OFL.txt +94 -0
- package/.claude/skills/ui-styling/canvas-fonts/EricaOne-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/GeistMono-Bold.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/GeistMono-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/GeistMono-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/Gloock-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/Gloock-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/IBMPlexMono-Bold.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/IBMPlexMono-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/IBMPlexMono-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/IBMPlexSerif-Bold.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/IBMPlexSerif-BoldItalic.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/IBMPlexSerif-Italic.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/IBMPlexSerif-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-Bold.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-BoldItalic.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-Italic.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/InstrumentSans-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/InstrumentSerif-Italic.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/InstrumentSerif-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/Italiana-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/Italiana-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/JetBrainsMono-Bold.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/JetBrainsMono-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/JetBrainsMono-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/Jura-Light.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/Jura-Medium.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/Jura-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/LibreBaskerville-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/LibreBaskerville-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/Lora-Bold.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/Lora-BoldItalic.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/Lora-Italic.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/Lora-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/Lora-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/NationalPark-Bold.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/NationalPark-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/NationalPark-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/NothingYouCouldDo-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/NothingYouCouldDo-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/Outfit-Bold.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/Outfit-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/Outfit-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/PixelifySans-Medium.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/PixelifySans-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/PoiretOne-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/PoiretOne-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/RedHatMono-Bold.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/RedHatMono-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/RedHatMono-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/Silkscreen-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/Silkscreen-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/SmoochSans-Medium.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/SmoochSans-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/Tektur-Medium.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/Tektur-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/Tektur-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/WorkSans-Bold.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/WorkSans-BoldItalic.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/WorkSans-Italic.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/WorkSans-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/WorkSans-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/canvas-fonts/YoungSerif-OFL.txt +93 -0
- package/.claude/skills/ui-styling/canvas-fonts/YoungSerif-Regular.ttf +0 -0
- package/.claude/skills/ui-styling/references/canvas-design-system.md +320 -0
- package/.claude/skills/ui-styling/references/shadcn-accessibility.md +471 -0
- package/.claude/skills/ui-styling/references/shadcn-components.md +424 -0
- package/.claude/skills/ui-styling/references/shadcn-theming.md +373 -0
- package/.claude/skills/ui-styling/references/tailwind-customization.md +483 -0
- package/.claude/skills/ui-styling/references/tailwind-responsive.md +382 -0
- package/.claude/skills/ui-styling/references/tailwind-utilities.md +455 -0
- package/.claude/skills/ui-styling/scripts/.coverage +0 -0
- package/.claude/skills/ui-styling/scripts/requirements.txt +17 -0
- package/.claude/skills/ui-styling/scripts/shadcn_add.py +292 -0
- package/.claude/skills/ui-styling/scripts/tailwind_config_gen.py +456 -0
- package/.claude/skills/ui-styling/scripts/tests/coverage-ui.json +1 -0
- package/.claude/skills/ui-styling/scripts/tests/requirements.txt +3 -0
- package/.claude/skills/ui-styling/scripts/tests/test_shadcn_add.py +266 -0
- package/.claude/skills/ui-styling/scripts/tests/test_tailwind_config_gen.py +336 -0
- package/.claude/skills/web-frameworks/SKILL.md +324 -0
- package/.claude/skills/web-frameworks/references/nextjs-app-router.md +465 -0
- package/.claude/skills/web-frameworks/references/nextjs-data-fetching.md +459 -0
- package/.claude/skills/web-frameworks/references/nextjs-optimization.md +511 -0
- package/.claude/skills/web-frameworks/references/nextjs-server-components.md +495 -0
- package/.claude/skills/web-frameworks/references/remix-icon-integration.md +603 -0
- package/.claude/skills/web-frameworks/references/turborepo-caching.md +551 -0
- package/.claude/skills/web-frameworks/references/turborepo-pipelines.md +517 -0
- package/.claude/skills/web-frameworks/references/turborepo-setup.md +542 -0
- package/.claude/skills/web-frameworks/scripts/.coverage +0 -0
- package/.claude/skills/web-frameworks/scripts/__init__.py +0 -0
- package/.claude/skills/web-frameworks/scripts/nextjs_init.py +547 -0
- package/.claude/skills/web-frameworks/scripts/requirements.txt +16 -0
- package/.claude/skills/web-frameworks/scripts/tests/coverage-web.json +1 -0
- package/.claude/skills/web-frameworks/scripts/tests/requirements.txt +3 -0
- package/.claude/skills/web-frameworks/scripts/tests/test_nextjs_init.py +319 -0
- package/.claude/skills/web-frameworks/scripts/tests/test_turborepo_migrate.py +374 -0
- package/.claude/skills/web-frameworks/scripts/turborepo_migrate.py +394 -0
- package/.claude/statusline.js +263 -0
- package/.claude/statusline.ps1 +312 -0
- package/.claude/statusline.sh +141 -0
- package/.claude/workflows/development-rules.md +42 -0
- package/.claude/workflows/documentation-management.md +28 -0
- package/.claude/workflows/orchestration-protocol.md +16 -0
- package/.claude/workflows/primary-workflow.md +45 -0
- package/.opencode/agent/code-reviewer.md +141 -0
- package/.opencode/agent/debugger.md +75 -0
- package/.opencode/agent/docs-manager.md +120 -0
- package/.opencode/agent/git-manager.md +60 -0
- package/.opencode/agent/planner-researcher.md +101 -0
- package/.opencode/agent/planner.md +88 -0
- package/.opencode/agent/project-manager.md +113 -0
- package/.opencode/agent/researcher.md +174 -0
- package/.opencode/agent/solution-brainstormer.md +90 -0
- package/.opencode/agent/system-architecture.md +193 -0
- package/.opencode/agent/tester.md +96 -0
- package/.opencode/agent/ui-ux-designer.md +233 -0
- package/.opencode/agent/ui-ux-developer.md +98 -0
- package/.opencode/command/cook.md +7 -0
- package/.opencode/command/debug.md +10 -0
- package/.opencode/command/design/3d.md +65 -0
- package/.opencode/command/design/fast.md +18 -0
- package/.opencode/command/design/good.md +21 -0
- package/.opencode/command/design/screenshot.md +22 -0
- package/.opencode/command/design/video.md +22 -0
- package/.opencode/command/docs/init.md +11 -0
- package/.opencode/command/docs/summarize.md +10 -0
- package/.opencode/command/docs/update.md +18 -0
- package/.opencode/command/fix/ci.md +8 -0
- package/.opencode/command/fix/fast.md +11 -0
- package/.opencode/command/fix/hard.md +15 -0
- package/.opencode/command/fix/logs.md +16 -0
- package/.opencode/command/fix/test.md +18 -0
- package/.opencode/command/fix/types.md +10 -0
- package/.opencode/command/git/cm.md +5 -0
- package/.opencode/command/git/cp.md +4 -0
- package/.opencode/command/plan/ci.md +12 -0
- package/.opencode/command/plan/two.md +13 -0
- package/.opencode/command/plan.md +10 -0
- package/.opencode/command/test.md +7 -0
- package/.opencode/command/watzup.md +8 -0
- package/CLAUDE.md +39 -0
- package/LICENSE +21 -0
- package/README.md +639 -0
- package/package.json +61 -0
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
#Requires -Version 5.1
|
|
2
|
+
# Custom Claude Code statusline for PowerShell
|
|
3
|
+
# Cross-platform support: Windows PowerShell 5.1+, PowerShell Core 7+
|
|
4
|
+
# Theme: detailed | Colors: true | Features: directory, git, model, usage, session, tokens
|
|
5
|
+
|
|
6
|
+
# Set UTF-8 encoding
|
|
7
|
+
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
|
|
8
|
+
$OutputEncoding = [System.Text.Encoding]::UTF8
|
|
9
|
+
|
|
10
|
+
# Enable virtual terminal sequences for ANSI colors
|
|
11
|
+
function Enable-VirtualTerminal {
|
|
12
|
+
if ($PSVersionTable.PSVersion.Major -ge 6) {
|
|
13
|
+
# PowerShell Core 7+ has built-in support
|
|
14
|
+
return
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
# Windows PowerShell 5.1 - enable virtual terminal
|
|
18
|
+
try {
|
|
19
|
+
$null = [System.Console]::OutputEncoding
|
|
20
|
+
if ($PSVersionTable.PSVersion.Major -eq 5) {
|
|
21
|
+
# Attempt to enable virtual terminal processing
|
|
22
|
+
$signature = @'
|
|
23
|
+
[DllImport("kernel32.dll", SetLastError = true)]
|
|
24
|
+
public static extern IntPtr GetStdHandle(int nStdHandle);
|
|
25
|
+
|
|
26
|
+
[DllImport("kernel32.dll", SetLastError = true)]
|
|
27
|
+
public static extern bool GetConsoleMode(IntPtr hConsoleHandle, out uint lpMode);
|
|
28
|
+
|
|
29
|
+
[DllImport("kernel32.dll", SetLastError = true)]
|
|
30
|
+
public static extern bool SetConsoleMode(IntPtr hConsoleHandle, uint dwMode);
|
|
31
|
+
'@
|
|
32
|
+
$type = Add-Type -MemberDefinition $signature -Name 'WinAPI' -Namespace 'VirtualTerminal' -PassThru -ErrorAction SilentlyContinue
|
|
33
|
+
if ($type) {
|
|
34
|
+
$handle = $type::GetStdHandle(-11) # STD_OUTPUT_HANDLE
|
|
35
|
+
$mode = 0
|
|
36
|
+
$null = $type::GetConsoleMode($handle, [ref]$mode)
|
|
37
|
+
$mode = $mode -bor 0x0004 # ENABLE_VIRTUAL_TERMINAL_PROCESSING
|
|
38
|
+
$null = $type::SetConsoleMode($handle, $mode)
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
# Silent fail - colors just won't work
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
# Initialize color support
|
|
48
|
+
$script:UseColor = $true
|
|
49
|
+
if ($env:NO_COLOR) {
|
|
50
|
+
$script:UseColor = $false
|
|
51
|
+
}
|
|
52
|
+
elseif (-not [Console]::IsOutputRedirected -and [Console]::OutputEncoding) {
|
|
53
|
+
Enable-VirtualTerminal
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
$script:UseColor = $false
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
# Color helper functions
|
|
60
|
+
function Get-Color {
|
|
61
|
+
param([string]$Code)
|
|
62
|
+
if ($script:UseColor) { return "`e[${Code}m" }
|
|
63
|
+
return ""
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function Get-Reset {
|
|
67
|
+
if ($script:UseColor) { return "`e[0m" }
|
|
68
|
+
return ""
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
# Color definitions
|
|
72
|
+
$DirColor = Get-Color "1;36" # cyan
|
|
73
|
+
$GitColor = Get-Color "1;32" # green
|
|
74
|
+
$ModelColor = Get-Color "1;35" # magenta
|
|
75
|
+
$VersionColor = Get-Color "1;33" # yellow
|
|
76
|
+
$UsageColor = Get-Color "1;35" # magenta
|
|
77
|
+
$CostColor = Get-Color "1;36" # cyan
|
|
78
|
+
$Reset = Get-Reset
|
|
79
|
+
|
|
80
|
+
# Time conversion functions
|
|
81
|
+
function ConvertTo-Epoch {
|
|
82
|
+
param([string]$Timestamp)
|
|
83
|
+
|
|
84
|
+
try {
|
|
85
|
+
# Parse ISO8601 timestamp
|
|
86
|
+
$dt = [DateTime]::Parse($Timestamp).ToUniversalTime()
|
|
87
|
+
$epoch = [DateTimeOffset]::new($dt).ToUnixTimeSeconds()
|
|
88
|
+
return $epoch
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
return 0
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
function Format-TimeHM {
|
|
96
|
+
param([long]$Epoch)
|
|
97
|
+
|
|
98
|
+
try {
|
|
99
|
+
$dt = [DateTimeOffset]::FromUnixTimeSeconds($Epoch).LocalDateTime
|
|
100
|
+
return $dt.ToString("HH:mm")
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
return "00:00"
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
function Get-ProgressBar {
|
|
108
|
+
param(
|
|
109
|
+
[int]$Percent = 0,
|
|
110
|
+
[int]$Width = 10
|
|
111
|
+
)
|
|
112
|
+
|
|
113
|
+
if ($Percent -lt 0) { $Percent = 0 }
|
|
114
|
+
if ($Percent -gt 100) { $Percent = 100 }
|
|
115
|
+
|
|
116
|
+
$filled = [Math]::Floor($Percent * $Width / 100)
|
|
117
|
+
$empty = $Width - $filled
|
|
118
|
+
|
|
119
|
+
$bar = ("=" * $filled) + ("-" * $empty)
|
|
120
|
+
return $bar
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
function Get-SessionColor {
|
|
124
|
+
param([int]$SessionPercent)
|
|
125
|
+
|
|
126
|
+
if (-not $script:UseColor) { return "" }
|
|
127
|
+
|
|
128
|
+
$remaining = 100 - $SessionPercent
|
|
129
|
+
if ($remaining -le 10) {
|
|
130
|
+
return "`e[1;31m" # red
|
|
131
|
+
}
|
|
132
|
+
elseif ($remaining -le 25) {
|
|
133
|
+
return "`e[1;33m" # yellow
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
return "`e[1;32m" # green
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
# Read JSON from stdin
|
|
141
|
+
try {
|
|
142
|
+
$inputLines = @()
|
|
143
|
+
while ($null -ne ($line = [Console]::In.ReadLine())) {
|
|
144
|
+
$inputLines += $line
|
|
145
|
+
}
|
|
146
|
+
$inputJson = $inputLines -join "`n"
|
|
147
|
+
|
|
148
|
+
if ([string]::IsNullOrWhiteSpace($inputJson)) {
|
|
149
|
+
Write-Error "No input provided"
|
|
150
|
+
exit 1
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
$data = $inputJson | ConvertFrom-Json
|
|
154
|
+
}
|
|
155
|
+
catch {
|
|
156
|
+
Write-Error "Failed to parse JSON input: $_"
|
|
157
|
+
exit 1
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
# Extract basic information
|
|
161
|
+
$currentDir = "unknown"
|
|
162
|
+
if ($data.workspace.current_dir) {
|
|
163
|
+
$currentDir = $data.workspace.current_dir
|
|
164
|
+
}
|
|
165
|
+
elseif ($data.cwd) {
|
|
166
|
+
$currentDir = $data.cwd
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
# Replace home directory with ~
|
|
170
|
+
$homeDir = $env:USERPROFILE
|
|
171
|
+
if (-not $homeDir) {
|
|
172
|
+
$homeDir = $env:HOME
|
|
173
|
+
}
|
|
174
|
+
if ($homeDir -and $currentDir.StartsWith($homeDir)) {
|
|
175
|
+
$currentDir = $currentDir.Replace($homeDir, "~")
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
$modelName = "Claude"
|
|
179
|
+
if ($data.model.display_name) {
|
|
180
|
+
$modelName = $data.model.display_name
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
$modelVersion = ""
|
|
184
|
+
if ($data.model.version -and $data.model.version -ne "null") {
|
|
185
|
+
$modelVersion = $data.model.version
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
# Git branch detection
|
|
189
|
+
$gitBranch = ""
|
|
190
|
+
try {
|
|
191
|
+
$null = git rev-parse --git-dir 2>$null
|
|
192
|
+
if ($LASTEXITCODE -eq 0) {
|
|
193
|
+
$gitBranch = git branch --show-current 2>$null
|
|
194
|
+
if ([string]::IsNullOrWhiteSpace($gitBranch)) {
|
|
195
|
+
$gitBranch = git rev-parse --short HEAD 2>$null
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
catch {
|
|
200
|
+
# Not in a git repository
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
# ccusage integration
|
|
204
|
+
$sessionText = ""
|
|
205
|
+
$sessionPercent = 0
|
|
206
|
+
$sessionBar = ""
|
|
207
|
+
$costUSD = ""
|
|
208
|
+
$costPerHour = ""
|
|
209
|
+
$totalTokens = ""
|
|
210
|
+
|
|
211
|
+
try {
|
|
212
|
+
# Try npx first, then ccusage
|
|
213
|
+
$blocksOutput = $null
|
|
214
|
+
try {
|
|
215
|
+
$blocksOutput = npx ccusage@latest blocks --json 2>$null
|
|
216
|
+
}
|
|
217
|
+
catch {
|
|
218
|
+
try {
|
|
219
|
+
$blocksOutput = ccusage blocks --json 2>$null
|
|
220
|
+
}
|
|
221
|
+
catch {
|
|
222
|
+
# ccusage not available
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
if ($blocksOutput) {
|
|
227
|
+
$blocks = $blocksOutput | ConvertFrom-Json
|
|
228
|
+
$activeBlock = $blocks.blocks | Where-Object { $_.isActive -eq $true } | Select-Object -First 1
|
|
229
|
+
|
|
230
|
+
if ($activeBlock) {
|
|
231
|
+
if ($activeBlock.costUSD) {
|
|
232
|
+
$costUSD = $activeBlock.costUSD
|
|
233
|
+
}
|
|
234
|
+
if ($activeBlock.burnRate.costPerHour) {
|
|
235
|
+
$costPerHour = $activeBlock.burnRate.costPerHour
|
|
236
|
+
}
|
|
237
|
+
if ($activeBlock.totalTokens) {
|
|
238
|
+
$totalTokens = $activeBlock.totalTokens
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
# Session time calculation
|
|
242
|
+
$resetTimeStr = $activeBlock.usageLimitResetTime
|
|
243
|
+
if (-not $resetTimeStr) {
|
|
244
|
+
$resetTimeStr = $activeBlock.endTime
|
|
245
|
+
}
|
|
246
|
+
$startTimeStr = $activeBlock.startTime
|
|
247
|
+
|
|
248
|
+
if ($resetTimeStr -and $startTimeStr) {
|
|
249
|
+
$startSec = ConvertTo-Epoch $startTimeStr
|
|
250
|
+
$endSec = ConvertTo-Epoch $resetTimeStr
|
|
251
|
+
$nowSec = [DateTimeOffset]::UtcNow.ToUnixTimeSeconds()
|
|
252
|
+
|
|
253
|
+
$total = $endSec - $startSec
|
|
254
|
+
if ($total -lt 1) { $total = 1 }
|
|
255
|
+
|
|
256
|
+
$elapsed = $nowSec - $startSec
|
|
257
|
+
if ($elapsed -lt 0) { $elapsed = 0 }
|
|
258
|
+
if ($elapsed -gt $total) { $elapsed = $total }
|
|
259
|
+
|
|
260
|
+
$sessionPercent = [Math]::Floor($elapsed * 100 / $total)
|
|
261
|
+
$remaining = $endSec - $nowSec
|
|
262
|
+
if ($remaining -lt 0) { $remaining = 0 }
|
|
263
|
+
|
|
264
|
+
$rh = [Math]::Floor($remaining / 3600)
|
|
265
|
+
$rm = [Math]::Floor(($remaining % 3600) / 60)
|
|
266
|
+
$endHM = Format-TimeHM $endSec
|
|
267
|
+
|
|
268
|
+
$sessionText = "${rh}h ${rm}m until reset at ${endHM}"
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
# Directory
|
|
273
|
+
$output += "📁 ${DirColor}${currentDir}${Reset}"
|
|
274
|
+
|
|
275
|
+
# Git branch
|
|
276
|
+
if ($gitBranch) {
|
|
277
|
+
$output += " 🌿 ${GitColor}${gitBranch}${Reset}"
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
# Model
|
|
281
|
+
$output += " 🤖 ${ModelColor}${modelName}${Reset}"
|
|
282
|
+
|
|
283
|
+
# Model version
|
|
284
|
+
if ($modelVersion) {
|
|
285
|
+
$output += " 🏷️ ${VersionColor}${modelVersion}${Reset}"
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
# Session time
|
|
289
|
+
if ($sessionText) {
|
|
290
|
+
$sessionColorCode = Get-SessionColor $sessionPercent
|
|
291
|
+
$output += " ⌛ ${sessionColorCode}${sessionText}${Reset}"
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
# Cost
|
|
295
|
+
if ($costUSD -and $costUSD -match '^\d+(\.\d+)?$') {
|
|
296
|
+
if ($costPerHour -and $costPerHour -match '^\d+(\.\d+)?$') {
|
|
297
|
+
$costUSDFormatted = [string]::Format("{0:F2}", [double]$costUSD)
|
|
298
|
+
$costPerHourFormatted = [string]::Format("{0:F2}", [double]$costPerHour)
|
|
299
|
+
$output += " 💵 ${CostColor}`$$costUSDFormatted (`$$costPerHourFormatted/h)${Reset}"
|
|
300
|
+
}
|
|
301
|
+
else {
|
|
302
|
+
$costUSDFormatted = [string]::Format("{0:F2}", [double]$costUSD)
|
|
303
|
+
$output += " 💵 ${CostColor}`$$costUSDFormatted${Reset}"
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
# Tokens
|
|
308
|
+
if ($totalTokens -and $totalTokens -match '^\d+$') {
|
|
309
|
+
$output += " 📊 ${UsageColor}${totalTokens} tok${Reset}"
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
Write-Host $output
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Generated by cc-statusline (https://www.npmjs.com/package/@chongdashu/cc-statusline)
|
|
3
|
+
# Custom Claude Code statusline - Created: 2025-08-19T05:45:09.773Z
|
|
4
|
+
# Theme: detailed | Colors: true | Features: directory, git, model, usage, session, tokens
|
|
5
|
+
|
|
6
|
+
input=$(cat)
|
|
7
|
+
|
|
8
|
+
# ---- color helpers (TTY-aware, respect NO_COLOR) ----
|
|
9
|
+
use_color=1
|
|
10
|
+
[ -t 1 ] || use_color=0
|
|
11
|
+
[ -n "$NO_COLOR" ] && use_color=0
|
|
12
|
+
|
|
13
|
+
C() { if [ "$use_color" -eq 1 ]; then printf '\033[%sm' "$1"; fi; }
|
|
14
|
+
RST() { if [ "$use_color" -eq 1 ]; then printf '\033[0m'; fi; }
|
|
15
|
+
|
|
16
|
+
# ---- basic colors ----
|
|
17
|
+
dir_color() { if [ "$use_color" -eq 1 ]; then printf '\033[1;36m'; fi; } # cyan
|
|
18
|
+
model_color() { if [ "$use_color" -eq 1 ]; then printf '\033[1;35m'; fi; } # magenta
|
|
19
|
+
version_color() { if [ "$use_color" -eq 1 ]; then printf '\033[1;33m'; fi; } # yellow
|
|
20
|
+
rst() { if [ "$use_color" -eq 1 ]; then printf '\033[0m'; fi; }
|
|
21
|
+
|
|
22
|
+
# ---- time helpers ----
|
|
23
|
+
to_epoch() {
|
|
24
|
+
ts="$1"
|
|
25
|
+
if command -v gdate >/dev/null 2>&1; then gdate -d "$ts" +%s 2>/dev/null && return; fi
|
|
26
|
+
date -u -j -f "%Y-%m-%dT%H:%M:%S%z" "${ts/Z/+0000}" +%s 2>/dev/null && return
|
|
27
|
+
python3 - "$ts" <<'PY' 2>/dev/null
|
|
28
|
+
import sys, datetime
|
|
29
|
+
s=sys.argv[1].replace('Z','+00:00')
|
|
30
|
+
print(int(datetime.datetime.fromisoformat(s).timestamp()))
|
|
31
|
+
PY
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
fmt_time_hm() {
|
|
35
|
+
epoch="$1"
|
|
36
|
+
if date -r 0 +%s >/dev/null 2>&1; then date -r "$epoch" +"%H:%M"; else date -d "@$epoch" +"%H:%M"; fi
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
progress_bar() {
|
|
40
|
+
pct="${1:-0}"; width="${2:-10}"
|
|
41
|
+
[[ "$pct" =~ ^[0-9]+$ ]] || pct=0; ((pct<0))&&pct=0; ((pct>100))&&pct=100
|
|
42
|
+
filled=$(( pct * width / 100 )); empty=$(( width - filled ))
|
|
43
|
+
printf '%*s' "$filled" '' | tr ' ' '='
|
|
44
|
+
printf '%*s' "$empty" '' | tr ' ' '-'
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
# git utilities
|
|
48
|
+
num_or_zero() { v="$1"; [[ "$v" =~ ^[0-9]+$ ]] && echo "$v" || echo 0; }
|
|
49
|
+
|
|
50
|
+
# ---- basics ----
|
|
51
|
+
if command -v jq >/dev/null 2>&1; then
|
|
52
|
+
current_dir=$(echo "$input" | jq -r '.workspace.current_dir // .cwd // "unknown"' 2>/dev/null | sed "s|^$HOME|~|g")
|
|
53
|
+
model_name=$(echo "$input" | jq -r '.model.display_name // "Claude"' 2>/dev/null)
|
|
54
|
+
model_version=$(echo "$input" | jq -r '.model.version // ""' 2>/dev/null)
|
|
55
|
+
else
|
|
56
|
+
current_dir="unknown"
|
|
57
|
+
model_name="Claude"; model_version=""
|
|
58
|
+
fi
|
|
59
|
+
|
|
60
|
+
# ---- git colors ----
|
|
61
|
+
git_color() { if [ "$use_color" -eq 1 ]; then printf '\033[1;32m'; fi; }
|
|
62
|
+
rst() { if [ "$use_color" -eq 1 ]; then printf '\033[0m'; fi; }
|
|
63
|
+
|
|
64
|
+
# ---- git ----
|
|
65
|
+
git_branch=""
|
|
66
|
+
if git rev-parse --git-dir >/dev/null 2>&1; then
|
|
67
|
+
git_branch=$(git branch --show-current 2>/dev/null || git rev-parse --short HEAD 2>/dev/null)
|
|
68
|
+
fi
|
|
69
|
+
|
|
70
|
+
# ---- usage colors ----
|
|
71
|
+
usage_color() { if [ "$use_color" -eq 1 ]; then printf '\033[1;35m'; fi; }
|
|
72
|
+
cost_color() { if [ "$use_color" -eq 1 ]; then printf '\033[1;36m'; fi; }
|
|
73
|
+
session_color() {
|
|
74
|
+
rem_pct=$(( 100 - session_pct ))
|
|
75
|
+
if (( rem_pct <= 10 )); then SCLR='1;31'
|
|
76
|
+
elif (( rem_pct <= 25 )); then SCLR='1;33'
|
|
77
|
+
else SCLR='1;32'; fi
|
|
78
|
+
if [ "$use_color" -eq 1 ]; then printf '\033[%sm' "$SCLR"; fi
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
# ---- ccusage integration ----
|
|
82
|
+
session_txt=""; session_pct=0; session_bar=""
|
|
83
|
+
cost_usd=""; cost_per_hour=""; tpm=""; tot_tokens=""
|
|
84
|
+
|
|
85
|
+
if command -v jq >/dev/null 2>&1; then
|
|
86
|
+
blocks_output=$(npx ccusage@latest blocks --json 2>/dev/null || ccusage blocks --json 2>/dev/null)
|
|
87
|
+
if [ -n "$blocks_output" ]; then
|
|
88
|
+
active_block=$(echo "$blocks_output" | jq -c '.blocks[] | select(.isActive == true)' 2>/dev/null | head -n1)
|
|
89
|
+
if [ -n "$active_block" ]; then
|
|
90
|
+
cost_usd=$(echo "$active_block" | jq -r '.costUSD // empty')
|
|
91
|
+
cost_per_hour=$(echo "$active_block" | jq -r '.burnRate.costPerHour // empty')
|
|
92
|
+
tot_tokens=$(echo "$active_block" | jq -r '.totalTokens // empty')
|
|
93
|
+
|
|
94
|
+
# Session time calculation
|
|
95
|
+
reset_time_str=$(echo "$active_block" | jq -r '.usageLimitResetTime // .endTime // empty')
|
|
96
|
+
start_time_str=$(echo "$active_block" | jq -r '.startTime // empty')
|
|
97
|
+
|
|
98
|
+
if [ -n "$reset_time_str" ] && [ -n "$start_time_str" ]; then
|
|
99
|
+
start_sec=$(to_epoch "$start_time_str"); end_sec=$(to_epoch "$reset_time_str"); now_sec=$(date +%s)
|
|
100
|
+
total=$(( end_sec - start_sec )); (( total<1 )) && total=1
|
|
101
|
+
elapsed=$(( now_sec - start_sec )); (( elapsed<0 ))&&elapsed=0; (( elapsed>total ))&&elapsed=$total
|
|
102
|
+
session_pct=$(( elapsed * 100 / total ))
|
|
103
|
+
remaining=$(( end_sec - now_sec )); (( remaining<0 )) && remaining=0
|
|
104
|
+
rh=$(( remaining / 3600 )); rm=$(( (remaining % 3600) / 60 ))
|
|
105
|
+
end_hm=$(fmt_time_hm "$end_sec")
|
|
106
|
+
session_txt="$(printf '%dh %dm until reset at %s' "$rh" "$rm" "$end_hm")"
|
|
107
|
+
fi
|
|
108
|
+
fi
|
|
109
|
+
fi
|
|
110
|
+
fi
|
|
111
|
+
|
|
112
|
+
# ---- render statusline ----
|
|
113
|
+
printf '📁 %s%s%s' "$(dir_color)" "$current_dir" "$(rst)"
|
|
114
|
+
# git display
|
|
115
|
+
if [ -n "$git_branch" ]; then
|
|
116
|
+
printf ' 🌿 %s%s%s' "$(git_color)" "$git_branch" "$(rst)"
|
|
117
|
+
fi
|
|
118
|
+
printf ' 🤖 %s%s%s' "$(model_color)" "$model_name" "$(rst)"
|
|
119
|
+
if [ -n "$model_version" ] && [ "$model_version" != "null" ]; then
|
|
120
|
+
printf ' 🏷️ %s%s%s' "$(version_color)" "$model_version" "$(rst)"
|
|
121
|
+
fi
|
|
122
|
+
# session time
|
|
123
|
+
if [ -n "$session_txt" ]; then
|
|
124
|
+
printf ' ⌛ %s%s%s' "$(session_color)" "$session_txt" "$(rst)"
|
|
125
|
+
fi
|
|
126
|
+
# cost
|
|
127
|
+
if [ -n "$cost_usd" ] && [[ "$cost_usd" =~ ^[0-9.]+$ ]]; then
|
|
128
|
+
if [ -n "$cost_per_hour" ] && [[ "$cost_per_hour" =~ ^[0-9.]+$ ]]; then
|
|
129
|
+
printf ' 💵 %s$%.2f ($%.2f/h)%s' "$(cost_color)" "$cost_usd" "$cost_per_hour" "$(rst)"
|
|
130
|
+
else
|
|
131
|
+
printf ' 💵 %s$%.2f%s' "$(cost_color)" "$cost_usd" "$(rst)"
|
|
132
|
+
fi
|
|
133
|
+
fi
|
|
134
|
+
# tokens
|
|
135
|
+
if [ -n "$tot_tokens" ] && [[ "$tot_tokens" =~ ^[0-9]+$ ]]; then
|
|
136
|
+
if [ -n "$tpm" ] && [[ "$tpm" =~ ^[0-9.]+$ ]] && false; then
|
|
137
|
+
printf ' 📊 %s%s tok (%.0f tpm)%s' "$(usage_color)" "$tot_tokens" "$tpm" "$(rst)"
|
|
138
|
+
else
|
|
139
|
+
printf ' 📊 %s%s tok%s' "$(usage_color)" "$tot_tokens" "$(rst)"
|
|
140
|
+
fi
|
|
141
|
+
fi
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Development Rules
|
|
2
|
+
|
|
3
|
+
**IMPORTANT:** Analyze the skills catalog and activate the skills that are needed for the task during the process.
|
|
4
|
+
**IMPORTANT:** You ALWAYS follow these principles: **YANGI (You Aren't Gonna Need It) - KISS (Keep It Simple, Stupid) - DRY (Don't Repeat Yourself)**
|
|
5
|
+
|
|
6
|
+
## General
|
|
7
|
+
- **File Naming**: Use kebab-case for file names with a meaningful name that describes the purpose of the file, doesn't matter if the file name is long, just make sure when LLMs read the file names while using Grep or other tools, they can understand the purpose of the file right away without reading the file content.
|
|
8
|
+
- **File Size Management**: Keep individual code files under 200 lines for optimal context management
|
|
9
|
+
- Split large files into smaller, focused components/modules
|
|
10
|
+
- Use composition over inheritance for complex widgets
|
|
11
|
+
- Extract utility functions into separate modules
|
|
12
|
+
- Create dedicated service classes for business logic
|
|
13
|
+
- Use `docs-seeker` skill for exploring latest docs of plugins/packages if needed
|
|
14
|
+
- Use `gh` bash command to interact with Github features if needed
|
|
15
|
+
- Use `psql` bash command to query Postgres database for debugging if needed
|
|
16
|
+
- Use `ai-multimodal` skill for describing details of images, videos, documents, etc. if needed
|
|
17
|
+
- Use `ai-multimodal` skill and `imagemagick` skill for generating and editing images, videos, documents, etc. if needed
|
|
18
|
+
- Use `sequential-thinking` skill and `debugging` skills for sequential thinking, analyzing code, debugging, etc. if needed
|
|
19
|
+
- **[IMPORTANT]** Follow the codebase structure and code standards in `./docs` during implementation.
|
|
20
|
+
- **[IMPORTANT]** Do not just simulate the implementation or mocking them, always implement the real code.
|
|
21
|
+
|
|
22
|
+
## Code Quality Guidelines
|
|
23
|
+
- Read and follow codebase structure and code standards in `./docs`
|
|
24
|
+
- Don't be too harsh on code linting, but make sure there are no syntax errors and code are compilable
|
|
25
|
+
- Prioritize functionality and readability over strict style enforcement and code formatting
|
|
26
|
+
- Use reasonable code quality standards that enhance developer productivity
|
|
27
|
+
- Use try catch error handling & cover security standards
|
|
28
|
+
- Use `code-reviewer` agent to review code after every implementation
|
|
29
|
+
|
|
30
|
+
## Pre-commit/Push Rules
|
|
31
|
+
- Run linting before commit
|
|
32
|
+
- Run tests before push (DO NOT ignore failed tests just to pass the build or github actions)
|
|
33
|
+
- Keep commits focused on the actual code changes
|
|
34
|
+
- **DO NOT** commit and push any confidential information (such as dotenv files, API keys, database credentials, etc.) to git repository!
|
|
35
|
+
- Create clean, professional commit messages without AI references. Use conventional commit format.
|
|
36
|
+
|
|
37
|
+
## Code Implementation
|
|
38
|
+
- Write clean, readable, and maintainable code
|
|
39
|
+
- Follow established architectural patterns
|
|
40
|
+
- Implement features according to specifications
|
|
41
|
+
- Handle edge cases and error scenarios
|
|
42
|
+
- **DO NOT** create new enhanced files, update to the existing files directly.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Project Documentation Management
|
|
2
|
+
|
|
3
|
+
### Roadmap & Changelog Maintenance
|
|
4
|
+
- **Project Roadmap** (`./docs/development-roadmap.md`): Living document tracking project phases, milestones, and progress
|
|
5
|
+
- **Project Changelog** (`./docs/project-changelog.md`): Detailed record of all significant changes, features, and fixes
|
|
6
|
+
- **System Architecture** (`./docs/system-architecture.md`): Detailed record of all significant changes, features, and fixes
|
|
7
|
+
- **Code Standards** (`./docs/code-standards.md`): Detailed record of all significant changes, features, and fixes
|
|
8
|
+
|
|
9
|
+
### Automatic Updates Required
|
|
10
|
+
- **After Feature Implementation**: Update roadmap progress status and changelog entries
|
|
11
|
+
- **After Major Milestones**: Review and adjust roadmap phases, update success metrics
|
|
12
|
+
- **After Bug Fixes**: Document fixes in changelog with severity and impact
|
|
13
|
+
- **After Security Updates**: Record security improvements and version updates
|
|
14
|
+
- **Weekly Reviews**: Update progress percentages and milestone statuses
|
|
15
|
+
|
|
16
|
+
### Documentation Triggers
|
|
17
|
+
The `project-manager` agent MUST update these documents when:
|
|
18
|
+
- A development phase status changes (e.g., from "In Progress" to "Complete")
|
|
19
|
+
- Major features are implemented or released
|
|
20
|
+
- Significant bugs are resolved or security patches applied
|
|
21
|
+
- Project timeline or scope adjustments are made
|
|
22
|
+
- External dependencies or breaking changes occur
|
|
23
|
+
|
|
24
|
+
### Update Protocol
|
|
25
|
+
1. **Before Updates**: Always read current roadmap and changelog status
|
|
26
|
+
2. **During Updates**: Maintain version consistency and proper formatting
|
|
27
|
+
3. **After Updates**: Verify links, dates, and cross-references are accurate
|
|
28
|
+
4. **Quality Check**: Ensure updates align with actual implementation progress
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Orchestration Protocol
|
|
2
|
+
|
|
3
|
+
#### Sequential Chaining
|
|
4
|
+
Chain subagents when tasks have dependencies or require outputs from previous steps:
|
|
5
|
+
- **Planning → Implementation → Testing → Review**: Use for feature development
|
|
6
|
+
- **Research → Design → Code → Documentation**: Use for new system components
|
|
7
|
+
- Each agent completes fully before the next begins
|
|
8
|
+
- Pass context and outputs between agents in the chain
|
|
9
|
+
|
|
10
|
+
#### Parallel Execution
|
|
11
|
+
Spawn multiple subagents simultaneously for independent tasks:
|
|
12
|
+
- **Code + Tests + Docs**: When implementing separate, non-conflicting components
|
|
13
|
+
- **Multiple Feature Branches**: Different agents working on isolated features
|
|
14
|
+
- **Cross-platform Development**: iOS and Android specific implementations
|
|
15
|
+
- **Careful Coordination**: Ensure no file conflicts or shared resource contention
|
|
16
|
+
- **Merge Strategy**: Plan integration points before parallel execution begins
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Primary Workflow
|
|
2
|
+
|
|
3
|
+
**IMPORTANT:** Analyze the skills catalog and activate the skills that are needed for the task during the process.
|
|
4
|
+
**IMPORTANT**: Ensure token efficiency while maintaining high quality.
|
|
5
|
+
|
|
6
|
+
#### 1. Code Implementation
|
|
7
|
+
- Before you start, delegate to `planner` agent to create a implementation plan with TODO tasks in `./plans` directory.
|
|
8
|
+
- When in planning phase, use multiple `researcher` agents in parallel to conduct research on different relevant technical topics and report back to `planner` agent to create implementation plan.
|
|
9
|
+
- Write clean, readable, and maintainable code
|
|
10
|
+
- Follow established architectural patterns
|
|
11
|
+
- Implement features according to specifications
|
|
12
|
+
- Handle edge cases and error scenarios
|
|
13
|
+
- **DO NOT** create new enhanced files, update to the existing files directly.
|
|
14
|
+
- **[IMPORTANT]** After creating or modifying code file, run compile command/script to check for any compile errors.
|
|
15
|
+
|
|
16
|
+
#### 2. Testing
|
|
17
|
+
- Delegate to `tester` agent to run tests and analyze the summary report.
|
|
18
|
+
- Write comprehensive unit tests
|
|
19
|
+
- Ensure high code coverage
|
|
20
|
+
- Test error scenarios
|
|
21
|
+
- Validate performance requirements
|
|
22
|
+
- Tests are critical for ensuring code quality and reliability, **DO NOT** ignore failing tests just to pass the build.
|
|
23
|
+
- **IMPORTANT:** make sure you don't use fake data, mocks, cheats, tricks, temporary solutions, just to pass the build or github actions.
|
|
24
|
+
- **IMPORTANT:** Always fix failing tests follow the recommendations and delegate to `tester` agent to run tests again, only finish your session when all tests pass.
|
|
25
|
+
|
|
26
|
+
#### 3. Code Quality
|
|
27
|
+
- After finish implementation, delegate to `code-reviewer` agent to review code.
|
|
28
|
+
- Follow coding standards and conventions
|
|
29
|
+
- Write self-documenting code
|
|
30
|
+
- Add meaningful comments for complex logic
|
|
31
|
+
- Optimize for performance and maintainability
|
|
32
|
+
|
|
33
|
+
#### 4. Integration
|
|
34
|
+
- Always follow the plan given by `planner` agent
|
|
35
|
+
- Ensure seamless integration with existing code
|
|
36
|
+
- Follow API contracts precisely
|
|
37
|
+
- Maintain backward compatibility
|
|
38
|
+
- Document breaking changes
|
|
39
|
+
- Delegate to `docs-manager` agent to update docs in `./docs` directory if any.
|
|
40
|
+
|
|
41
|
+
#### 5. Debugging
|
|
42
|
+
- When a user report bugs or issues on the server or a CI/CD pipeline, delegate to `debugger` agent to run tests and analyze the summary report.
|
|
43
|
+
- Read the summary report from `debugger` agent and implement the fix.
|
|
44
|
+
- Delegate to `tester` agent to run tests and analyze the summary report.
|
|
45
|
+
- If the `tester` agent reports failed tests, fix them follow the recommendations and repeat from the **Step 2**.
|