@julianoczkowski/create-trimble-app 2.0.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/README.md +191 -0
- package/bin/create-trimble-app.js +9 -0
- package/package.json +67 -0
- package/src/cli.js +134 -0
- package/src/frameworks.js +28 -0
- package/src/scaffold.js +209 -0
- package/src/utils/file.js +47 -0
- package/src/utils/git.js +140 -0
- package/src/utils/install.js +25 -0
- package/src/utils/logger.js +124 -0
- package/templates/angular/.cursor/commands/remove-dev-content.md +394 -0
- package/templates/angular/.cursor/mcp.json +13 -0
- package/templates/angular/.cursor/rules/modus-angular-20.mdc +82 -0
- package/templates/angular/.cursor/rules/modus-angular-accordion-state-management-short.mdc +45 -0
- package/templates/angular/.cursor/rules/modus-angular-accordion-state-management.mdc +322 -0
- package/templates/angular/.cursor/rules/modus-angular-best-practices.mdc +472 -0
- package/templates/angular/.cursor/rules/modus-angular-border-usage-short.mdc +48 -0
- package/templates/angular/.cursor/rules/modus-angular-border-usage.mdc +286 -0
- package/templates/angular/.cursor/rules/modus-angular-button-group-usage-short.mdc +47 -0
- package/templates/angular/.cursor/rules/modus-angular-button-group-usage.mdc +263 -0
- package/templates/angular/.cursor/rules/modus-angular-checkbox-value-inversion-short.mdc +36 -0
- package/templates/angular/.cursor/rules/modus-angular-checkbox-value-inversion.mdc +92 -0
- package/templates/angular/.cursor/rules/modus-angular-chrome-devtools-testing-short.mdc +34 -0
- package/templates/angular/.cursor/rules/modus-angular-chrome-devtools-testing.mdc +185 -0
- package/templates/angular/.cursor/rules/modus-angular-color-usage-short.mdc +56 -0
- package/templates/angular/.cursor/rules/modus-angular-color-usage.mdc +208 -0
- package/templates/angular/.cursor/rules/modus-angular-components-reference.mdc +114 -0
- package/templates/angular/.cursor/rules/modus-angular-design-system.mdc +273 -0
- package/templates/angular/.cursor/rules/modus-angular-development-workflow-short.mdc +43 -0
- package/templates/angular/.cursor/rules/modus-angular-development-workflow.mdc +145 -0
- package/templates/angular/.cursor/rules/modus-angular-essentials.mdc +272 -0
- package/templates/angular/.cursor/rules/modus-angular-forms-validation-short.mdc +56 -0
- package/templates/angular/.cursor/rules/modus-angular-forms-validation.mdc +124 -0
- package/templates/angular/.cursor/rules/modus-angular-icon-names.mdc +70 -0
- package/templates/angular/.cursor/rules/modus-angular-icons-short.mdc +40 -0
- package/templates/angular/.cursor/rules/modus-angular-icons.mdc +137 -0
- package/templates/angular/.cursor/rules/modus-angular-implementation-guides-short.mdc +36 -0
- package/templates/angular/.cursor/rules/modus-angular-implementation-guides.mdc +301 -0
- package/templates/angular/.cursor/rules/modus-angular-integration-short.mdc +60 -0
- package/templates/angular/.cursor/rules/modus-angular-integration.mdc +1096 -0
- package/templates/angular/.cursor/rules/modus-angular-master.mdc +164 -0
- package/templates/angular/.cursor/rules/modus-angular-modal-usage-short.mdc +51 -0
- package/templates/angular/.cursor/rules/modus-angular-modal-usage.mdc +115 -0
- package/templates/angular/.cursor/rules/modus-angular-navbar-usage-short.mdc +49 -0
- package/templates/angular/.cursor/rules/modus-angular-navbar-usage.mdc +146 -0
- package/templates/angular/.cursor/rules/modus-angular-no-emojis.mdc +66 -0
- package/templates/angular/.cursor/rules/modus-angular-opacity-utilities-short.mdc +43 -0
- package/templates/angular/.cursor/rules/modus-angular-opacity-utilities.mdc +160 -0
- package/templates/angular/.cursor/rules/modus-angular-select-vs-dropdown-menu-short.mdc +51 -0
- package/templates/angular/.cursor/rules/modus-angular-select-vs-dropdown-menu.mdc +83 -0
- package/templates/angular/.cursor/rules/modus-angular-semantic-html-short.mdc +36 -0
- package/templates/angular/.cursor/rules/modus-angular-semantic-html.mdc +81 -0
- package/templates/angular/.cursor/rules/modus-angular-side-navigation-usage-short.mdc +50 -0
- package/templates/angular/.cursor/rules/modus-angular-side-navigation-usage.mdc +136 -0
- package/templates/angular/.cursor/rules/modus-angular-table-usage-short.mdc +52 -0
- package/templates/angular/.cursor/rules/modus-angular-table-usage.mdc +151 -0
- package/templates/angular/.cursor/rules/modus-angular-tailwind-usage-short.mdc +44 -0
- package/templates/angular/.cursor/rules/modus-angular-tailwind-usage.mdc +242 -0
- package/templates/angular/.cursor/rules/modus-angular-themes-short.mdc +54 -0
- package/templates/angular/.cursor/rules/modus-angular-themes.mdc +222 -0
- package/templates/angular/.cursor/rules/modus-angular-utility-panel-usage-short.mdc +52 -0
- package/templates/angular/.cursor/rules/modus-angular-utility-panel-usage.mdc +130 -0
- package/templates/angular/.cursor/rules/ux/gestalt-laws-detailed.mdc +514 -0
- package/templates/angular/.cursor/rules/ux/ux-ui-foundations.mdc +235 -0
- package/templates/angular/.cursor/skills/run-lint-checks/SKILL.md +169 -0
- package/templates/angular/.editorconfig +17 -0
- package/templates/angular/.github/dependabot.yml +19 -0
- package/templates/angular/.github/workflows/a11y-check.yml +135 -0
- package/templates/angular/.github/workflows/ci.yml +44 -0
- package/templates/angular/.husky/pre-commit +32 -0
- package/templates/angular/.postcssrc.json +5 -0
- package/templates/angular/.vscode/extensions.json +4 -0
- package/templates/angular/.vscode/launch.json +20 -0
- package/templates/angular/.vscode/tasks.json +42 -0
- package/templates/angular/CLAUDE.md +148 -0
- package/templates/angular/README.md +92 -0
- package/templates/angular/amplify.yml +25 -0
- package/templates/angular/angular.json +106 -0
- package/templates/angular/data/modusIcons.ts +861 -0
- package/templates/angular/package-lock.json +11030 -0
- package/templates/angular/package.json +66 -0
- package/templates/angular/public/angular-icon.svg +12 -0
- package/templates/angular/public/favicon.ico +0 -0
- package/templates/angular/public/modus-icons.css +49 -0
- package/templates/angular/public/vite.svg +1 -0
- package/templates/angular/scripts/README.md +410 -0
- package/templates/angular/scripts/check-border-violations.js +352 -0
- package/templates/angular/scripts/check-icon-names.js +402 -0
- package/templates/angular/scripts/check-inline-styles.js +292 -0
- package/templates/angular/scripts/check-modus-colors.js +282 -0
- package/templates/angular/scripts/check-modus-icons.js +263 -0
- package/templates/angular/scripts/check-opacity-utilities.js +426 -0
- package/templates/angular/scripts/check-semantic-html.js +452 -0
- package/templates/angular/scripts/check-typescript.js +109 -0
- package/templates/angular/src/app/app.config.ts +29 -0
- package/templates/angular/src/app/app.css +0 -0
- package/templates/angular/src/app/app.html +4 -0
- package/templates/angular/src/app/app.routes.ts +351 -0
- package/templates/angular/src/app/app.spec.ts +27 -0
- package/templates/angular/src/app/app.ts +47 -0
- package/templates/angular/src/app/components/README.md +77 -0
- package/templates/angular/src/app/components/index.ts +53 -0
- package/templates/angular/src/app/components/modus-accordion.component.ts +50 -0
- package/templates/angular/src/app/components/modus-alert.component.ts +133 -0
- package/templates/angular/src/app/components/modus-autocomplete.component.ts +262 -0
- package/templates/angular/src/app/components/modus-avatar.component.ts +75 -0
- package/templates/angular/src/app/components/modus-badge.component.ts +84 -0
- package/templates/angular/src/app/components/modus-breadcrumbs.component.ts +65 -0
- package/templates/angular/src/app/components/modus-button-group.component.ts +82 -0
- package/templates/angular/src/app/components/modus-button.component.ts +292 -0
- package/templates/angular/src/app/components/modus-card.component.ts +73 -0
- package/templates/angular/src/app/components/modus-checkbox.component.ts +117 -0
- package/templates/angular/src/app/components/modus-chip.component.ts +97 -0
- package/templates/angular/src/app/components/modus-collapse.component.ts +118 -0
- package/templates/angular/src/app/components/modus-date.component.ts +165 -0
- package/templates/angular/src/app/components/modus-dropdown-menu.component.ts +108 -0
- package/templates/angular/src/app/components/modus-file-dropzone.component.ts +121 -0
- package/templates/angular/src/app/components/modus-handle.component.ts +96 -0
- package/templates/angular/src/app/components/modus-icon.component.ts +81 -0
- package/templates/angular/src/app/components/modus-input-feedback.component.ts +54 -0
- package/templates/angular/src/app/components/modus-input-label.component.ts +62 -0
- package/templates/angular/src/app/components/modus-loader.component.ts +48 -0
- package/templates/angular/src/app/components/modus-logo.component.ts +115 -0
- package/templates/angular/src/app/components/modus-menu-item.component.ts +116 -0
- package/templates/angular/src/app/components/modus-menu.component.ts +58 -0
- package/templates/angular/src/app/components/modus-modal.component.ts +70 -0
- package/templates/angular/src/app/components/modus-navbar.component.ts +303 -0
- package/templates/angular/src/app/components/modus-number-input.component.ts +174 -0
- package/templates/angular/src/app/components/modus-pagination.component.ts +74 -0
- package/templates/angular/src/app/components/modus-panel.component.ts +61 -0
- package/templates/angular/src/app/components/modus-progress.component.ts +62 -0
- package/templates/angular/src/app/components/modus-radio.component.ts +102 -0
- package/templates/angular/src/app/components/modus-rating.component.ts +80 -0
- package/templates/angular/src/app/components/modus-select.component.ts +131 -0
- package/templates/angular/src/app/components/modus-side-navigation.component.ts +90 -0
- package/templates/angular/src/app/components/modus-skeleton.component.ts +54 -0
- package/templates/angular/src/app/components/modus-slider.component.ts +132 -0
- package/templates/angular/src/app/components/modus-stepper.component.ts +65 -0
- package/templates/angular/src/app/components/modus-switch.component.ts +118 -0
- package/templates/angular/src/app/components/modus-table.component.ts +204 -0
- package/templates/angular/src/app/components/modus-tabs.component.ts +82 -0
- package/templates/angular/src/app/components/modus-text-input.component.ts +221 -0
- package/templates/angular/src/app/components/modus-textarea.component.ts +168 -0
- package/templates/angular/src/app/components/modus-theme-switcher.component.ts +45 -0
- package/templates/angular/src/app/components/modus-time-input.component.ts +172 -0
- package/templates/angular/src/app/components/modus-toast.component.ts +63 -0
- package/templates/angular/src/app/components/modus-toolbar.component.ts +43 -0
- package/templates/angular/src/app/components/modus-tooltip.component.ts +83 -0
- package/templates/angular/src/app/components/modus-typography.component.ts +79 -0
- package/templates/angular/src/app/components/modus-utility-panel.component.ts +275 -0
- package/templates/angular/src/app/components/theme-demo.component.ts +1242 -0
- package/templates/angular/src/app/data/component-demos.ts +360 -0
- package/templates/angular/src/app/data/modus-icons.ts +806 -0
- package/templates/angular/src/app/demos/accordion/accordion-demo.component.ts +212 -0
- package/templates/angular/src/app/demos/alert/alert-demo.component.ts +108 -0
- package/templates/angular/src/app/demos/autocomplete/autocomplete-demo.component.ts +174 -0
- package/templates/angular/src/app/demos/avatar/avatar-demo.component.ts +149 -0
- package/templates/angular/src/app/demos/badge/badge-demo.component.ts +148 -0
- package/templates/angular/src/app/demos/breadcrumbs/breadcrumbs-demo.component.ts +96 -0
- package/templates/angular/src/app/demos/button/button-demo.component.ts +256 -0
- package/templates/angular/src/app/demos/button-group/button-group-demo.component.ts +215 -0
- package/templates/angular/src/app/demos/card/card-demo.component.ts +180 -0
- package/templates/angular/src/app/demos/checkbox/checkbox-demo.component.ts +71 -0
- package/templates/angular/src/app/demos/chip/chip-demo.component.ts +183 -0
- package/templates/angular/src/app/demos/date/date-demo.component.ts +193 -0
- package/templates/angular/src/app/demos/dropdown/dropdown-demo.component.ts +196 -0
- package/templates/angular/src/app/demos/file-dropzone/file-dropzone-demo.component.ts +176 -0
- package/templates/angular/src/app/demos/handle/handle-demo.component.ts +265 -0
- package/templates/angular/src/app/demos/icon/icon-demo.component.ts +65 -0
- package/templates/angular/src/app/demos/input-feedback/input-feedback-demo.component.ts +189 -0
- package/templates/angular/src/app/demos/input-label/input-label-demo.component.ts +330 -0
- package/templates/angular/src/app/demos/loader/loader-demo.component.ts +143 -0
- package/templates/angular/src/app/demos/logo/logo-demo.component.ts +191 -0
- package/templates/angular/src/app/demos/menu/menu-demo.component.ts +72 -0
- package/templates/angular/src/app/demos/modal/modal-demo.component.ts +278 -0
- package/templates/angular/src/app/demos/navbar/navbar-demo.component.ts +135 -0
- package/templates/angular/src/app/demos/number-input/number-input-demo.component.ts +175 -0
- package/templates/angular/src/app/demos/pagination/pagination-demo.component.ts +134 -0
- package/templates/angular/src/app/demos/panel/panel-demo.component.ts +235 -0
- package/templates/angular/src/app/demos/progress/progress-demo.component.ts +169 -0
- package/templates/angular/src/app/demos/radio/radio-demo.component.ts +161 -0
- package/templates/angular/src/app/demos/rating/rating-demo.component.ts +97 -0
- package/templates/angular/src/app/demos/select/select-demo.component.ts +107 -0
- package/templates/angular/src/app/demos/shared/demo-example-clean.component.ts +41 -0
- package/templates/angular/src/app/demos/shared/demo-example.component.ts +42 -0
- package/templates/angular/src/app/demos/shared/demo-page.component.ts +97 -0
- package/templates/angular/src/app/demos/shared/index.ts +3 -0
- package/templates/angular/src/app/demos/side-navigation/side-navigation-demo.component.ts +524 -0
- package/templates/angular/src/app/demos/skeleton/skeleton-demo.component.ts +112 -0
- package/templates/angular/src/app/demos/slider/slider-demo.component.ts +76 -0
- package/templates/angular/src/app/demos/stepper/stepper-demo.component.ts +79 -0
- package/templates/angular/src/app/demos/switch/switch-demo.component.ts +113 -0
- package/templates/angular/src/app/demos/table/table-demo.component.ts +405 -0
- package/templates/angular/src/app/demos/tabs/tabs-demo.component.ts +318 -0
- package/templates/angular/src/app/demos/text-input/text-input-demo.component.ts +160 -0
- package/templates/angular/src/app/demos/textarea/textarea-demo.component.ts +95 -0
- package/templates/angular/src/app/demos/theme-switcher/theme-switcher-demo.component.ts +38 -0
- package/templates/angular/src/app/demos/time-input/time-input-demo.component.ts +130 -0
- package/templates/angular/src/app/demos/toast/toast-demo.component.ts +258 -0
- package/templates/angular/src/app/demos/toolbar/toolbar-demo.component.ts +54 -0
- package/templates/angular/src/app/demos/tooltip/tooltip-demo.component.ts +163 -0
- package/templates/angular/src/app/demos/utility-panel/utility-panel-demo.component.ts +197 -0
- package/templates/angular/src/app/dev/dev-config.ts +119 -0
- package/templates/angular/src/app/dev/dev-panel/dev-panel.component.ts +215 -0
- package/templates/angular/src/app/dev/dev-panel.service.ts +63 -0
- package/templates/angular/src/app/dev/index.ts +8 -0
- package/templates/angular/src/app/dev/theme-switcher-dropdown/theme-switcher-dropdown.component.ts +134 -0
- package/templates/angular/src/app/dev-pages/color-palette/color-palette.component.ts +229 -0
- package/templates/angular/src/app/dev-pages/components-gallery/components-gallery.component.ts +486 -0
- package/templates/angular/src/app/dev-pages/icons/icons.component.ts +149 -0
- package/templates/angular/src/app/pages/home/home.component.ts +251 -0
- package/templates/angular/src/app/services/README.md +57 -0
- package/templates/angular/src/app/services/theme.service.ts +163 -0
- package/templates/angular/src/environments/environment.development.ts +8 -0
- package/templates/angular/src/environments/environment.ts +8 -0
- package/templates/angular/src/index.html +14 -0
- package/templates/angular/src/main.ts +6 -0
- package/templates/angular/src/styles.css +1328 -0
- package/templates/angular/tsconfig.app.json +15 -0
- package/templates/angular/tsconfig.json +35 -0
- package/templates/angular/tsconfig.spec.json +14 -0
- package/templates/config.json +23 -0
- package/templates/react/.cursor/commands/remove-dev-content.md +311 -0
- package/templates/react/.cursor/mcp.json +13 -0
- package/templates/react/.cursor/rules/README.md +240 -0
- package/templates/react/.cursor/rules/border-usage-guidelines-short.mdc +22 -0
- package/templates/react/.cursor/rules/border-usage-guidelines.mdc +380 -0
- package/templates/react/.cursor/rules/chrome-devtools-testing-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/development-workflow-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/development-workflow-react.mdc +292 -0
- package/templates/react/.cursor/rules/implementation-guides-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/implementation-guides-react.mdc +446 -0
- package/templates/react/.cursor/rules/modus-accordion-state-management-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-accordion-state-management-react.mdc +445 -0
- package/templates/react/.cursor/rules/modus-button-group-usage-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-button-group-usage-react.mdc +117 -0
- package/templates/react/.cursor/rules/modus-checkbox-value-inversion-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-checkbox-value-inversion-react.mdc +492 -0
- package/templates/react/.cursor/rules/modus-color-usage-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-color-usage-react.mdc +420 -0
- package/templates/react/.cursor/rules/modus-components-reference.mdc +366 -0
- package/templates/react/.cursor/rules/modus-icon-names.mdc +63 -0
- package/templates/react/.cursor/rules/modus-icons-react-short.mdc +24 -0
- package/templates/react/.cursor/rules/modus-icons-react.mdc +402 -0
- package/templates/react/.cursor/rules/modus-modal-implementation-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-modal-implementation-react.mdc +831 -0
- package/templates/react/.cursor/rules/modus-navbar-side-navigation-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-navbar-side-navigation-react.mdc +247 -0
- package/templates/react/.cursor/rules/modus-no-emojis-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-opacity-utilities-react-short.mdc +70 -0
- package/templates/react/.cursor/rules/modus-opacity-utilities-react.mdc +208 -0
- package/templates/react/.cursor/rules/modus-react-best-practices-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-react-best-practices.mdc +508 -0
- package/templates/react/.cursor/rules/modus-react-essentials.mdc +209 -0
- package/templates/react/.cursor/rules/modus-react-integration-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-react-integration.mdc +509 -0
- package/templates/react/.cursor/rules/modus-react-key-warnings-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-react-key-warnings.mdc +805 -0
- package/templates/react/.cursor/rules/modus-react-master.mdc +160 -0
- package/templates/react/.cursor/rules/modus-select-vs-dropdown-menu-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-select-vs-dropdown-menu-react.mdc +442 -0
- package/templates/react/.cursor/rules/modus-semantic-html-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-semantic-html-react.mdc +427 -0
- package/templates/react/.cursor/rules/modus-tailwind-usage-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-tailwind-usage-react.mdc +642 -0
- package/templates/react/.cursor/rules/modus-themes-react-short.mdc +23 -0
- package/templates/react/.cursor/rules/modus-themes-react.mdc +506 -0
- package/templates/react/.cursor/rules/ux/gestalt-laws-detailed.mdc +456 -0
- package/templates/react/.cursor/rules/ux/ux-ui-foundations.mdc +211 -0
- package/templates/react/.cursor/skills/create-modus-form-component/SKILL.md +518 -0
- package/templates/react/.cursor/skills/create-modus-wrapper-component/SKILL.md +252 -0
- package/templates/react/.cursor/skills/fix-modus-component-event-issues/SKILL.md +345 -0
- package/templates/react/.cursor/skills/handle-modus-checkbox-value-bug/SKILL.md +202 -0
- package/templates/react/.cursor/skills/implement-modus-modal-with-refs/SKILL.md +386 -0
- package/templates/react/.cursor/skills/integrate-modus-icons/SKILL.md +300 -0
- package/templates/react/.cursor/skills/run-lint-checks/SKILL.md +235 -0
- package/templates/react/.cursor/skills/set-up-modus-event-listeners/SKILL.md +284 -0
- package/templates/react/.cursor/skills/style-modus-components-with-tailwind/SKILL.md +382 -0
- package/templates/react/.env.development +3 -0
- package/templates/react/.env.production +3 -0
- package/templates/react/.github/CODEOWNERS +28 -0
- package/templates/react/.github/ISSUE_TEMPLATE/bug_report.yml +176 -0
- package/templates/react/.github/ISSUE_TEMPLATE/config.yml +20 -0
- package/templates/react/.github/ISSUE_TEMPLATE/documentation.yml +115 -0
- package/templates/react/.github/ISSUE_TEMPLATE/feature_request.yml +171 -0
- package/templates/react/.github/ISSUE_TEMPLATE/question.yml +139 -0
- package/templates/react/.github/copilot-instructions.md +80 -0
- package/templates/react/.github/instructions/components.instructions.md +82 -0
- package/templates/react/.github/instructions/demos.instructions.md +82 -0
- package/templates/react/.github/instructions/pages.instructions.md +76 -0
- package/templates/react/.github/instructions/styles.instructions.md +77 -0
- package/templates/react/.github/instructions/typescript.instructions.md +101 -0
- package/templates/react/.github/pull_request_template.md +188 -0
- package/templates/react/.github/workflows/ci.yml +43 -0
- package/templates/react/.github/workflows/claude-code-review.yml +44 -0
- package/templates/react/.github/workflows/claude.yml +50 -0
- package/templates/react/.husky/pre-commit +28 -0
- package/templates/react/.vscode/extensions.json +8 -0
- package/templates/react/CLAUDE.md +119 -0
- package/templates/react/CODE_OF_CONDUCT.md +79 -0
- package/templates/react/CONTRIBUTING.md +65 -0
- package/templates/react/LICENSE +21 -0
- package/templates/react/README.md +728 -0
- package/templates/react/SECURITY.md +50 -0
- package/templates/react/eslint.config.js +23 -0
- package/templates/react/index.html +13 -0
- package/templates/react/package-lock.json +5209 -0
- package/templates/react/package.json +49 -0
- package/templates/react/postcss.config.js +6 -0
- package/templates/react/public/react.svg +1 -0
- package/templates/react/public/vite.svg +1 -0
- package/templates/react/readme_assets/getting_started_header.png +0 -0
- package/templates/react/readme_assets/hero.png +0 -0
- package/templates/react/readme_assets/modus_comp.png +0 -0
- package/templates/react/readme_assets/modus_figma_mcp.png +0 -0
- package/templates/react/readme_assets/teaser_comp.gif +0 -0
- package/templates/react/scripts/README.md +343 -0
- package/templates/react/scripts/check-border-violations.js +483 -0
- package/templates/react/scripts/check-icon-names.js +486 -0
- package/templates/react/scripts/check-inline-styles.js +364 -0
- package/templates/react/scripts/check-modus-colors.js +247 -0
- package/templates/react/scripts/check-modus-icons.js +256 -0
- package/templates/react/scripts/check-opacity-utilities.js +481 -0
- package/templates/react/scripts/check-semantic-html.js +476 -0
- package/templates/react/scripts/check-typescript.js +109 -0
- package/templates/react/src/App.css +42 -0
- package/templates/react/src/App.tsx +54 -0
- package/templates/react/src/assets/react.svg +1 -0
- package/templates/react/src/components/DemoExample.tsx +61 -0
- package/templates/react/src/components/DemoPage.tsx +81 -0
- package/templates/react/src/components/ModusAccordion.tsx +89 -0
- package/templates/react/src/components/ModusAlert.tsx +85 -0
- package/templates/react/src/components/ModusAutocomplete.tsx +207 -0
- package/templates/react/src/components/ModusAvatar.tsx +50 -0
- package/templates/react/src/components/ModusBadge.tsx +82 -0
- package/templates/react/src/components/ModusBreadcrumbs.tsx +75 -0
- package/templates/react/src/components/ModusButton.tsx +244 -0
- package/templates/react/src/components/ModusButtonGroup.tsx +91 -0
- package/templates/react/src/components/ModusCard.tsx +70 -0
- package/templates/react/src/components/ModusCheckbox.tsx +168 -0
- package/templates/react/src/components/ModusChip.tsx +93 -0
- package/templates/react/src/components/ModusDate.tsx +154 -0
- package/templates/react/src/components/ModusDropdownMenu.tsx +148 -0
- package/templates/react/src/components/ModusFileDropzone.tsx +140 -0
- package/templates/react/src/components/ModusHandle.tsx +101 -0
- package/templates/react/src/components/ModusIcon.tsx +49 -0
- package/templates/react/src/components/ModusInputFeedback.tsx +52 -0
- package/templates/react/src/components/ModusInputLabel.tsx +50 -0
- package/templates/react/src/components/ModusLoader.tsx +42 -0
- package/templates/react/src/components/ModusLogo.tsx +102 -0
- package/templates/react/src/components/ModusMenu.tsx +119 -0
- package/templates/react/src/components/ModusMenuItem.tsx +86 -0
- package/templates/react/src/components/ModusModal.tsx +145 -0
- package/templates/react/src/components/ModusNavbar.tsx +504 -0
- package/templates/react/src/components/ModusNumberInput.tsx +230 -0
- package/templates/react/src/components/ModusPagination.tsx +94 -0
- package/templates/react/src/components/ModusPanel.tsx +92 -0
- package/templates/react/src/components/ModusProgress.tsx +70 -0
- package/templates/react/src/components/ModusProvider.tsx +18 -0
- package/templates/react/src/components/ModusRadio.tsx +114 -0
- package/templates/react/src/components/ModusRating.tsx +108 -0
- package/templates/react/src/components/ModusSelect.tsx +171 -0
- package/templates/react/src/components/ModusSideNavigation.tsx +149 -0
- package/templates/react/src/components/ModusSkeleton.tsx +42 -0
- package/templates/react/src/components/ModusSlider.tsx +128 -0
- package/templates/react/src/components/ModusStepper.tsx +85 -0
- package/templates/react/src/components/ModusSwitch.tsx +130 -0
- package/templates/react/src/components/ModusTable.tsx +309 -0
- package/templates/react/src/components/ModusTabs.tsx +114 -0
- package/templates/react/src/components/ModusTextInput.tsx +179 -0
- package/templates/react/src/components/ModusTextarea.tsx +164 -0
- package/templates/react/src/components/ModusThemeSwitcher.tsx +58 -0
- package/templates/react/src/components/ModusTimeInput.tsx +176 -0
- package/templates/react/src/components/ModusToast.tsx +207 -0
- package/templates/react/src/components/ModusToolbar.tsx +70 -0
- package/templates/react/src/components/ModusTooltip.tsx +97 -0
- package/templates/react/src/components/ModusUtilityPanel.tsx +198 -0
- package/templates/react/src/components/ThemeSwitcherDropdown.tsx +117 -0
- package/templates/react/src/components/ThemeToggleSimple.tsx +157 -0
- package/templates/react/src/config/routes.ts +196 -0
- package/templates/react/src/contexts/ThemeContext.tsx +81 -0
- package/templates/react/src/contexts/ThemeContextData.tsx +89 -0
- package/templates/react/src/data/modusIcons.ts +865 -0
- package/templates/react/src/demos/accordion-demo/page.tsx +236 -0
- package/templates/react/src/demos/alert-demo/page.tsx +94 -0
- package/templates/react/src/demos/autocomplete-demo/page.tsx +166 -0
- package/templates/react/src/demos/avatar-demo/page.tsx +135 -0
- package/templates/react/src/demos/badge-demo/page.tsx +174 -0
- package/templates/react/src/demos/breadcrumbs-demo/page.tsx +88 -0
- package/templates/react/src/demos/button-demo/page.tsx +261 -0
- package/templates/react/src/demos/button-group-demo/page.tsx +231 -0
- package/templates/react/src/demos/card-demo/page.tsx +241 -0
- package/templates/react/src/demos/checkbox-demo/page.tsx +79 -0
- package/templates/react/src/demos/chip-demo/page.tsx +197 -0
- package/templates/react/src/demos/date-demo/page.tsx +179 -0
- package/templates/react/src/demos/dropdown-demo/page.tsx +150 -0
- package/templates/react/src/demos/file-dropzone-demo/page.tsx +186 -0
- package/templates/react/src/demos/handle-demo/page.tsx +313 -0
- package/templates/react/src/demos/icon-demo/page.tsx +72 -0
- package/templates/react/src/demos/input-feedback-demo/page.tsx +202 -0
- package/templates/react/src/demos/input-label-demo/page.tsx +392 -0
- package/templates/react/src/demos/loader-demo/page.tsx +138 -0
- package/templates/react/src/demos/logo-demo/page.tsx +292 -0
- package/templates/react/src/demos/menu-demo/page.tsx +70 -0
- package/templates/react/src/demos/modal-demo/page.tsx +332 -0
- package/templates/react/src/demos/navbar-demo/page.tsx +141 -0
- package/templates/react/src/demos/number-input-demo/page.tsx +180 -0
- package/templates/react/src/demos/pagination-demo/page.tsx +147 -0
- package/templates/react/src/demos/panel-demo/page.tsx +376 -0
- package/templates/react/src/demos/progress-demo/page.tsx +185 -0
- package/templates/react/src/demos/radio-demo/page.tsx +242 -0
- package/templates/react/src/demos/rating-demo/page.tsx +97 -0
- package/templates/react/src/demos/select-demo/page.tsx +111 -0
- package/templates/react/src/demos/side-navigation-demo/page.tsx +775 -0
- package/templates/react/src/demos/skeleton-demo/page.tsx +107 -0
- package/templates/react/src/demos/slider-demo/page.tsx +78 -0
- package/templates/react/src/demos/stepper-demo/page.tsx +86 -0
- package/templates/react/src/demos/switch-demo/page.tsx +146 -0
- package/templates/react/src/demos/table-demo/page.tsx +489 -0
- package/templates/react/src/demos/tabs-demo/page.tsx +187 -0
- package/templates/react/src/demos/text-input-demo/page.tsx +151 -0
- package/templates/react/src/demos/textarea-demo/page.tsx +73 -0
- package/templates/react/src/demos/theme-switcher-demo/page.tsx +26 -0
- package/templates/react/src/demos/time-input-demo/page.tsx +148 -0
- package/templates/react/src/demos/toast-demo/page.tsx +302 -0
- package/templates/react/src/demos/toolbar-demo/page.tsx +49 -0
- package/templates/react/src/demos/tooltip-demo/page.tsx +209 -0
- package/templates/react/src/demos/typography-test/page.tsx +28 -0
- package/templates/react/src/demos/utility-panel-demo/page.tsx +197 -0
- package/templates/react/src/dev/DevPanel.tsx +219 -0
- package/templates/react/src/dev/DevPanelContext.ts +14 -0
- package/templates/react/src/dev/DevPanelProvider.tsx +63 -0
- package/templates/react/src/dev/DevRoutes.tsx +98 -0
- package/templates/react/src/dev/config.ts +127 -0
- package/templates/react/src/dev/index.ts +8 -0
- package/templates/react/src/dev/useDevPanel.ts +17 -0
- package/templates/react/src/dev-pages/ColorPalettePage.tsx +347 -0
- package/templates/react/src/dev-pages/ComponentsGalleryPage.tsx +489 -0
- package/templates/react/src/dev-pages/IconsPage.tsx +137 -0
- package/templates/react/src/dev-pages/index.ts +3 -0
- package/templates/react/src/hooks/useTheme.ts +15 -0
- package/templates/react/src/index.css +635 -0
- package/templates/react/src/main.tsx +14 -0
- package/templates/react/src/pages/HomePage.tsx +283 -0
- package/templates/react/src/vite-env.d.ts +9 -0
- package/templates/react/tailwind.config.js +58 -0
- package/templates/react/tsconfig.app.json +27 -0
- package/templates/react/tsconfig.json +7 -0
- package/templates/react/tsconfig.node.json +25 -0
- package/templates/react/vite.config.ts +18 -0
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Essential linting and quality checks for React + Vite development
|
|
3
|
+
globs: ["**/*.tsx", "**/*.ts", "**/*.css"]
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Development Workflow & Quality Assurance for React + Vite
|
|
8
|
+
|
|
9
|
+
## 🚀 **MANDATORY: Always Run Linting Commands During Development**
|
|
10
|
+
|
|
11
|
+
**CRITICAL**: Before making any code changes, always run these linting commands to ensure design system compliance:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# 🎨 Check for inline styles that should use Tailwind classes
|
|
15
|
+
npm run lint:styles
|
|
16
|
+
|
|
17
|
+
# 🎨 Check for non-Modus colors (hex, RGB, Tailwind colors)
|
|
18
|
+
npm run lint:colors
|
|
19
|
+
|
|
20
|
+
# 🎨 Check for non-Modus icons (Font Awesome, Material Icons, etc.)
|
|
21
|
+
npm run lint:icons
|
|
22
|
+
|
|
23
|
+
# 🎨 Check for semantic HTML elements (h1, section, header, etc.)
|
|
24
|
+
npm run lint:semantic
|
|
25
|
+
|
|
26
|
+
# 🎨 Check for border violations (Tailwind color classes in borders)
|
|
27
|
+
npm run lint:borders
|
|
28
|
+
|
|
29
|
+
# 🔍 Run all linting checks at once
|
|
30
|
+
npm run lint:all
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## 📋 **Pre-Development Checklist**
|
|
34
|
+
|
|
35
|
+
Before starting any new feature or component:
|
|
36
|
+
|
|
37
|
+
1. **✅ Run Design System Lints**:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npm run lint:styles # Check inline styles
|
|
41
|
+
npm run lint:colors # Check color usage
|
|
42
|
+
npm run lint:icons # Check icon usage
|
|
43
|
+
npm run lint:semantic # Check semantic HTML elements
|
|
44
|
+
npm run lint:borders # Check border violations
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
2. **✅ Verify Theme Compatibility**:
|
|
48
|
+
|
|
49
|
+
- Test with all 6 Modus themes (classic/modern, light/dark, connect themes)
|
|
50
|
+
- Ensure components work in both light and dark modes
|
|
51
|
+
|
|
52
|
+
3. **✅ Check Component Architecture**:
|
|
53
|
+
- Use single configurable components (not multiple specific ones)
|
|
54
|
+
- Follow Modus Web Components patterns
|
|
55
|
+
- Use proper event handling with refs
|
|
56
|
+
|
|
57
|
+
## 🔄 **Development Workflow**
|
|
58
|
+
|
|
59
|
+
**Every time you make changes:**
|
|
60
|
+
|
|
61
|
+
1. **Make your changes** to components/pages
|
|
62
|
+
2. **Run linting commands** to catch violations early:
|
|
63
|
+
```bash
|
|
64
|
+
npm run lint:all
|
|
65
|
+
```
|
|
66
|
+
3. **Fix any violations** before continuing
|
|
67
|
+
4. **Test with Chrome DevTools** to validate visual changes
|
|
68
|
+
5. **Commit only when all lints pass**
|
|
69
|
+
|
|
70
|
+
## 🚨 **Common Violations to Watch For**
|
|
71
|
+
|
|
72
|
+
### Inline Styles (lint:styles):
|
|
73
|
+
|
|
74
|
+
```tsx
|
|
75
|
+
// ❌ VIOLATION: Inline styles
|
|
76
|
+
style={{ backgroundColor: "var(--modus-wc-color-base-page)" }}
|
|
77
|
+
style={{ marginRight: "8px" }}
|
|
78
|
+
style={{ color: "var(--modus-wc-color-base-content)" }}
|
|
79
|
+
|
|
80
|
+
// ✅ CORRECT: Tailwind classes
|
|
81
|
+
className="bg-background mr-2 text-foreground"
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Color Usage (lint:colors):
|
|
85
|
+
|
|
86
|
+
```tsx
|
|
87
|
+
// ❌ VIOLATION: Non-Modus colors
|
|
88
|
+
style={{ backgroundColor: "#ffffff" }}
|
|
89
|
+
className="bg-blue-500 text-red-400"
|
|
90
|
+
|
|
91
|
+
// ✅ CORRECT: Modus design system colors
|
|
92
|
+
className="bg-background text-foreground"
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Icon Usage (lint:icons):
|
|
96
|
+
|
|
97
|
+
```tsx
|
|
98
|
+
// ❌ VIOLATION: Non-Modus icons
|
|
99
|
+
import { FaHome } from 'react-icons/fa';
|
|
100
|
+
<i className="fa fa-home"></i>
|
|
101
|
+
|
|
102
|
+
// ✅ CORRECT: Modus icons
|
|
103
|
+
<i className="modus-icons">home</i>
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
### Semantic HTML (lint:semantic):
|
|
107
|
+
|
|
108
|
+
```tsx
|
|
109
|
+
// ❌ VIOLATION: Semantic HTML elements
|
|
110
|
+
<h1 className="text-4xl font-bold">Title</h1>
|
|
111
|
+
<section className="mb-8 p-4">Content</section>
|
|
112
|
+
<header className="bg-background">Header</header>
|
|
113
|
+
|
|
114
|
+
// ✅ CORRECT: Div elements with Tailwind classes
|
|
115
|
+
<div className="text-4xl font-bold">Title</div>
|
|
116
|
+
<div className="mb-8 p-4">Content</div>
|
|
117
|
+
<div className="bg-background">Header</div>
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Border Violations (lint:borders):
|
|
121
|
+
|
|
122
|
+
```tsx
|
|
123
|
+
// ❌ VIOLATION: Tailwind color classes in borders
|
|
124
|
+
<div className="border border-red-500">Error message</div>
|
|
125
|
+
<div className="border-2 border-green-500">Success message</div>
|
|
126
|
+
|
|
127
|
+
// ✅ CORRECT: Design system border utilities
|
|
128
|
+
<div className="border-destructive">Error message</div>
|
|
129
|
+
<div className="border-thick-success">Success message</div>
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## 🎯 **Quality Gates**
|
|
133
|
+
|
|
134
|
+
**Pre-commit Requirements:**
|
|
135
|
+
|
|
136
|
+
- [ ] ✅ `npm run lint:styles` passes (0 violations)
|
|
137
|
+
- [ ] ✅ `npm run lint:colors` passes (0 violations)
|
|
138
|
+
- [ ] ✅ `npm run lint:icons` passes (0 violations)
|
|
139
|
+
- [ ] ✅ `npm run lint:semantic` passes (0 violations)
|
|
140
|
+
- [ ] ✅ `npm run lint:borders` passes (0 violations)
|
|
141
|
+
- [ ] ✅ All 6 themes tested (classic/modern, light/dark, connect themes)
|
|
142
|
+
- [ ] ✅ Chrome DevTools validation completed
|
|
143
|
+
- [ ] ✅ No console errors or warnings
|
|
144
|
+
|
|
145
|
+
## 🛠️ **Quick Fix Commands**
|
|
146
|
+
|
|
147
|
+
**If you get violations, use these patterns:**
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
# Fix inline styles
|
|
151
|
+
# Replace: style={{ backgroundColor: "var(--modus-wc-color-base-page)" }}
|
|
152
|
+
# With: className="bg-background"
|
|
153
|
+
|
|
154
|
+
# Fix colors
|
|
155
|
+
# Replace: style={{ color: "#000000" }}
|
|
156
|
+
# With: className="text-foreground"
|
|
157
|
+
|
|
158
|
+
# Fix icons
|
|
159
|
+
# Replace: <i className="fa fa-home"></i>
|
|
160
|
+
# With: <i className="modus-icons">home</i>
|
|
161
|
+
|
|
162
|
+
# Fix borders
|
|
163
|
+
# Replace: className="border border-red-500"
|
|
164
|
+
# With: className="border-destructive"
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## 📊 **Linting Results Interpretation**
|
|
168
|
+
|
|
169
|
+
### ✅ Success:
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
✅ All files are using Tailwind classes correctly!
|
|
173
|
+
✅ All files are using Modus colors correctly!
|
|
174
|
+
✅ All files are using Modus icons correctly!
|
|
175
|
+
✅ All files are using div elements with Tailwind classes correctly!
|
|
176
|
+
✅ All files are using design system border utilities correctly!
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### ❌ Violations Found:
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
❌ Found 5 inline style violations:
|
|
183
|
+
📄 src/components/MyComponent.tsx:
|
|
184
|
+
18:15 - Inline style detected: "style={{ backgroundColor: "var(--modus-wc-color-base-page)" }}"
|
|
185
|
+
💡 Suggestion: bg-background
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
**Fix each violation by following the suggestions provided.**
|
|
189
|
+
|
|
190
|
+
## 🎯 **AI Assistant Instructions**
|
|
191
|
+
|
|
192
|
+
**When working on this project, ALWAYS:**
|
|
193
|
+
|
|
194
|
+
1. **Run linting commands before suggesting any code changes**
|
|
195
|
+
2. **Include linting commands in your development workflow**
|
|
196
|
+
3. **Validate changes with Chrome DevTools MCP**
|
|
197
|
+
4. **Ensure all 6 Modus themes work correctly**
|
|
198
|
+
5. **Follow the single configurable component pattern**
|
|
199
|
+
6. **Use proper Modus Web Components event handling**
|
|
200
|
+
7. **Maintain design system compliance at all times**
|
|
201
|
+
|
|
202
|
+
## 🚀 **Vite + React Specific Workflow**
|
|
203
|
+
|
|
204
|
+
### Development Server:
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
# Start development server
|
|
208
|
+
npm run dev
|
|
209
|
+
|
|
210
|
+
# Build for production
|
|
211
|
+
npm run build
|
|
212
|
+
|
|
213
|
+
# Preview production build
|
|
214
|
+
npm run preview
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
### Hot Module Replacement (HMR):
|
|
218
|
+
|
|
219
|
+
- Vite provides instant HMR for React components
|
|
220
|
+
- Changes to components update immediately
|
|
221
|
+
- State is preserved during HMR
|
|
222
|
+
- CSS changes are applied instantly
|
|
223
|
+
|
|
224
|
+
### TypeScript Integration:
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
# Type checking
|
|
228
|
+
npm run type-check
|
|
229
|
+
|
|
230
|
+
# All linting including TypeScript
|
|
231
|
+
npm run lint:all
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
## 🔧 **React + Vite Best Practices**
|
|
235
|
+
|
|
236
|
+
### Component Development:
|
|
237
|
+
|
|
238
|
+
1. **Use functional components** with hooks
|
|
239
|
+
2. **No "use client" directive needed** (everything is client-side)
|
|
240
|
+
3. **Use React Router** for navigation
|
|
241
|
+
4. **Leverage Vite's fast HMR** for rapid development
|
|
242
|
+
|
|
243
|
+
### File Organization:
|
|
244
|
+
|
|
245
|
+
```
|
|
246
|
+
src/
|
|
247
|
+
├── components/ # Reusable components
|
|
248
|
+
├── pages/ # Page components
|
|
249
|
+
├── contexts/ # React contexts
|
|
250
|
+
├── hooks/ # Custom hooks
|
|
251
|
+
├── config/ # Configuration files
|
|
252
|
+
└── main.tsx # Entry point
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### Import Patterns:
|
|
256
|
+
|
|
257
|
+
```tsx
|
|
258
|
+
// ✅ CORRECT: Use import.meta.env for environment variables
|
|
259
|
+
const apiUrl = import.meta.env.VITE_API_URL;
|
|
260
|
+
|
|
261
|
+
// ✅ CORRECT: Import React components
|
|
262
|
+
import { useState, useEffect } from "react";
|
|
263
|
+
import { useNavigate } from "react-router-dom";
|
|
264
|
+
|
|
265
|
+
// ✅ CORRECT: Import Modus components
|
|
266
|
+
import { ModusWcButton } from "@trimble-oss/moduswebcomponents-react";
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
## 📋 **Development Checklist**
|
|
270
|
+
|
|
271
|
+
**Before Starting Development:**
|
|
272
|
+
|
|
273
|
+
- [ ] ✅ **Run linting commands** to check current state
|
|
274
|
+
- [ ] ✅ **Start dev server** (`npm run dev`)
|
|
275
|
+
- [ ] ✅ **Open Chrome DevTools** for testing
|
|
276
|
+
- [ ] ✅ **Verify theme switching** works
|
|
277
|
+
|
|
278
|
+
**During Development:**
|
|
279
|
+
|
|
280
|
+
- [ ] ✅ **Run linting after each change**
|
|
281
|
+
- [ ] ✅ **Test in Chrome DevTools**
|
|
282
|
+
- [ ] ✅ **Verify all themes work**
|
|
283
|
+
- [ ] ✅ **Check responsive design**
|
|
284
|
+
|
|
285
|
+
**Before Committing:**
|
|
286
|
+
|
|
287
|
+
- [ ] ✅ **All linting passes** (`npm run lint:all`)
|
|
288
|
+
- [ ] ✅ **No console errors**
|
|
289
|
+
- [ ] ✅ **All themes tested**
|
|
290
|
+
- [ ] ✅ **Performance validated**
|
|
291
|
+
|
|
292
|
+
**Remember**: Quality gates are non-negotiable. All linting commands must pass before any code is considered complete.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create comprehensive implementation guides for major feature development
|
|
3
|
+
globs: ["**/.cursor/rules/implementation-guides/**/*.md"]
|
|
4
|
+
alwaysApply: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Implementation Guides - Short
|
|
8
|
+
|
|
9
|
+
Create comprehensive implementation guides for major feature development.
|
|
10
|
+
|
|
11
|
+
## Key Rules
|
|
12
|
+
|
|
13
|
+
- **Create guides for major features** - Any feature requiring 2+ hours of development
|
|
14
|
+
- **Document before coding** - Plan architecture and approach first
|
|
15
|
+
- **Use required template sections** - Overview, architecture, plan, testing, deployment, documentation, review
|
|
16
|
+
- **Store in `.cursor/rules/implementation-guides/`** - Organized by feature name
|
|
17
|
+
- **Update status throughout development** - Planning → In Progress → Complete → Archived
|
|
18
|
+
- **Include post-implementation review** - Document lessons learned and improvements
|
|
19
|
+
- **Reference in commits** - Link to implementation guide in commit messages
|
|
20
|
+
|
|
21
|
+
## Reference
|
|
22
|
+
|
|
23
|
+
For detailed template structure, lifecycle management, and implementation guide best practices, fetch the full rule: `implementation-guides-react`
|