mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-01-30 06:12:03 +00:00
style: fix formatting with Prettier
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -90,13 +90,17 @@ components/views/
|
||||
## Global vs View-Specific Code
|
||||
|
||||
### Global (`src/hooks/`, `src/lib/`, etc.)
|
||||
|
||||
Code that is used across **multiple views**:
|
||||
|
||||
- `src/hooks/use-auto-mode.ts` - Used by board-view, agent-view, etc.
|
||||
- `src/hooks/use-keyboard-shortcuts.ts` - Used across the app
|
||||
- `src/lib/utils.ts` - Global utilities
|
||||
|
||||
### View-Specific (`[view-name]/hooks/`, `[view-name]/components/`)
|
||||
|
||||
Code that is **only used within a single view**:
|
||||
|
||||
- `board-view/hooks/use-board-actions.ts` - Only used by board-view
|
||||
- `board-view/components/kanban-card.tsx` - Only used by board-view
|
||||
|
||||
@@ -106,16 +110,17 @@ Use `index.ts` files to create clean import paths:
|
||||
|
||||
```tsx
|
||||
// board-view/hooks/index.ts
|
||||
export { useBoardActions } from "./use-board-actions";
|
||||
export { useBoardFeatures } from "./use-board-features";
|
||||
export { useBoardActions } from './use-board-actions';
|
||||
export { useBoardFeatures } from './use-board-features';
|
||||
|
||||
// Usage in board-view.tsx
|
||||
import { useBoardActions, useBoardFeatures } from "./board-view/hooks";
|
||||
import { useBoardActions, useBoardFeatures } from './board-view/hooks';
|
||||
```
|
||||
|
||||
## When to Create a Subfolder
|
||||
|
||||
Create a subfolder for a view when:
|
||||
|
||||
1. The view file exceeds ~500 lines
|
||||
2. The view has 3+ related components
|
||||
3. The view has 2+ custom hooks
|
||||
@@ -126,38 +131,37 @@ Create a subfolder for a view when:
|
||||
The `dialogs/` folder contains all dialog and modal components specific to a view:
|
||||
|
||||
### What goes in `dialogs/`:
|
||||
|
||||
- Confirmation dialogs (e.g., `delete-all-verified-dialog.tsx`)
|
||||
- Form dialogs (e.g., `add-feature-dialog.tsx`, `edit-feature-dialog.tsx`)
|
||||
- Modal overlays (e.g., `agent-output-modal.tsx`, `completed-features-modal.tsx`)
|
||||
- Any component that renders as an overlay/popup
|
||||
|
||||
### Naming convention:
|
||||
|
||||
- Use `-dialog.tsx` suffix for confirmation/form dialogs
|
||||
- Use `-modal.tsx` suffix for content-heavy modals
|
||||
|
||||
### Barrel export pattern:
|
||||
|
||||
```tsx
|
||||
// dialogs/index.ts
|
||||
export { AddFeatureDialog } from "./add-feature-dialog";
|
||||
export { EditFeatureDialog } from "./edit-feature-dialog";
|
||||
export { AgentOutputModal } from "./agent-output-modal";
|
||||
export { AddFeatureDialog } from './add-feature-dialog';
|
||||
export { EditFeatureDialog } from './edit-feature-dialog';
|
||||
export { AgentOutputModal } from './agent-output-modal';
|
||||
// ... etc
|
||||
|
||||
// Usage in view entry point
|
||||
import {
|
||||
AddFeatureDialog,
|
||||
EditFeatureDialog,
|
||||
AgentOutputModal,
|
||||
} from "./board-view/dialogs";
|
||||
import { AddFeatureDialog, EditFeatureDialog, AgentOutputModal } from './board-view/dialogs';
|
||||
```
|
||||
|
||||
## Quick Reference
|
||||
|
||||
| Location | File Naming | Export Naming |
|
||||
|----------|-------------|---------------|
|
||||
| Components | `kebab-case.tsx` | `PascalCase` |
|
||||
| Dialogs | `*-dialog.tsx` or `*-modal.tsx` | `PascalCase` |
|
||||
| Hooks | `use-kebab-case.ts` | `camelCase` |
|
||||
| Utils/Lib | `kebab-case.ts` | `camelCase` |
|
||||
| Types | `kebab-case.ts` | `PascalCase` |
|
||||
| Constants | `constants.ts` | `SCREAMING_SNAKE_CASE` |
|
||||
| Location | File Naming | Export Naming |
|
||||
| ---------- | ------------------------------- | ---------------------- |
|
||||
| Components | `kebab-case.tsx` | `PascalCase` |
|
||||
| Dialogs | `*-dialog.tsx` or `*-modal.tsx` | `PascalCase` |
|
||||
| Hooks | `use-kebab-case.ts` | `camelCase` |
|
||||
| Utils/Lib | `kebab-case.ts` | `camelCase` |
|
||||
| Types | `kebab-case.ts` | `PascalCase` |
|
||||
| Constants | `constants.ts` | `SCREAMING_SNAKE_CASE` |
|
||||
|
||||
Reference in New Issue
Block a user