codymaster 4.1.3 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -2
- package/README.md +54 -84
- package/dist/index.js +589 -510
- package/dist/ui/box.js +49 -0
- package/install.sh +2 -2
- package/package.json +3 -9
- package/skills/AGENTS.md +61 -0
- package/skills/CLAUDE.md +158 -0
- package/skills/boxme-git-config/SKILL.md +56 -0
- package/skills/boxme-local-dev/SKILL.md +66 -0
- package/skills/build.sh +30 -0
- package/skills/cf +314 -0
- package/skills/cf 2 +313 -0
- package/skills/cm-ads-tracker/SKILL.md +364 -69
- package/skills/cm-auto-publisher/SKILL.md +81 -0
- package/skills/cm-booking-calendar/SKILL.md +521 -0
- package/skills/cm-booking-calendar/references/industry-patterns.md +527 -0
- package/skills/cm-booking-calendar/templates/booking-form.css +626 -0
- package/skills/cm-booking-calendar/templates/booking-form.html +477 -0
- package/skills/cm-booking-calendar/templates/calendar-engine.js +419 -0
- package/skills/cm-booking-calendar/templates/calendar-export.js +395 -0
- package/skills/cm-booking-calendar/templates/reminder-config.js +629 -0
- package/skills/cm-brainstorm-idea/SKILL.md +15 -24
- package/skills/cm-clean-code/SKILL.md +300 -0
- package/skills/cm-code-review/SKILL.md +0 -27
- package/skills/cm-codeintell/SKILL.md +598 -0
- package/skills/cm-content-factory/.content-factory-state.json +132 -0
- package/skills/cm-content-factory/.git 2/logs/refs/heads/main +1 -0
- package/skills/cm-content-factory/.git 2/logs/refs/remotes/origin/main +1 -0
- package/skills/cm-content-factory/.git 2/objects/02/fb0956734b5f8ba3f918b7defd04a89cfe0076 +0 -0
- package/skills/cm-content-factory/.git 2/objects/08/1e129d75dc6feac6c02037272e6bd1a04e3324 +0 -0
- package/skills/cm-content-factory/.git 2/objects/0c/5393416f3c5e01c9a655a802bff0dd52f76f0a +0 -0
- package/skills/cm-content-factory/.git 2/objects/10/0b9be46978a946a77188f68be725098a122001 +0 -0
- package/skills/cm-content-factory/.git 2/objects/10/cf041167fc9843610eb3d90259ef3396315fdc +0 -0
- package/skills/cm-content-factory/.git 2/objects/12/5e19538dd6e1338ffe74f6c4c165b00435bf48 +0 -0
- package/skills/cm-content-factory/.git 2/objects/16/a9b9d0088d5c1347628b45a2620b479d8ad57c +0 -0
- package/skills/cm-content-factory/.git 2/objects/17/8c2a9ef93c33ae4eec9d58e82321f9229843a1 +0 -0
- package/skills/cm-content-factory/.git 2/objects/25/397ae41d09104d763bdcac2695209d85cdea89 +0 -0
- package/skills/cm-content-factory/.git 2/objects/2f/a836b7947f2d458e1f639788bf4bb0983a3305 +0 -0
- package/skills/cm-content-factory/.git 2/objects/3a/baaaf0a1c0909c0828335791557125fba911e0 +0 -0
- package/skills/cm-content-factory/.git 2/objects/42/2924221b81f5ce3c4e4daac9a64a24f9b01f9a +0 -0
- package/skills/cm-content-factory/.git 2/objects/42/ec0ce707447dc11446a34c9995fb8533801731 +0 -0
- package/skills/cm-content-factory/.git 2/objects/46/e43ce92866d56ce74b1d750db307cfe6154a15 +0 -0
- package/skills/cm-content-factory/.git 2/objects/48/5e41b633c63f55b8277bcc59f44f67681f671a +0 -0
- package/skills/cm-content-factory/.git 2/objects/49/49c596a3a89fa240642acd95dd3258e261eb09 +0 -0
- package/skills/cm-content-factory/.git 2/objects/50/9d42d8412ef8eaf7f7e138476bac2e4d10ce60 +0 -0
- package/skills/cm-content-factory/.git 2/objects/55/0c8c389d981b463ef849aeb792d8be3ccb6ec8 +0 -0
- package/skills/cm-content-factory/.git 2/objects/5d/82d3b18410cdda3ace3677436f0cb599dbe2d2 +0 -0
- package/skills/cm-content-factory/.git 2/objects/60/0617c58e871a38b33bf29e282d132bb3c381ad +0 -0
- package/skills/cm-content-factory/.git 2/objects/6a/8369a99c687b7245c92ffaf0e0f0dab9014504 +0 -0
- package/skills/cm-content-factory/.git 2/objects/79/bea435d40ab531c1aaf6be0432c6a5b7aaed21 +0 -0
- package/skills/cm-content-factory/.git 2/objects/7e/5ebd79251c2f14e4aceb86c74b6b6daae6b500 +0 -0
- package/skills/cm-content-factory/.git 2/objects/81/98a822a60178d6d5023ddb3e222cddf048742e +0 -0
- package/skills/cm-content-factory/.git 2/objects/86/0a0e1943dfe53411d2e499a1f16f46a96ef758 +0 -0
- package/skills/cm-content-factory/.git 2/objects/86/971fb55fdc081fdbae52376f0f13e57a4e9b04 +0 -0
- package/skills/cm-content-factory/.git 2/objects/88/b89dd609a0a03f8d4fe8bfde20d5b8fc1d326d +0 -0
- package/skills/cm-content-factory/.git 2/objects/90/8737edb6b7809e32cc01590b4e08ba42a9d40d +0 -0
- package/skills/cm-content-factory/.git 2/objects/93/d5a8a9a7d4fb7f11491cb596a6880528725118 +0 -0
- package/skills/cm-content-factory/.git 2/objects/98/46a2ab81d0c3b3eb00ef88fc56989aa7e9f316 +0 -0
- package/skills/cm-content-factory/.git 2/objects/9b/d8dd1e49cf274eaf9c555f3ab39dce7af5715e +0 -0
- package/skills/cm-content-factory/.git 2/objects/a1/13329fb0cec96ae78b222d33a24c3b5bc7fa1f +0 -0
- package/skills/cm-content-factory/.git 2/objects/a9/e6effe626e8a3aea3a8fc3364b492191c6e7d0 +0 -0
- package/skills/cm-content-factory/.git 2/objects/ad/6de7e48d9782cca9353d1ff0aa1aab7fe1df85 +0 -0
- package/skills/cm-content-factory/.git 2/objects/af/54ae316f771ff692e299ffcd8bf2f06b413b59 +0 -0
- package/skills/cm-content-factory/.git 2/objects/b0/4cb8b0b00dad633e731c1472161419e738d674 +0 -0
- package/skills/cm-content-factory/.git 2/objects/b3/094abb0b9ed46419b269e4a4e36a459690e3b0 +0 -0
- package/skills/cm-content-factory/.git 2/objects/b9/435c5d4baac2cfc5c83009ddd27b46b60db5f1 +0 -0
- package/skills/cm-content-factory/.git 2/objects/ba/5da17dbaec5ec2dcfdfd126aead518d1171d5c +0 -0
- package/skills/cm-content-factory/.git 2/objects/c0/bf58703aa258ba5dd63083bebaec8f223d844c +0 -0
- package/skills/cm-content-factory/.git 2/objects/c4/701a34edf1fc1bad58ccc57bd03f9426acb59a +0 -0
- package/skills/cm-content-factory/.git 2/objects/c7/5ccce9a4e5cc74d9b3174550cf6d993ca43638 +0 -0
- package/skills/cm-content-factory/.git 2/objects/c7/710d59b5a35b0f1f0a0399386643a0bd94c929 +0 -0
- package/skills/cm-content-factory/.git 2/objects/d1/fe58237112e953e5fec52da22cf38e08be3df9 +5 -0
- package/skills/cm-content-factory/.git 2/objects/d2/2bbe9fd2f74c95bc5583e803f5e435f1e2cd86 +0 -0
- package/skills/cm-content-factory/.git 2/objects/d7/e72852ea2bff74581dbf247d400120086229f4 +0 -0
- package/skills/cm-content-factory/.git 2/objects/d8/d4c3b5553e4fd72807e1d4b49ef07d9ef3ac35 +0 -0
- package/skills/cm-content-factory/.git 2/objects/dc/75050c2876f6a02ae2a53a3c886f395b622977 +0 -0
- package/skills/cm-content-factory/.git 2/objects/ee/e8546f95acec500187c08a28a8b9ee02db0dec +0 -0
- package/skills/cm-content-factory/.git 2/objects/ef/263c059208b416c2146434f10cb2b9fabcba16 +0 -0
- package/skills/cm-content-factory/.git 2/objects/f3/ae597e84d9a59b88acd21c99bde2eaf686d785 +0 -0
- package/skills/cm-content-factory/.git 2/objects/f3/f6f5673c821d3d8e76fa267a9e882e7a5387ea +0 -0
- package/skills/cm-content-factory/.git 2/objects/f9/6e6d0ad02624dd11d5848594d056caef7a5e8b +0 -0
- package/skills/cm-content-factory/.git 2/objects/ff/278988fc1edf0db3abcf18de795f4cc0b4f3e1 +0 -0
- package/skills/cm-content-factory/.git 2/refs/heads/main +1 -0
- package/skills/cm-content-factory/.git 2/refs/remotes/origin/main +1 -0
- package/skills/cm-content-factory/.pytest_cache 2/v/cache/nodeids +76 -0
- package/skills/cm-content-factory/.pytest_cache 2/v/cache/stepwise +1 -0
- package/skills/cm-content-factory/AGENTS.md +61 -0
- package/skills/cm-content-factory/CLAUDE.md +63 -0
- package/skills/cm-content-factory/CURSOR.md +43 -0
- package/skills/cm-content-factory/Content Factory.zip +0 -0
- package/skills/cm-content-factory/cf +313 -0
- package/skills/cm-content-factory/config.schema.json +397 -0
- package/skills/cm-content-factory/dashboard/app.js +556 -0
- package/skills/cm-content-factory/dashboard/index.html +397 -0
- package/skills/cm-content-factory/dashboard/style.css +1211 -0
- package/skills/cm-content-factory/examples/01-real-estate.config.json +146 -0
- package/skills/cm-content-factory/examples/02-personal-finance.config.json +146 -0
- package/skills/cm-content-factory/examples/03-health-wellness.config.json +147 -0
- package/skills/cm-content-factory/examples/04-saas-software.config.json +147 -0
- package/skills/cm-content-factory/examples/05-legal-services.config.json +147 -0
- package/skills/cm-content-factory/examples/06-insurance.config.json +146 -0
- package/skills/cm-content-factory/examples/07-ecommerce-dropship.config.json +146 -0
- package/skills/cm-content-factory/examples/08-online-education.config.json +147 -0
- package/skills/cm-content-factory/examples/09-crypto-defi.config.json +147 -0
- package/skills/cm-content-factory/examples/10-beauty-skincare.config.json +147 -0
- package/skills/cm-content-factory/examples/11-home-services.config.json +146 -0
- package/skills/cm-content-factory/examples/12-dental-clinic.config.json +147 -0
- package/skills/cm-content-factory/examples/13-pet-care.config.json +147 -0
- package/skills/cm-content-factory/examples/14-travel-hospitality.config.json +147 -0
- package/skills/cm-content-factory/examples/15-ai-automation.config.json +147 -0
- package/skills/cm-content-factory/examples/16-wedding-events.config.json +147 -0
- package/skills/cm-content-factory/examples/17-fitness-coaching.config.json +148 -0
- package/skills/cm-content-factory/examples/18-cybersecurity.config.json +147 -0
- package/skills/cm-content-factory/examples/19-food-restaurant.config.json +148 -0
- package/skills/cm-content-factory/examples/20-solar-energy.config.json +147 -0
- package/skills/cm-content-factory/examples/fitness-blog.config.json +116 -0
- package/skills/cm-content-factory/examples/tech-blog.config.json +107 -0
- package/skills/cm-content-factory/extensions/EXTENSION_GUIDE.md +72 -0
- package/skills/cm-content-factory/extensions/hooks.py +126 -0
- package/skills/cm-content-factory/extensions/openclaw_adapter.py +132 -0
- package/skills/cm-content-factory/landing/index.html +680 -0
- package/skills/cm-content-factory/landing/script.js +101 -0
- package/skills/cm-content-factory/landing/style.css +1216 -0
- package/skills/cm-content-factory/landing/translations.js +508 -0
- package/skills/cm-content-factory/logs/events.jsonl +11 -0
- package/skills/cm-content-factory/profiles/_template.profile.json +231 -0
- package/skills/cm-content-factory/profiles/finance.profile.json +278 -0
- package/skills/cm-content-factory/profiles/legal.profile.json +263 -0
- package/skills/cm-content-factory/profiles/medical-research.profile.json +321 -0
- package/skills/cm-content-factory/profiles/technology.profile.json +275 -0
- package/skills/cm-content-factory/scripts/agent_dispatcher.py +266 -0
- package/skills/cm-content-factory/scripts/audit.py +106 -0
- package/skills/cm-content-factory/scripts/dashboard_server.py +225 -0
- package/skills/cm-content-factory/scripts/deploy.py +146 -0
- package/skills/cm-content-factory/scripts/extract.py +132 -0
- package/skills/cm-content-factory/scripts/landing_generator.py +459 -0
- package/skills/cm-content-factory/scripts/memory.py +521 -0
- package/skills/cm-content-factory/scripts/monetize.py +239 -0
- package/skills/cm-content-factory/scripts/pipeline.py +357 -0
- package/skills/cm-content-factory/scripts/plan.py +163 -0
- package/skills/cm-content-factory/scripts/publish.py +145 -0
- package/skills/cm-content-factory/scripts/research.py +337 -0
- package/skills/cm-content-factory/scripts/scaffold.py +464 -0
- package/skills/cm-content-factory/scripts/scoreboard.py +336 -0
- package/skills/cm-content-factory/scripts/seo.py +90 -0
- package/skills/cm-content-factory/scripts/state_manager.py +320 -0
- package/skills/cm-content-factory/scripts/token_manager.py +268 -0
- package/skills/cm-content-factory/scripts/validate.py +221 -0
- package/skills/cm-content-factory/scripts/wizard.py +329 -0
- package/skills/cm-content-factory/scripts/write.py +93 -0
- package/skills/cm-content-factory/sites/docs-site/src/assets/houston.webp +0 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/architecture.md +90 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/data-flow.md +54 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/deployment.md +38 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/index.md +65 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/lc-content-lifecycle.md +48 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/seq-write-mode.md +39 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/uj-first-batch.md +42 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/wf-content-pipeline.md +51 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/flows/wf-learning-cycle.md +52 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/configuration.md +86 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/installation.md +80 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/getting-started/intro.md +58 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/index.md +102 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/index.md +45 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/optimize-seo.md +29 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/scale-content-production.md +55 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/jtbd/standardize-quality.md +29 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/buyer-cmo-huong.md +41 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/buyer-content-lead-khoa.md +40 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/index.md +56 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-content-manager-lan.md +46 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-seo-minh.md +45 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/personas/user-writer-tu.md +45 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/content-pipeline.md +108 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/index.md +22 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/memory-system.md +52 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/seo-optimization.md +58 -0
- package/skills/cm-content-factory/sites/docs-site/src/content/docs/sop/troubleshooting-guide.md +92 -0
- package/skills/cm-content-factory/sites/docs-site/src/styles/custom.css +575 -0
- package/skills/cm-content-factory/tests/conftest.py +66 -0
- package/skills/cm-content-factory/tests/test_agent_dispatcher.py +125 -0
- package/skills/cm-content-factory/tests/test_memory.py +128 -0
- package/skills/cm-content-factory/tests/test_pipeline.py +107 -0
- package/skills/cm-content-factory/tests/test_research.py +56 -0
- package/skills/cm-content-factory/tests/test_state_manager.py +131 -0
- package/skills/cm-content-factory/tests/test_token_manager.py +110 -0
- package/skills/cm-content-factory/tests/test_wizard.py +121 -0
- package/skills/cm-continuity/SKILL.md +7 -0
- package/skills/cm-cro-methodology/SKILL.md +290 -0
- package/skills/cm-dashboard/SKILL.md +7 -525
- package/skills/cm-debugging/SKILL.md +7 -116
- package/skills/cm-deep-search/SKILL.md +5 -1
- package/skills/cm-dockit/README.md +6 -15
- package/skills/cm-dockit/SKILL.md +20 -37
- package/skills/cm-execution/SKILL.md +6 -1
- package/skills/cm-frappe-agent/SKILL.md +134 -0
- package/skills/cm-frappe-agent/agents/doctype-architect.md +596 -0
- package/skills/cm-frappe-agent/agents/erpnext-customizer.md +643 -0
- package/skills/cm-frappe-agent/agents/frappe-backend.md +814 -0
- package/skills/cm-frappe-agent/agents/frappe-custom-frontend.md +557 -0
- package/skills/cm-frappe-agent/agents/frappe-debugger.md +625 -0
- package/skills/cm-frappe-agent/agents/frappe-fixer.md +275 -0
- package/skills/cm-frappe-agent/agents/frappe-frontend.md +660 -0
- package/skills/cm-frappe-agent/agents/frappe-installer.md +158 -0
- package/skills/cm-frappe-agent/agents/frappe-performance.md +307 -0
- package/skills/cm-frappe-agent/agents/frappe-planner.md +419 -0
- package/skills/cm-frappe-agent/agents/frappe-remote-ops.md +153 -0
- package/skills/cm-frappe-agent/agents/github-workflow.md +286 -0
- package/skills/cm-frappe-agent/commands/frappe-app.md +351 -0
- package/skills/cm-frappe-agent/commands/frappe-backend.md +162 -0
- package/skills/cm-frappe-agent/commands/frappe-bench.md +254 -0
- package/skills/cm-frappe-agent/commands/frappe-debug.md +263 -0
- package/skills/cm-frappe-agent/commands/frappe-doctype-create.md +272 -0
- package/skills/cm-frappe-agent/commands/frappe-doctype-field.md +310 -0
- package/skills/cm-frappe-agent/commands/frappe-erpnext.md +210 -0
- package/skills/cm-frappe-agent/commands/frappe-fix.md +59 -0
- package/skills/cm-frappe-agent/commands/frappe-frontend.md +210 -0
- package/skills/cm-frappe-agent/commands/frappe-fullstack.md +243 -0
- package/skills/cm-frappe-agent/commands/frappe-github.md +57 -0
- package/skills/cm-frappe-agent/commands/frappe-install.md +52 -0
- package/skills/cm-frappe-agent/commands/frappe-plan.md +442 -0
- package/skills/cm-frappe-agent/commands/frappe-remote.md +58 -0
- package/skills/cm-frappe-agent/commands/frappe-test.md +356 -0
- package/skills/cm-frappe-agent/docs/README.md +51 -0
- package/skills/cm-frappe-agent/docs/agents-catalog.md +113 -0
- package/skills/cm-frappe-agent/docs/architecture.md +149 -0
- package/skills/cm-frappe-agent/docs/commands-catalog.md +82 -0
- package/skills/cm-frappe-agent/docs/resources-catalog.md +66 -0
- package/skills/cm-frappe-agent/docs/sitemap-urls.txt +52 -0
- package/skills/cm-frappe-agent/docs/sitemap.md +81 -0
- package/skills/cm-frappe-agent/docs/sop/user-guide.md +178 -0
- package/skills/cm-frappe-agent/docs/sop/vibe-coding-guide.md +122 -0
- package/skills/cm-frappe-agent/resources/7-layer-architecture.md +985 -0
- package/skills/cm-frappe-agent/resources/bench_commands.md +73 -0
- package/skills/cm-frappe-agent/resources/code-patterns-guide.md +948 -0
- package/skills/cm-frappe-agent/resources/common_pitfalls.md +266 -0
- package/skills/cm-frappe-agent/resources/doctype-registry.md +158 -0
- package/skills/cm-frappe-agent/resources/installation-guide.md +289 -0
- package/skills/cm-frappe-agent/resources/rest-api-patterns.md +182 -0
- package/skills/cm-frappe-agent/resources/scaffold_checklist.md +82 -0
- package/skills/cm-frappe-agent/resources/upgrade_patterns.md +113 -0
- package/skills/cm-frappe-agent/resources/web-form-patterns.md +252 -0
- package/skills/cm-frappe-agent/skills/bench-commands/SKILL.md +621 -0
- package/skills/cm-frappe-agent/skills/client-scripts/SKILL.md +642 -0
- package/skills/cm-frappe-agent/skills/doctype-patterns/SKILL.md +576 -0
- package/skills/cm-frappe-agent/skills/frappe-api/SKILL.md +740 -0
- package/skills/cm-frappe-agent/skills/remote-operations/SKILL.md +47 -0
- package/skills/cm-frappe-agent/skills/server-scripts/SKILL.md +608 -0
- package/skills/cm-frappe-agent/skills/web-forms/SKILL.md +46 -0
- package/skills/cm-git-worktrees/SKILL.md +0 -7
- package/skills/cm-google-form/SKILL.md +266 -0
- package/skills/cm-google-form/templates/apps-script.js +55 -0
- package/skills/cm-google-form/templates/form-markup.html +110 -0
- package/skills/cm-google-form/templates/form-submit.js +201 -0
- package/skills/cm-google-form/templates/toast.css +152 -0
- package/skills/cm-growth-hacking/SKILL.md +293 -0
- package/skills/cm-growth-hacking/bottom-sheet-engine.md +261 -0
- package/skills/cm-growth-hacking/calendar-integration.md +264 -0
- package/skills/cm-growth-hacking/references/engagement-patterns.md +346 -0
- package/skills/cm-growth-hacking/templates/bottom-sheet.css +528 -0
- package/skills/cm-growth-hacking/templates/bottom-sheet.js +269 -0
- package/skills/cm-growth-hacking/templates/calendar-cta.js +213 -0
- package/skills/cm-growth-hacking/templates/tracking-events.js +211 -0
- package/skills/cm-growth-hacking/templates/trigger-manager.js +254 -0
- package/skills/cm-growth-hacking/tracking-events.md +246 -0
- package/skills/cm-growth-hacking/trigger-system.md +342 -0
- package/skills/cm-how-it-work/SKILL.md +20 -4
- package/skills/cm-identity-guard/SKILL.md +0 -11
- package/skills/cm-jtbd/SKILL.md +1 -1
- package/skills/cm-notebooklm/SKILL.md +172 -0
- package/skills/cm-notebooklm/references/command_reference.md +94 -0
- package/skills/cm-notebooklm/references/workflows.md +60 -0
- package/skills/cm-notebooklm/resources/knowledge_sources.md +106 -0
- package/skills/cm-notebooklm/scripts/brain-sync.sh +453 -0
- package/skills/cm-notebooklm/scripts/graduate_wisdom.py +101 -0
- package/skills/cm-planning/SKILL.md +39 -52
- package/skills/cm-project-bootstrap/SKILL.md +1307 -99
- package/skills/cm-quality-gate/SKILL.md +13 -106
- package/skills/cm-reactor/SKILL.md +274 -0
- package/skills/cm-safe-deploy/SKILL.md +415 -52
- package/skills/cm-safe-i18n/SKILL.md +1 -22
- package/skills/cm-secret-shield/SKILL.md +2 -2
- package/skills/cm-security-gate/SKILL.md +114 -0
- package/skills/cm-skill-chain/SKILL.md +2 -2
- package/skills/cm-skill-index/SKILL.md +9 -6
- package/skills/cm-skill-mastery/SKILL.md +2 -15
- package/skills/cm-start/SKILL.md +9 -0
- package/skills/cm-tdd/SKILL.md +8 -41
- package/skills/cm-ui-preview/SKILL.md +35 -173
- package/skills/cm-ux-master/FEATURES-v4.md +305 -0
- package/skills/cm-ux-master/README-ru.md +135 -0
- package/skills/cm-ux-master/README-vi.md +135 -0
- package/skills/cm-ux-master/README-zh.md +135 -0
- package/skills/cm-ux-master/README.md +489 -0
- package/skills/cm-ux-master/SKILL.md +773 -62
- package/skills/cm-ux-master/cli/README.md +180 -0
- package/skills/cm-ux-master/cli/pyproject.toml +106 -0
- package/skills/cm-ux-master/cli/requirements.txt +21 -0
- package/skills/cm-ux-master/cli/templates/base/skill-core.md +262 -0
- package/skills/cm-ux-master/cli/templates/platforms/claude.yaml +21 -0
- package/skills/cm-ux-master/cli/templates/platforms/cursor.yaml +21 -0
- package/skills/cm-ux-master/cli/templates/platforms/figma.yaml +24 -0
- package/skills/cm-ux-master/cli/templates/platforms/vscode-mcp.yaml +28 -0
- package/skills/cm-ux-master/cli/templates/platforms/windsurf.yaml +21 -0
- package/skills/cm-ux-master/cli/uxmaster/__init__.py +10 -0
- package/skills/cm-ux-master/cli/uxmaster/__main__.py +19 -0
- package/skills/cm-ux-master/cli/uxmaster/cli.py +349 -0
- package/skills/cm-ux-master/cli/uxmaster/commands/__init__.py +8 -0
- package/skills/cm-ux-master/cli/uxmaster/commands/extract.py +18 -0
- package/skills/cm-ux-master/cli/uxmaster/commands/init.py +58 -0
- package/skills/cm-ux-master/cli/uxmaster/commands/mcp.py +194 -0
- package/skills/cm-ux-master/cli/uxmaster/commands/search.py +23 -0
- package/skills/cm-ux-master/cli/uxmaster/commands/validate.py +270 -0
- package/skills/cm-ux-master/cli/uxmaster/search_engine.py +532 -0
- package/skills/cm-ux-master/cli/uxmaster/template_engine.py +458 -0
- package/skills/cm-ux-master/cli/uxmaster/utils/__init__.py +9 -0
- package/skills/cm-ux-master/cli/uxmaster/utils/console.py +42 -0
- package/skills/cm-ux-master/cli/uxmaster/utils/detect.py +83 -0
- package/skills/cm-ux-master/data/accessibility-advanced.csv +26 -0
- package/skills/cm-ux-master/data/animation.csv +31 -0
- package/skills/cm-ux-master/data/charts.csv +26 -0
- package/skills/cm-ux-master/data/colors.csv +97 -0
- package/skills/cm-ux-master/data/design-tests.csv +37 -0
- package/skills/cm-ux-master/data/devices.csv +21 -0
- package/skills/cm-ux-master/data/icons.csv +101 -0
- package/skills/cm-ux-master/data/landing.csv +31 -0
- package/skills/cm-ux-master/data/products.csv +97 -0
- package/skills/cm-ux-master/data/react-performance.csv +45 -0
- package/skills/cm-ux-master/data/responsive.csv +26 -0
- package/skills/cm-ux-master/data/semi-tokens.csv +52 -0
- package/skills/cm-ux-master/data/stacks/angular.csv +34 -0
- package/skills/cm-ux-master/data/stacks/astro.csv +54 -0
- package/skills/cm-ux-master/data/stacks/electron.csv +32 -0
- package/skills/cm-ux-master/data/stacks/flutter.csv +53 -0
- package/skills/cm-ux-master/data/stacks/html-tailwind.csv +56 -0
- package/skills/cm-ux-master/data/stacks/htmx.csv +28 -0
- package/skills/cm-ux-master/data/stacks/jetpack-compose.csv +53 -0
- package/skills/cm-ux-master/data/stacks/nextjs.csv +53 -0
- package/skills/cm-ux-master/data/stacks/nuxt-ui.csv +51 -0
- package/skills/cm-ux-master/data/stacks/nuxtjs.csv +59 -0
- package/skills/cm-ux-master/data/stacks/react-native.csv +52 -0
- package/skills/cm-ux-master/data/stacks/react.csv +54 -0
- package/skills/cm-ux-master/data/stacks/shadcn.csv +61 -0
- package/skills/cm-ux-master/data/stacks/svelte.csv +54 -0
- package/skills/cm-ux-master/data/stacks/swiftui.csv +51 -0
- package/skills/cm-ux-master/data/stacks/tauri.csv +29 -0
- package/skills/cm-ux-master/data/stacks/vue.csv +50 -0
- package/skills/cm-ux-master/data/styles.csv +68 -0
- package/skills/cm-ux-master/data/typography.csv +58 -0
- package/skills/cm-ux-master/data/ui-reasoning.csv +101 -0
- package/skills/cm-ux-master/data/ux-guidelines.csv +100 -0
- package/skills/cm-ux-master/data/ux-laws.csv +49 -0
- package/skills/cm-ux-master/data/web-interface.csv +31 -0
- package/skills/cm-ux-master/docs/LANDING-PAGE.html +377 -0
- package/skills/cm-ux-master/docs/README.md +108 -0
- package/skills/cm-ux-master/docs/css/styles.css +573 -0
- package/skills/cm-ux-master/docs/examples/demo-script.md +319 -0
- package/skills/cm-ux-master/docs/guides/for-designers.md +692 -0
- package/skills/cm-ux-master/docs/guides/for-developers.md +778 -0
- package/skills/cm-ux-master/docs/guides/for-product-managers.md +693 -0
- package/skills/cm-ux-master/docs/guides/react-guide-vi.md +50 -0
- package/skills/cm-ux-master/docs/index.html +1062 -0
- package/skills/cm-ux-master/docs/js/i18n.js +84 -0
- package/skills/cm-ux-master/docs/js/lang/de.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/en.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/fr.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/hi.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/id.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/ja.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/ko.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/ru.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/vi.js +145 -0
- package/skills/cm-ux-master/docs/js/lang/zh.js +145 -0
- package/skills/cm-ux-master/docs/js/main.js +117 -0
- package/skills/cm-ux-master/docs/plan/PHASE1-COMPLETION.md +217 -0
- package/skills/cm-ux-master/docs/plan/PHASE2-COMPLETION.md +199 -0
- package/skills/cm-ux-master/docs/plan/PHASE2-ENHANCED-COMPLETION.md +352 -0
- package/skills/cm-ux-master/docs/plan/PHASE3-VALIDATION-COMPLETION.md +499 -0
- package/skills/cm-ux-master/docs/plan/PHASE4-TESTING-POLISH-COMPLETION.md +483 -0
- package/skills/cm-ux-master/docs/plan/UXM-2.0-ROADMAP.md +681 -0
- package/skills/cm-ux-master/docs/plan/WOW-PITCH.md +410 -0
- package/skills/cm-ux-master/docs/technical/api-reference.md +824 -0
- package/skills/cm-ux-master/docs/technical/harvester-v4.md +328 -0
- package/skills/cm-ux-master/docs/technical/how-it-works.md +1128 -0
- package/skills/cm-ux-master/docs/tutorials/quickstart.md +339 -0
- package/skills/cm-ux-master/docs/tutorials/tutorials.md +939 -0
- package/skills/cm-ux-master/docs/tutorials/user-guide.md +716 -0
- package/skills/cm-ux-master/examples/README.md +63 -0
- package/skills/cm-ux-master/mcp/__init__.py +3 -0
- package/skills/cm-ux-master/mcp/integrations/__init__.py +11 -0
- package/skills/cm-ux-master/mcp/integrations/figma/__init__.py +6 -0
- package/skills/cm-ux-master/mcp/integrations/figma/client.py +293 -0
- package/skills/cm-ux-master/mcp/integrations/figma/plugin/code.js +561 -0
- package/skills/cm-ux-master/mcp/integrations/figma/plugin/ui.html +334 -0
- package/skills/cm-ux-master/mcp/integrations/stitch/__init__.py +5 -0
- package/skills/cm-ux-master/mcp/integrations/stitch/client.py +410 -0
- package/skills/cm-ux-master/mcp/integrations/vscode/package.json +167 -0
- package/skills/cm-ux-master/mcp/integrations/vscode/src/extension.ts +81 -0
- package/skills/cm-ux-master/mcp/mcp-config.json +274 -0
- package/skills/cm-ux-master/mcp/server.py +771 -0
- package/skills/cm-ux-master/mcp/tools/__init__.py +13 -0
- package/skills/cm-ux-master/mcp-server/server.py +595 -0
- package/skills/cm-ux-master/output/fila/FilaDashboard.tsx +47 -0
- package/skills/cm-ux-master/output/fila/components/badge/component.tsx +35 -0
- package/skills/cm-ux-master/output/fila/components/badge/index.ts +1 -0
- package/skills/cm-ux-master/output/fila/components/button/component.tsx +53 -0
- package/skills/cm-ux-master/output/fila/components/button/index.ts +1 -0
- package/skills/cm-ux-master/output/fila/components/card/component.tsx +35 -0
- package/skills/cm-ux-master/output/fila/components/card/index.ts +1 -0
- package/skills/cm-ux-master/output/fila/components/input/component.tsx +41 -0
- package/skills/cm-ux-master/output/fila/components/input/index.ts +1 -0
- package/skills/cm-ux-master/output/fila/design-system.css +151 -0
- package/skills/cm-ux-master/output/fila/design-system.html +1596 -0
- package/skills/cm-ux-master/output/fila/design-system.json +168 -0
- package/skills/cm-ux-master/output/fila/figma-tokens.json +523 -0
- package/skills/cm-ux-master/output/fila/harvest-v4-raw.json +406 -0
- package/skills/cm-ux-master/output/fila/semi-theme-override.css +95 -0
- package/skills/cm-ux-master/output/haravan/HaravanDashboard.tsx +103 -0
- package/skills/cm-ux-master/output/haravan/design-system-v3-live.html +2716 -0
- package/skills/cm-ux-master/output/haravan/design-system-v3.html +1770 -0
- package/skills/cm-ux-master/output/haravan/design-system.html +914 -0
- package/skills/cm-ux-master/output/haravan/figma-tokens.json +84 -0
- package/skills/cm-ux-master/output/haravan/haravan-harvest.json +33 -0
- package/skills/cm-ux-master/output/haravan/harvest-v3-raw.json +167 -0
- package/skills/cm-ux-master/output/haravan/semi-theme-override.css +39 -0
- package/skills/cm-ux-master/references/audit-template.md +257 -0
- package/skills/cm-ux-master/references/cultural-ux.md +346 -0
- package/skills/cm-ux-master/references/dark-patterns.md +362 -0
- package/skills/cm-ux-master/references/heuristic-conflicts.md +296 -0
- package/skills/cm-ux-master/references/krug-principles.md +289 -0
- package/skills/cm-ux-master/references/nielsen-heuristics.md +360 -0
- package/skills/cm-ux-master/references/wcag-checklist.md +306 -0
- package/skills/cm-ux-master/scripts/component_generator.py +631 -0
- package/skills/cm-ux-master/scripts/core.py +305 -0
- package/skills/cm-ux-master/scripts/demo_validation.py +452 -0
- package/skills/cm-ux-master/scripts/design_doc_generator.py +1325 -0
- package/skills/cm-ux-master/scripts/design_system.py +1141 -0
- package/skills/cm-ux-master/scripts/design_system_indexer.py +889 -0
- package/skills/cm-ux-master/scripts/extract_i18n.py +251 -0
- package/skills/cm-ux-master/scripts/extractor.py +1437 -0
- package/skills/cm-ux-master/scripts/figma_bridge.py +406 -0
- package/skills/cm-ux-master/scripts/generate.py +147 -0
- package/skills/cm-ux-master/scripts/harvest_session.py +207 -0
- package/skills/cm-ux-master/scripts/harvester.js +240 -0
- package/skills/cm-ux-master/scripts/harvester_browser.py +717 -0
- package/skills/cm-ux-master/scripts/harvester_cli.py +431 -0
- package/skills/cm-ux-master/scripts/harvester_v1.js +275 -0
- package/skills/cm-ux-master/scripts/harvester_v3.js +620 -0
- package/skills/cm-ux-master/scripts/harvester_v4.js +1003 -0
- package/skills/cm-ux-master/scripts/install.py +528 -0
- package/skills/cm-ux-master/scripts/license.py +81 -0
- package/skills/cm-ux-master/scripts/media/qrpayment.png +0 -0
- package/skills/cm-ux-master/scripts/pro_stubs.py +120 -0
- package/skills/cm-ux-master/scripts/project_registry.py +217 -0
- package/skills/cm-ux-master/scripts/search.py +114 -0
- package/skills/cm-ux-master/scripts/semi_mcp_bridge.py +425 -0
- package/skills/cm-ux-master/scripts/stitch_integration.py +583 -0
- package/skills/cm-ux-master/scripts/test_harvester_v4.py +335 -0
- package/skills/cm-ux-master/scripts/token_mapper.py +626 -0
- package/skills/cm-ux-master/scripts/validation_engine.py +1571 -0
- package/skills/cm-ux-master/scripts/wizard.py +653 -0
- package/skills/cm-ux-master/setup.py +93 -0
- package/skills/cm-ux-master/templates/base/flutter-widget.dart +69 -0
- package/skills/cm-ux-master/templates/base/html-page.html +152 -0
- package/skills/cm-ux-master/templates/base/react-component.tsx +47 -0
- package/skills/cm-ux-master/templates/base/swiftui-view.swift +62 -0
- package/skills/cm-ux-master/templates/quick-start.sh +176 -0
- package/skills/cm-ux-master/tests/automation/batch-validate.sh +250 -0
- package/skills/cm-ux-master/tests/automation/generate-test-projects.sh +561 -0
- package/skills/cm-ux-master/tests/automation/run-all-tests.sh +315 -0
- package/skills/cm-ux-master/tests/test_design_doc.py +145 -0
- package/skills/cm-ux-master/tests/test_devices.py +74 -0
- package/skills/cm-ux-master/tests/test_generator.py +116 -0
- package/skills/cm-ux-master/tests/test_harvest_session.py +131 -0
- package/skills/cm-ux-master/tests/test_harvester.py +127 -0
- package/skills/cm-ux-master/tests/test_harvester_v3.py +324 -0
- package/skills/cm-ux-master/tests/test_mcp_server.py +496 -0
- package/skills/cm-ux-master/tests/test_new_domains.py +108 -0
- package/skills/cm-ux-master/tests/test_new_stacks.py +103 -0
- package/skills/cm-ux-master/tests/test_project_registry.py +146 -0
- package/skills/cm-ux-master/tests/test_semi_mcp_bridge.py +207 -0
- package/skills/cm-ux-master/tests/test_token_mapper.py +247 -0
- package/skills/cm-ux-master/tests/test_validation_engine.py +617 -0
- package/skills/config.schema.json +397 -0
- package/skills/frappe-app-builder.zip +0 -0
- package/skills/jobs-to-be-done/SKILL.md +266 -0
- package/skills/jobs-to-be-done/references/case-studies.md +154 -0
- package/skills/jobs-to-be-done/references/competitive-strategy.md +280 -0
- package/skills/jobs-to-be-done/references/diagnostics.md +158 -0
- package/skills/jobs-to-be-done/references/innovation-process.md +392 -0
- package/skills/jobs-to-be-done/references/organizational-change.md +328 -0
- package/skills/marketplace-report-crawler/SKILL.md +176 -0
- package/skills/marketplace-report-crawler/config/accounts.json +41 -0
- package/skills/marketplace-report-crawler/config/report-types.json +422 -0
- package/skills/marketplace-report-crawler/config/sessions.json +3 -0
- package/skills/marketplace-report-crawler/scripts/ab-wrapper.sh +102 -0
- package/skills/marketplace-report-crawler/scripts/browser-actions/lazada/lazada-actions.js +114 -0
- package/skills/marketplace-report-crawler/scripts/browser-actions/shopee/shopee-actions.js +94 -0
- package/skills/marketplace-report-crawler/scripts/browser-actions/tiktok/tiktok-actions.js +272 -0
- package/skills/marketplace-report-crawler/scripts/crawl-runner.js +281 -0
- package/skills/marketplace-report-crawler/scripts/session-check.sh +72 -0
- package/skills/marketplace-report-crawler/scripts/session-manager.sh +349 -0
- package/skills/marketplace-report-crawler/scripts/setup-folders.sh +83 -0
- package/skills/medical-research/SKILL.md +194 -0
- package/skills/medical-research/scripts/evidence_checker.py +288 -0
- package/skills/mom-test/SKILL.md +267 -0
- package/skills/mom-test/references/avoiding-bad-data.md +221 -0
- package/skills/mom-test/references/case-studies.md +306 -0
- package/skills/mom-test/references/commitment-advancement.md +219 -0
- package/skills/mom-test/references/finding-conversations.md +251 -0
- package/skills/mom-test/references/processing-learning.md +256 -0
- package/skills/mom-test/references/question-patterns.md +198 -0
- package/skills/pandasai-analytics/SKILL.md +251 -0
- package/skills/release-it/SKILL.md +235 -0
- package/skills/release-it/references/anti-patterns.md +279 -0
- package/skills/release-it/references/capacity-planning.md +285 -0
- package/skills/release-it/references/chaos-engineering.md +325 -0
- package/skills/release-it/references/deployment-strategies.md +331 -0
- package/skills/release-it/references/observability.md +301 -0
- package/skills/release-it/references/stability-patterns.md +355 -0
- package/skills/scripts/sync-ide-skills.sh +61 -0
- package/skills/skill-creator-ultra/.agents/workflows/skill-audit.md +37 -0
- package/skills/skill-creator-ultra/.agents/workflows/skill-compare.md +34 -0
- package/skills/skill-creator-ultra/.agents/workflows/skill-export.md +51 -0
- package/skills/skill-creator-ultra/.agents/workflows/skill-generate.md +39 -0
- package/skills/skill-creator-ultra/.agents/workflows/skill-scaffold.md +52 -0
- package/skills/skill-creator-ultra/.agents/workflows/skill-simulate.md +25 -0
- package/skills/skill-creator-ultra/.agents/workflows/skill-stats.md +31 -0
- package/skills/skill-creator-ultra/.agents/workflows/skill-validate.md +25 -0
- package/skills/skill-creator-ultra/README.md +1242 -0
- package/skills/skill-creator-ultra/SKILL.md +388 -0
- package/skills/skill-creator-ultra/agents/analyzer.md +274 -0
- package/skills/skill-creator-ultra/agents/comparator.md +202 -0
- package/skills/skill-creator-ultra/agents/grader.md +223 -0
- package/skills/skill-creator-ultra/assets/eval_review.html +146 -0
- package/skills/skill-creator-ultra/eval-viewer/generate_review.py +471 -0
- package/skills/skill-creator-ultra/eval-viewer/viewer.html +1325 -0
- package/skills/skill-creator-ultra/examples/example_anthropic_frontend.md +109 -0
- package/skills/skill-creator-ultra/examples/example_anthropic_pdf.md +116 -0
- package/skills/skill-creator-ultra/examples/example_api_docs.md +189 -0
- package/skills/skill-creator-ultra/examples/example_db_migration.md +253 -0
- package/skills/skill-creator-ultra/examples/example_git_commit.md +111 -0
- package/skills/skill-creator-ultra/install.ps1 +289 -0
- package/skills/skill-creator-ultra/install.sh +313 -0
- package/skills/skill-creator-ultra/phases/phase1_interview.md +202 -0
- package/skills/skill-creator-ultra/phases/phase2_extract.md +55 -0
- package/skills/skill-creator-ultra/phases/phase3_detect.md +57 -0
- package/skills/skill-creator-ultra/phases/phase4_generate.md +543 -0
- package/skills/skill-creator-ultra/phases/phase5_test.md +319 -0
- package/skills/skill-creator-ultra/phases/phase6_eval.md +301 -0
- package/skills/skill-creator-ultra/phases/phase7_iterate.md +103 -0
- package/skills/skill-creator-ultra/phases/phase8_optimize.md +113 -0
- package/skills/skill-creator-ultra/resources/advanced_patterns.md +499 -0
- package/skills/skill-creator-ultra/resources/anti_patterns.md +376 -0
- package/skills/skill-creator-ultra/resources/blueprints.md +498 -0
- package/skills/skill-creator-ultra/resources/checklist.md +243 -0
- package/skills/skill-creator-ultra/resources/composition_cookbook.md +291 -0
- package/skills/skill-creator-ultra/resources/description_optimization.md +90 -0
- package/skills/skill-creator-ultra/resources/eval_guide.md +133 -0
- package/skills/skill-creator-ultra/resources/industry_questions.md +189 -0
- package/skills/skill-creator-ultra/resources/interview_questions.md +200 -0
- package/skills/skill-creator-ultra/resources/pattern_detection.md +200 -0
- package/skills/skill-creator-ultra/resources/prompt_engineering.md +531 -0
- package/skills/skill-creator-ultra/resources/schemas.md +430 -0
- package/skills/skill-creator-ultra/resources/script_integration.md +593 -0
- package/skills/skill-creator-ultra/resources/scripts_guide.md +339 -0
- package/skills/skill-creator-ultra/resources/skill_template.md +124 -0
- package/skills/skill-creator-ultra/resources/skill_writing_guide.md +634 -0
- package/skills/skill-creator-ultra/resources/versioning_guide.md +193 -0
- package/skills/skill-creator-ultra/scripts/ci_eval.py +200 -0
- package/skills/skill-creator-ultra/scripts/package_skill.py +165 -0
- package/skills/skill-creator-ultra/scripts/simulate_skill.py +398 -0
- package/skills/skill-creator-ultra/scripts/skill_audit.py +611 -0
- package/skills/skill-creator-ultra/scripts/skill_compare.py +265 -0
- package/skills/skill-creator-ultra/scripts/skill_export.py +334 -0
- package/skills/skill-creator-ultra/scripts/skill_scaffold.py +403 -0
- package/skills/skill-creator-ultra/scripts/skill_stats.py +339 -0
- package/skills/skill-creator-ultra/scripts/validate_skill.py +411 -0
- package/skills/tailwind-mastery/SKILL.md +229 -0
- package/skills/vercel-react-best-practices/AGENTS.md +3373 -0
- package/skills/vercel-react-best-practices/README.md +123 -0
- package/skills/vercel-react-best-practices/SKILL.md +143 -0
- package/skills/vercel-react-best-practices/rules/_sections.md +46 -0
- package/skills/vercel-react-best-practices/rules/_template.md +28 -0
- package/skills/vercel-react-best-practices/rules/advanced-event-handler-refs.md +55 -0
- package/skills/vercel-react-best-practices/rules/advanced-init-once.md +42 -0
- package/skills/vercel-react-best-practices/rules/advanced-use-latest.md +39 -0
- package/skills/vercel-react-best-practices/rules/async-api-routes.md +38 -0
- package/skills/vercel-react-best-practices/rules/async-defer-await.md +80 -0
- package/skills/vercel-react-best-practices/rules/async-dependencies.md +51 -0
- package/skills/vercel-react-best-practices/rules/async-parallel.md +28 -0
- package/skills/vercel-react-best-practices/rules/async-suspense-boundaries.md +99 -0
- package/skills/vercel-react-best-practices/rules/bundle-barrel-imports.md +59 -0
- package/skills/vercel-react-best-practices/rules/bundle-conditional.md +31 -0
- package/skills/vercel-react-best-practices/rules/bundle-defer-third-party.md +49 -0
- package/skills/vercel-react-best-practices/rules/bundle-dynamic-imports.md +35 -0
- package/skills/vercel-react-best-practices/rules/bundle-preload.md +50 -0
- package/skills/vercel-react-best-practices/rules/client-event-listeners.md +74 -0
- package/skills/vercel-react-best-practices/rules/client-localstorage-schema.md +71 -0
- package/skills/vercel-react-best-practices/rules/client-passive-event-listeners.md +48 -0
- package/skills/vercel-react-best-practices/rules/client-swr-dedup.md +56 -0
- package/skills/vercel-react-best-practices/rules/js-batch-dom-css.md +107 -0
- package/skills/vercel-react-best-practices/rules/js-cache-function-results.md +80 -0
- package/skills/vercel-react-best-practices/rules/js-cache-property-access.md +28 -0
- package/skills/vercel-react-best-practices/rules/js-cache-storage.md +70 -0
- package/skills/vercel-react-best-practices/rules/js-combine-iterations.md +32 -0
- package/skills/vercel-react-best-practices/rules/js-early-exit.md +50 -0
- package/skills/vercel-react-best-practices/rules/js-flatmap-filter.md +60 -0
- package/skills/vercel-react-best-practices/rules/js-hoist-regexp.md +45 -0
- package/skills/vercel-react-best-practices/rules/js-index-maps.md +37 -0
- package/skills/vercel-react-best-practices/rules/js-length-check-first.md +49 -0
- package/skills/vercel-react-best-practices/rules/js-min-max-loop.md +82 -0
- package/skills/vercel-react-best-practices/rules/js-set-map-lookups.md +24 -0
- package/skills/vercel-react-best-practices/rules/js-tosorted-immutable.md +57 -0
- package/skills/vercel-react-best-practices/rules/rendering-activity.md +26 -0
- package/skills/vercel-react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
- package/skills/vercel-react-best-practices/rules/rendering-conditional-render.md +40 -0
- package/skills/vercel-react-best-practices/rules/rendering-content-visibility.md +38 -0
- package/skills/vercel-react-best-practices/rules/rendering-hoist-jsx.md +46 -0
- package/skills/vercel-react-best-practices/rules/rendering-hydration-no-flicker.md +82 -0
- package/skills/vercel-react-best-practices/rules/rendering-hydration-suppress-warning.md +30 -0
- package/skills/vercel-react-best-practices/rules/rendering-resource-hints.md +85 -0
- package/skills/vercel-react-best-practices/rules/rendering-script-defer-async.md +68 -0
- package/skills/vercel-react-best-practices/rules/rendering-svg-precision.md +28 -0
- package/skills/vercel-react-best-practices/rules/rendering-usetransition-loading.md +75 -0
- package/skills/vercel-react-best-practices/rules/rerender-defer-reads.md +39 -0
- package/skills/vercel-react-best-practices/rules/rerender-dependencies.md +45 -0
- package/skills/vercel-react-best-practices/rules/rerender-derived-state-no-effect.md +40 -0
- package/skills/vercel-react-best-practices/rules/rerender-derived-state.md +29 -0
- package/skills/vercel-react-best-practices/rules/rerender-functional-setstate.md +74 -0
- package/skills/vercel-react-best-practices/rules/rerender-lazy-state-init.md +58 -0
- package/skills/vercel-react-best-practices/rules/rerender-memo-with-default-value.md +38 -0
- package/skills/vercel-react-best-practices/rules/rerender-memo.md +44 -0
- package/skills/vercel-react-best-practices/rules/rerender-move-effect-to-event.md +45 -0
- package/skills/vercel-react-best-practices/rules/rerender-no-inline-components.md +82 -0
- package/skills/vercel-react-best-practices/rules/rerender-simple-expression-in-memo.md +35 -0
- package/skills/vercel-react-best-practices/rules/rerender-split-combined-hooks.md +64 -0
- package/skills/vercel-react-best-practices/rules/rerender-transitions.md +40 -0
- package/skills/vercel-react-best-practices/rules/rerender-use-deferred-value.md +59 -0
- package/skills/vercel-react-best-practices/rules/rerender-use-ref-transient-values.md +73 -0
- package/skills/vercel-react-best-practices/rules/server-after-nonblocking.md +73 -0
- package/skills/vercel-react-best-practices/rules/server-auth-actions.md +96 -0
- package/skills/vercel-react-best-practices/rules/server-cache-lru.md +41 -0
- package/skills/vercel-react-best-practices/rules/server-cache-react.md +76 -0
- package/skills/vercel-react-best-practices/rules/server-dedup-props.md +65 -0
- package/skills/vercel-react-best-practices/rules/server-hoist-static-io.md +142 -0
- package/skills/vercel-react-best-practices/rules/server-parallel-fetching.md +83 -0
- package/skills/vercel-react-best-practices/rules/server-serialization.md +38 -0
- package/skills/web-design-guidelines/SKILL.md +39 -0
- package/skills/cro-methodology/SKILL.md +0 -98
- /package/skills/{cro-methodology → cm-cro-methodology}/references/COPYWRITING.md +0 -0
- /package/skills/{cro-methodology → cm-cro-methodology}/references/OBJECTIONS.md +0 -0
- /package/skills/{cro-methodology → cm-cro-methodology}/references/PERSUASION.md +0 -0
- /package/skills/{cro-methodology → cm-cro-methodology}/references/RESEARCH.md +0 -0
- /package/skills/{cro-methodology → cm-cro-methodology}/references/funnel-analysis.md +0 -0
- /package/skills/{cro-methodology → cm-cro-methodology}/references/testing-methodology.md +0 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Manage Git workflows - create branches, commit changes, push, and create PRs following team conventions
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# GitHub Workflow Command
|
|
6
|
+
|
|
7
|
+
You are helping the user with Git and GitHub operations for their Frappe/ERPNext project.
|
|
8
|
+
|
|
9
|
+
## Task: $ARGUMENTS
|
|
10
|
+
|
|
11
|
+
Use the `frappe-fullstack:github-workflow` agent to handle this request.
|
|
12
|
+
|
|
13
|
+
**IMPORTANT:** The agent name MUST be fully qualified: `frappe-fullstack:github-workflow`
|
|
14
|
+
|
|
15
|
+
The agent will:
|
|
16
|
+
|
|
17
|
+
1. **For branch creation**: Ask for task ID and description, create branch from default branch
|
|
18
|
+
2. **For commits**: Stage changes and commit WITHOUT co-author or generated footers
|
|
19
|
+
3. **For PRs**: Create pull request with proper format
|
|
20
|
+
|
|
21
|
+
## Branch Naming Convention
|
|
22
|
+
Format: `{task-id}-{short-description}`
|
|
23
|
+
- Example: `123-payment-api`, `456-fix-validation`
|
|
24
|
+
|
|
25
|
+
## Commit Standards
|
|
26
|
+
- No co-authored-by lines
|
|
27
|
+
- No "Generated with Claude Code" footers
|
|
28
|
+
- Clear, descriptive messages
|
|
29
|
+
|
|
30
|
+
## Common Operations
|
|
31
|
+
|
|
32
|
+
**Create branch:**
|
|
33
|
+
```
|
|
34
|
+
/frappe-github create branch
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**Commit changes:**
|
|
38
|
+
```
|
|
39
|
+
/frappe-github commit
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**Push to remote:**
|
|
43
|
+
```
|
|
44
|
+
/frappe-github push
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**Create PR:**
|
|
48
|
+
```
|
|
49
|
+
/frappe-github create pr
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**Full workflow:**
|
|
53
|
+
```
|
|
54
|
+
/frappe-github I need to create a branch, commit my changes, and create a PR
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Invoke the `frappe-fullstack:github-workflow` agent to handle the user's request. Ask for task ID and description if creating a branch. Follow all team conventions for commits and PRs.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Install and setup Frappe bench, create sites, install apps, and configure production environments
|
|
3
|
+
allowed-tools: Bash, Read, Write, Grep, Glob
|
|
4
|
+
argument-hint: <action> [--site <sitename>] [--app <appname>]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Frappe Installation & Setup
|
|
8
|
+
|
|
9
|
+
Install bench, create sites, install apps, and setup production environments.
|
|
10
|
+
|
|
11
|
+
## Arguments
|
|
12
|
+
|
|
13
|
+
Parse the user's input: $ARGUMENTS
|
|
14
|
+
|
|
15
|
+
Common actions:
|
|
16
|
+
- `prerequisites` - Check/install system prerequisites
|
|
17
|
+
- `bench` - Initialize a new bench directory
|
|
18
|
+
- `site <name>` - Create a new site
|
|
19
|
+
- `app <name>` - Install an app on a site
|
|
20
|
+
- `production` - Setup production (nginx, supervisor)
|
|
21
|
+
- `docker` - Setup Docker development environment
|
|
22
|
+
- `check` - Verify current installation health
|
|
23
|
+
|
|
24
|
+
## Process
|
|
25
|
+
|
|
26
|
+
### Step 1: Detect Environment
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# Check what's already installed
|
|
30
|
+
which bench 2>/dev/null && bench --version || echo "Bench not installed"
|
|
31
|
+
which python3 && python3 --version
|
|
32
|
+
which node && node --version
|
|
33
|
+
which mysql && mysql --version
|
|
34
|
+
redis-cli --version 2>/dev/null || echo "Redis not installed"
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### Step 2: Execute Requested Action
|
|
38
|
+
|
|
39
|
+
Delegate to `frappe-installer` agent for complex operations.
|
|
40
|
+
See `resources/installation-guide.md` for detailed instructions.
|
|
41
|
+
|
|
42
|
+
### Step 3: Verify Installation
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
bench --site <site> doctor # Health check
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Safety
|
|
49
|
+
|
|
50
|
+
- Always suggest backup before major changes
|
|
51
|
+
- Confirm before production setup
|
|
52
|
+
- Check for existing bench directories before init
|
|
@@ -0,0 +1,442 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a comprehensive implementation plan for Frappe/ERPNext features with technical design, task breakdown, and documentation. Saves plan to a markdown file.
|
|
3
|
+
allowed-tools: Bash, Read, Write, Edit, Glob, Grep, Task, TodoWrite, AskUserQuestion, EnterPlanMode, ExitPlanMode
|
|
4
|
+
argument-hint: <feature_description>
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Frappe Feature Planning
|
|
8
|
+
|
|
9
|
+
Create a comprehensive implementation plan for a Frappe/ERPNext feature or module.
|
|
10
|
+
|
|
11
|
+
## Request
|
|
12
|
+
|
|
13
|
+
$ARGUMENTS
|
|
14
|
+
|
|
15
|
+
## IMPORTANT: Use Claude's Plan Mode
|
|
16
|
+
|
|
17
|
+
This command should use Claude's built-in plan mode for comprehensive planning:
|
|
18
|
+
|
|
19
|
+
1. **Enter Plan Mode** - Use `EnterPlanMode` tool to enter planning mode
|
|
20
|
+
2. **Explore & Design** - Use Glob, Grep, Read to analyze codebase
|
|
21
|
+
3. **Ask Questions** - Use AskUserQuestion for clarifications
|
|
22
|
+
4. **Write Plan** - Save to feature folder using Write tool
|
|
23
|
+
5. **Exit Plan Mode** - Use `ExitPlanMode` for user approval
|
|
24
|
+
|
|
25
|
+
## Process
|
|
26
|
+
|
|
27
|
+
### Step 1: Enter Plan Mode
|
|
28
|
+
|
|
29
|
+
First, use the `EnterPlanMode` tool to enter Claude's planning mode. This signals to the user that you're in a planning phase and will present a plan for approval.
|
|
30
|
+
|
|
31
|
+
### Step 2: Determine Plan Location
|
|
32
|
+
|
|
33
|
+
Ask the user where to save the plan:
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
Use AskUserQuestion to ask:
|
|
37
|
+
"Where should I create the feature folder for this plan?"
|
|
38
|
+
|
|
39
|
+
Options:
|
|
40
|
+
1. ./features/<feature-name>/
|
|
41
|
+
2. ./docs/features/<feature-name>/
|
|
42
|
+
3. Custom location (let me specify)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
If user selects custom, ask for the path.
|
|
46
|
+
|
|
47
|
+
**Feature folder structure**:
|
|
48
|
+
```
|
|
49
|
+
<path>/<feature-name>/
|
|
50
|
+
├── plan/
|
|
51
|
+
│ └── PLAN.md # The implementation plan
|
|
52
|
+
├── backend/
|
|
53
|
+
├── frontend/
|
|
54
|
+
├── doctype/
|
|
55
|
+
└── tests/
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Step 3: Invoke Planner Agent
|
|
59
|
+
|
|
60
|
+
Use the Task tool to spawn the `frappe-fullstack:frappe-planner` agent:
|
|
61
|
+
|
|
62
|
+
**IMPORTANT:** The agent name MUST be fully qualified: `frappe-fullstack:frappe-planner`
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
## Planning Task
|
|
66
|
+
|
|
67
|
+
Create a comprehensive implementation plan for:
|
|
68
|
+
{user's feature description}
|
|
69
|
+
|
|
70
|
+
## Context
|
|
71
|
+
- Working directory: {current directory}
|
|
72
|
+
- Explore the codebase to understand existing patterns
|
|
73
|
+
- Ask clarifying questions before finalizing the plan
|
|
74
|
+
|
|
75
|
+
## Required Sections
|
|
76
|
+
|
|
77
|
+
1. **Overview & Requirements**
|
|
78
|
+
- What is being built
|
|
79
|
+
- Business requirements
|
|
80
|
+
- User stories/workflows
|
|
81
|
+
|
|
82
|
+
2. **Technical Design**
|
|
83
|
+
- Data model (DocTypes, fields, relationships)
|
|
84
|
+
- Backend architecture (controllers, APIs, jobs)
|
|
85
|
+
- Frontend design (forms, dialogs, actions)
|
|
86
|
+
- Integration points
|
|
87
|
+
|
|
88
|
+
3. **Implementation Plan**
|
|
89
|
+
- Phased task breakdown
|
|
90
|
+
- Dependencies between tasks
|
|
91
|
+
- File structure
|
|
92
|
+
|
|
93
|
+
4. **Testing & Deployment**
|
|
94
|
+
- Testing strategy
|
|
95
|
+
- Migration steps
|
|
96
|
+
- Configuration needed
|
|
97
|
+
|
|
98
|
+
## Process
|
|
99
|
+
1. First, explore the codebase for existing patterns
|
|
100
|
+
2. Ask clarifying questions about requirements
|
|
101
|
+
3. Design the solution
|
|
102
|
+
4. Create detailed implementation tasks
|
|
103
|
+
5. Return the complete plan document
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Step 3: Clarifying Questions
|
|
107
|
+
|
|
108
|
+
The planner agent should ask questions about:
|
|
109
|
+
|
|
110
|
+
**Functional Requirements:**
|
|
111
|
+
- What are the core features needed?
|
|
112
|
+
- What user roles will interact with this?
|
|
113
|
+
- What workflows need to be supported?
|
|
114
|
+
- Are there any approval processes?
|
|
115
|
+
|
|
116
|
+
**Technical Requirements:**
|
|
117
|
+
- Should this integrate with existing DocTypes?
|
|
118
|
+
- Are there external API integrations?
|
|
119
|
+
- What reports are needed?
|
|
120
|
+
- Email/notification requirements?
|
|
121
|
+
|
|
122
|
+
**ERPNext Specific (if applicable):**
|
|
123
|
+
- Which ERPNext modules does this relate to?
|
|
124
|
+
- Should it hook into existing ERPNext workflows?
|
|
125
|
+
- Are there stock DocTypes to extend?
|
|
126
|
+
|
|
127
|
+
### Step 4: Codebase Analysis
|
|
128
|
+
|
|
129
|
+
The agent will explore:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
# Find existing DocTypes
|
|
133
|
+
find . -name "*.json" -path "*/doctype/*" | head -20
|
|
134
|
+
|
|
135
|
+
# Check hooks.py for patterns
|
|
136
|
+
find . -name "hooks.py" | xargs cat
|
|
137
|
+
|
|
138
|
+
# Find similar features
|
|
139
|
+
grep -r "similar_keyword" --include="*.py" --include="*.js"
|
|
140
|
+
|
|
141
|
+
# Check existing APIs
|
|
142
|
+
grep -r "@frappe.whitelist" --include="*.py"
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Step 5: Generate Plan Document
|
|
146
|
+
|
|
147
|
+
Create a comprehensive markdown document:
|
|
148
|
+
|
|
149
|
+
```markdown
|
|
150
|
+
# [Feature Name] Implementation Plan
|
|
151
|
+
|
|
152
|
+
> Generated: [Date]
|
|
153
|
+
> Status: Draft
|
|
154
|
+
> Author: Claude (Frappe Planner)
|
|
155
|
+
|
|
156
|
+
## 1. Overview
|
|
157
|
+
|
|
158
|
+
### 1.1 Description
|
|
159
|
+
[What is being built and why]
|
|
160
|
+
|
|
161
|
+
### 1.2 Goals
|
|
162
|
+
- Goal 1
|
|
163
|
+
- Goal 2
|
|
164
|
+
|
|
165
|
+
### 1.3 Success Criteria
|
|
166
|
+
- [ ] Criteria 1
|
|
167
|
+
- [ ] Criteria 2
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## 2. Requirements
|
|
172
|
+
|
|
173
|
+
### 2.1 Functional Requirements
|
|
174
|
+
| ID | Requirement | Priority |
|
|
175
|
+
|----|-------------|----------|
|
|
176
|
+
| FR-1 | Description | High |
|
|
177
|
+
| FR-2 | Description | Medium |
|
|
178
|
+
|
|
179
|
+
### 2.2 User Stories
|
|
180
|
+
- As a [role], I want to [action] so that [benefit]
|
|
181
|
+
|
|
182
|
+
### 2.3 Non-Functional Requirements
|
|
183
|
+
- Performance: ...
|
|
184
|
+
- Security: ...
|
|
185
|
+
- Scalability: ...
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## 3. Technical Design
|
|
190
|
+
|
|
191
|
+
### 3.1 Data Model
|
|
192
|
+
|
|
193
|
+
#### DocType: [Name]
|
|
194
|
+
**Purpose**: [Description]
|
|
195
|
+
|
|
196
|
+
| Field | Type | Options | Required | Description |
|
|
197
|
+
|-------|------|---------|----------|-------------|
|
|
198
|
+
| field1 | Data | - | Yes | ... |
|
|
199
|
+
| field2 | Link | Customer | Yes | ... |
|
|
200
|
+
|
|
201
|
+
**Relationships**:
|
|
202
|
+
- Links to: [DocType]
|
|
203
|
+
- Child tables: [DocType]
|
|
204
|
+
|
|
205
|
+
#### DocType: [Child Table Name]
|
|
206
|
+
...
|
|
207
|
+
|
|
208
|
+
### 3.2 Architecture
|
|
209
|
+
|
|
210
|
+
```
|
|
211
|
+
┌─────────────────┐ ┌─────────────────┐
|
|
212
|
+
│ Frontend │────▶│ Backend │
|
|
213
|
+
│ (Form/Dialog) │ │ (Controller) │
|
|
214
|
+
└─────────────────┘ └────────┬────────┘
|
|
215
|
+
│
|
|
216
|
+
┌────────▼────────┐
|
|
217
|
+
│ Database │
|
|
218
|
+
└─────────────────┘
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### 3.3 Backend Components
|
|
222
|
+
|
|
223
|
+
#### Controllers
|
|
224
|
+
- `my_doctype.py`: Validation, calculations, events
|
|
225
|
+
|
|
226
|
+
#### APIs
|
|
227
|
+
| Method | Endpoint | Description |
|
|
228
|
+
|--------|----------|-------------|
|
|
229
|
+
| POST | `myapp.api.create_record` | Creates new record |
|
|
230
|
+
| GET | `myapp.api.get_dashboard` | Dashboard data |
|
|
231
|
+
|
|
232
|
+
#### Background Jobs
|
|
233
|
+
- `process_daily`: Runs daily at midnight
|
|
234
|
+
|
|
235
|
+
### 3.4 Frontend Components
|
|
236
|
+
|
|
237
|
+
#### Form Script (`my_doctype.js`)
|
|
238
|
+
- Custom buttons: [List]
|
|
239
|
+
- Field handlers: [List]
|
|
240
|
+
- Dialogs: [List]
|
|
241
|
+
|
|
242
|
+
#### List View
|
|
243
|
+
- Indicators: [Status colors]
|
|
244
|
+
- Filters: [Default filters]
|
|
245
|
+
|
|
246
|
+
### 3.5 ERPNext Integration (if applicable)
|
|
247
|
+
- Hooks: [doc_events, etc.]
|
|
248
|
+
- Custom Fields: [On which DocTypes]
|
|
249
|
+
- Workflows: [If any]
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
## 4. Implementation Plan
|
|
254
|
+
|
|
255
|
+
### Phase 1: Foundation
|
|
256
|
+
**Focus**: Data model and basic structure
|
|
257
|
+
|
|
258
|
+
| # | Task | Files | Dependencies |
|
|
259
|
+
|---|------|-------|--------------|
|
|
260
|
+
| 1.1 | Create DocType JSON | `doctype/my_doctype/my_doctype.json` | None |
|
|
261
|
+
| 1.2 | Create child table | `doctype/my_child/my_child.json` | 1.1 |
|
|
262
|
+
| 1.3 | Run migration | - | 1.1, 1.2 |
|
|
263
|
+
|
|
264
|
+
### Phase 2: Backend Logic
|
|
265
|
+
**Focus**: Controllers and APIs
|
|
266
|
+
|
|
267
|
+
| # | Task | Files | Dependencies |
|
|
268
|
+
|---|------|-------|--------------|
|
|
269
|
+
| 2.1 | Implement controller | `doctype/my_doctype/my_doctype.py` | Phase 1 |
|
|
270
|
+
| 2.2 | Create APIs | `api.py` | 2.1 |
|
|
271
|
+
| 2.3 | Add background jobs | `tasks.py`, `hooks.py` | 2.1 |
|
|
272
|
+
|
|
273
|
+
### Phase 3: Frontend
|
|
274
|
+
**Focus**: User interface
|
|
275
|
+
|
|
276
|
+
| # | Task | Files | Dependencies |
|
|
277
|
+
|---|------|-------|--------------|
|
|
278
|
+
| 3.1 | Create form script | `doctype/my_doctype/my_doctype.js` | Phase 2 |
|
|
279
|
+
| 3.2 | Add custom dialogs | `public/js/dialogs.js` | 3.1 |
|
|
280
|
+
| 3.3 | Create list view | `doctype/my_doctype/my_doctype_list.js` | 3.1 |
|
|
281
|
+
|
|
282
|
+
### Phase 4: Testing & Polish
|
|
283
|
+
**Focus**: Quality and documentation
|
|
284
|
+
|
|
285
|
+
| # | Task | Files | Dependencies |
|
|
286
|
+
|---|------|-------|--------------|
|
|
287
|
+
| 4.1 | Write unit tests | `test_my_doctype.py` | Phase 2, 3 |
|
|
288
|
+
| 4.2 | Integration testing | - | 4.1 |
|
|
289
|
+
| 4.3 | Documentation | `README.md` | All |
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## 5. File Structure
|
|
294
|
+
|
|
295
|
+
```
|
|
296
|
+
my_app/
|
|
297
|
+
├── my_module/
|
|
298
|
+
│ ├── doctype/
|
|
299
|
+
│ │ ├── my_doctype/
|
|
300
|
+
│ │ │ ├── my_doctype.json
|
|
301
|
+
│ │ │ ├── my_doctype.py
|
|
302
|
+
│ │ │ ├── my_doctype.js
|
|
303
|
+
│ │ │ └── test_my_doctype.py
|
|
304
|
+
│ │ └── my_child/
|
|
305
|
+
│ │ └── my_child.json
|
|
306
|
+
│ └── api.py
|
|
307
|
+
├── tasks.py
|
|
308
|
+
├── hooks.py (updates)
|
|
309
|
+
└── public/
|
|
310
|
+
└── js/
|
|
311
|
+
└── dialogs.js
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
---
|
|
315
|
+
|
|
316
|
+
## 6. Testing Strategy
|
|
317
|
+
|
|
318
|
+
### Unit Tests
|
|
319
|
+
- [ ] Test validation rules
|
|
320
|
+
- [ ] Test calculations
|
|
321
|
+
- [ ] Test API responses
|
|
322
|
+
|
|
323
|
+
### Integration Tests
|
|
324
|
+
- [ ] Test complete workflows
|
|
325
|
+
- [ ] Test with ERPNext (if applicable)
|
|
326
|
+
|
|
327
|
+
### Manual Testing
|
|
328
|
+
- [ ] Form submission flow
|
|
329
|
+
- [ ] Error handling
|
|
330
|
+
- [ ] Permission checks
|
|
331
|
+
|
|
332
|
+
---
|
|
333
|
+
|
|
334
|
+
## 7. Deployment
|
|
335
|
+
|
|
336
|
+
### Pre-deployment
|
|
337
|
+
1. Backup database
|
|
338
|
+
2. Review migrations
|
|
339
|
+
|
|
340
|
+
### Deployment Steps
|
|
341
|
+
```bash
|
|
342
|
+
# 1. Pull latest code
|
|
343
|
+
git pull
|
|
344
|
+
|
|
345
|
+
# 2. Run migrations
|
|
346
|
+
bench --site <site> migrate
|
|
347
|
+
|
|
348
|
+
# 3. Build assets
|
|
349
|
+
bench build --app my_app
|
|
350
|
+
|
|
351
|
+
# 4. Clear cache
|
|
352
|
+
bench --site <site> clear-cache
|
|
353
|
+
|
|
354
|
+
# 5. Restart (production)
|
|
355
|
+
sudo supervisorctl restart all
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
### Post-deployment
|
|
359
|
+
- [ ] Verify migrations ran
|
|
360
|
+
- [ ] Test core functionality
|
|
361
|
+
- [ ] Monitor error logs
|
|
362
|
+
|
|
363
|
+
---
|
|
364
|
+
|
|
365
|
+
## 8. Open Questions
|
|
366
|
+
|
|
367
|
+
- [ ] Question 1?
|
|
368
|
+
- [ ] Question 2?
|
|
369
|
+
|
|
370
|
+
---
|
|
371
|
+
|
|
372
|
+
## 9. References
|
|
373
|
+
|
|
374
|
+
- Similar feature: [Link/Path]
|
|
375
|
+
- ERPNext docs: [Link]
|
|
376
|
+
- Related DocTypes: [List]
|
|
377
|
+
|
|
378
|
+
---
|
|
379
|
+
|
|
380
|
+
## Appendix
|
|
381
|
+
|
|
382
|
+
### A. Mockups/Wireframes
|
|
383
|
+
[If any]
|
|
384
|
+
|
|
385
|
+
### B. Sample Data
|
|
386
|
+
[If any]
|
|
387
|
+
|
|
388
|
+
### C. Change Log
|
|
389
|
+
| Date | Change | Author |
|
|
390
|
+
|------|--------|--------|
|
|
391
|
+
| [Date] | Initial plan | Claude |
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
### Step 6: Save the Plan
|
|
395
|
+
|
|
396
|
+
Write the plan to the feature folder:
|
|
397
|
+
|
|
398
|
+
```python
|
|
399
|
+
# Use Write tool to save
|
|
400
|
+
file_path = "<feature-folder>/plan/PLAN.md"
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
### Step 7: Exit Plan Mode
|
|
404
|
+
|
|
405
|
+
**IMPORTANT:** After writing the plan file, use `ExitPlanMode` tool to:
|
|
406
|
+
1. Signal that planning is complete
|
|
407
|
+
2. Present the plan to user for approval
|
|
408
|
+
3. User will review and approve before implementation begins
|
|
409
|
+
|
|
410
|
+
### Step 8: Summary
|
|
411
|
+
|
|
412
|
+
After user approves the plan, provide:
|
|
413
|
+
|
|
414
|
+
1. **Plan Location**: Where the file was saved
|
|
415
|
+
2. **Quick Summary**: Key decisions and structure
|
|
416
|
+
3. **Next Steps**: How to start implementation
|
|
417
|
+
4. **Commands to Use**:
|
|
418
|
+
```
|
|
419
|
+
/frappe-fullstack:frappe-doctype-create [DocType] [module]
|
|
420
|
+
/frappe-fullstack:frappe-backend [task]
|
|
421
|
+
/frappe-fullstack:frappe-frontend [task]
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
## Output
|
|
425
|
+
|
|
426
|
+
The command produces:
|
|
427
|
+
|
|
428
|
+
1. **Saved Plan File**: Comprehensive markdown document in feature folder
|
|
429
|
+
2. **User Approval**: Plan mode ensures user reviews and approves
|
|
430
|
+
3. **Console Summary**:
|
|
431
|
+
- Plan saved to: `<feature-folder>/plan/PLAN.md`
|
|
432
|
+
- Key components identified
|
|
433
|
+
- Implementation phases overview
|
|
434
|
+
- Suggested next commands
|
|
435
|
+
|
|
436
|
+
## Tips
|
|
437
|
+
|
|
438
|
+
- Use `/frappe-plan` before starting any significant feature
|
|
439
|
+
- Plan mode ensures user reviews before implementation
|
|
440
|
+
- Review and refine the plan with stakeholders
|
|
441
|
+
- Update the plan as requirements evolve
|
|
442
|
+
- Reference the plan during implementation with `/frappe-fullstack`
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Execute remote Frappe REST API operations - CRUD on DocTypes, run reports, manage Web Forms on remote sites
|
|
3
|
+
allowed-tools: Bash, Read, Grep, Glob
|
|
4
|
+
argument-hint: <operation> <doctype> [--site <url>] [--filters <json>]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Frappe Remote API Operations
|
|
8
|
+
|
|
9
|
+
Execute REST API operations on remote Frappe/ERPNext sites.
|
|
10
|
+
|
|
11
|
+
## Arguments
|
|
12
|
+
|
|
13
|
+
Parse the user's input: $ARGUMENTS
|
|
14
|
+
|
|
15
|
+
Common operations:
|
|
16
|
+
- `get <DocType> <name>` - Get single document
|
|
17
|
+
- `list <DocType>` - List documents
|
|
18
|
+
- `create <DocType>` - Create document
|
|
19
|
+
- `update <DocType> <name>` - Update document
|
|
20
|
+
- `count <DocType>` - Count documents
|
|
21
|
+
- `report <ReportName>` - Run report
|
|
22
|
+
- `discover` - List all DocTypes on site
|
|
23
|
+
|
|
24
|
+
## Process
|
|
25
|
+
|
|
26
|
+
### Step 1: Resolve Site & Auth
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# Check for .env file
|
|
30
|
+
if [ -f ".env" ]; then
|
|
31
|
+
source .env
|
|
32
|
+
echo "Using site: $FRAPPE_SITE"
|
|
33
|
+
else
|
|
34
|
+
echo "No .env found. Please provide site URL and API credentials."
|
|
35
|
+
fi
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Step 2: Test Connection
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
curl -sS "$FRAPPE_SITE/api/method/frappe.auth.get_logged_user" \
|
|
42
|
+
-H "Authorization: token $FRAPPE_API_KEY:$FRAPPE_API_SECRET"
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Step 3: Execute Operation
|
|
46
|
+
|
|
47
|
+
Delegate to `frappe-remote-ops` agent for complex operations.
|
|
48
|
+
See `resources/rest-api-patterns.md` for all curl patterns.
|
|
49
|
+
|
|
50
|
+
### Step 4: Handle Response
|
|
51
|
+
|
|
52
|
+
Parse with `jq` and present results clearly.
|
|
53
|
+
|
|
54
|
+
## Security
|
|
55
|
+
|
|
56
|
+
- Never expose API keys in output
|
|
57
|
+
- Confirm before DELETE operations
|
|
58
|
+
- Use `--data-urlencode` for special characters
|