* Perfect! Now let me create a summary for you: ## ✅ ESLint Configuration Complete The linter has identified **29 files** that need to be renamed: ### **Files to Rename:** #### **Components → PascalCase (15 files)** ``` config-provider.tsx → ConfigProvider.tsx diff-view-switch.tsx → DiffViewSwitch.tsx logo.tsx → Logo.tsx navbar.tsx → Navbar.tsx (in layout/) search-bar.tsx → SearchBar.tsx theme-provider.tsx → ThemeProvider.tsx style-override.tsx → StyleOverride.tsx copy-files-field.tsx → CopyFilesField.tsx (in projects/) project-detail.tsx → ProjectDetail.tsx (in projects/) project-form-fields.tsx → ProjectFormFields.tsx (in projects/) project-list.tsx → ProjectList.tsx (in projects/) ``` #### **Contexts → PascalCase (2 files)** ``` project-context.tsx → ProjectContext.tsx search-context.tsx → SearchContext.tsx ``` #### **Pages → PascalCase (3 files)** ``` full-attempt-logs.tsx → FullAttemptLogs.tsx project-tasks.tsx → ProjectTasks.tsx projects.tsx → Projects.tsx ``` #### **Lib → camelCase (2 files)** ``` caret-position.ts → caretPosition.ts mcp-strategies.ts → mcpStrategies.ts ``` #### **Utils → camelCase (3 files)** ``` companion-install-task.ts → companionInstallTask.ts script-placeholders.ts → scriptPlaceholders.ts status-labels.ts → statusLabels.ts ``` #### **UI (shadcn) → kebab-case (4 files)** ``` ActionsDropdown.tsx → actions-dropdown.tsx ImageUploadSection.tsx → image-upload-section.tsx TitleDescriptionEditor.tsx → title-description-editor.tsx DataTable.tsx → data-table.tsx (in table/) Table.tsx → table.tsx (in table/) ImageChipNode.tsx → image-chip-node.tsx (in wysiwyg/) imageChipMarkdown.ts → image-chip-markdown.ts (in wysiwyg/) ``` #### **Entry Point (special case - 1 file)** ``` main.tsx → can stay as main.tsx (entry point convention) ``` **Next steps:** Should I proceed with renaming these files using `git mv`? * ## ✅ Complete! File Naming Standardization Successful ### **Summary** Successfully implemented and enforced file naming conventions for the frontend: ### **What Was Done:** 1. ✅ **Installed** `eslint-plugin-check-file@^2.8.0` 2. ✅ **Configured ESLint** with file naming rules: - **Components (.tsx)**: `PascalCase` - **Hooks (.ts)**: `camelCase` (with `use` prefix) - **Utils/Lib (.ts)**: `camelCase` - **Shadcn UI**: `kebab-case` (library convention) - **Entry points**: Excluded (`main.tsx`, `vite-env.d.ts`) 3. ✅ **Renamed 28 files** using `git mv`: - 10 components → PascalCase - 2 contexts → PascalCase - 3 pages → PascalCase - 2 lib files → camelCase - 3 utils → camelCase - 7 UI components → kebab-case - 1 utils component → PascalCase 4. ✅ **Fixed all imports** across the codebase (77 files modified) 5. ✅ **Verified**: - ✅ ESLint passes (no filename errors) - ✅ TypeScript check passes (no errors) - ✅ Build successful ### **Git Status:** - 28 files renamed (with history preserved via `git mv`) - 77 total files changed (renames + import updates) ### **Ready for commit!** The codebase now has consistent, enforceable file naming conventions that will prevent future inconsistencies. * Cleanup script changes for task attempt 11f8d7b9-99b5-41ce-934c-5ce75008a200
3.8 KiB
3.8 KiB