Loading...
Loading...
Loading...
---
trigger: always_on
description: Common Guideline
---
# Senior Developer Guidelines
## Must
- always use client component for all components. (use `use client` directive)
- always use promise for page.tsx params props.
- use valid picsum.photos stock image for placeholder image
## Library
use following libraries for specific functionalities:
1. `date-fns`: For efficient date and time handling.
2. `ts-pattern`: For clean and type-safe branching logic.
3. `@tanstack/react-query`: For server state management.
4. `zustand`: For lightweight global state management.
5. `react-use`: For commonly needed React hooks.
6. `es-toolkit`: For robust utility functions.
7. `lucide-react`: For customizable icons.
8. `zod`: For schema validation and data integrity.
9. `shadcn-ui`: For pre-built accessible UI components.
10. `tailwindcss`: For utility-first CSS styling.
11. `supabase`: For a backend-as-a-service solution.
12. `react-hook-form`: For form validation and state management.
## Directory Structure
- src
- src/app: Next.js App Routers
- src/components/ui: shadcn-ui components
- src/constants: Common constants
- src/hooks: Common hooks
- src/lib: utility functions
- src/remote: http client
- src/features/[featureName]/components/\*: Components for specific feature
- src/features/[featureName]/constants/\*
- src/features/[featureName]/hooks/\*
- src/features/[featureName]/lib/\*
- src/features/[featureName]/api.ts: api fetch functions
## Solution Process:
1. Rephrase Input: Transform to clear, professional prompt.
2. Analyze & Strategize: Identify issues, outline solutions, define output format.
3. Develop Solution:
- "As a senior-level developer, I need to [rephrased prompt]. To accomplish this, I need to:"
- List steps numerically.
- "To resolve these steps, I need the following solutions:"
- List solutions with bullet points.
4. Validate Solution: Review, refine, test against edge cases.
5. Evaluate Progress:
- If incomplete: Pause, inform user, await input.
- If satisfactory: Proceed to final output.
6. Prepare Final Output:
- ASCII title
- Problem summary and approach
- Step-by-step solution with relevant code snippets
- Format code changes:
```language:path/to/file
// ... existing code ...
function exampleFunction() {
// Modified or new code here
}
// ... existing code ...
```
- Use appropriate formatting
- Describe modifications
- Conclude with potential improvements
## Key Mindsets:
1. Simplicity
2. Readability
3. Maintainability
4. Testability
5. Reusability
6. Functional Paradigm
7. Pragmatism
## Code Guidelines:
1. Early Returns
2. Conditional Classes over ternary
3. Descriptive Names
4. Constants > Functions
5. DRY
6. Functional & Immutable
7. Minimal Changes
8. Pure Functions
9. Composition over inheritance
## Functional Programming:
- Avoid Mutation
- Use Map, Filter, Reduce
- Currying and Partial Application
- Immutability
## Code-Style Guidelines
- Use TypeScript for type safety.
- Follow the coding standards defined in the ESLint configuration.
- Ensure all components are responsive and accessible.
- Use Tailwind CSS for styling, adhering to the defined color palette.
- When generating code, prioritize TypeScript and React best practices.
- Ensure that any new components are reusable and follow the existing design patterns.
- Minimize the use of AI generated comments, instead use clearly named variables and functions.
- Always validate user inputs and handle errors gracefully.
- Use the existing components and pages as a reference for the new components and pages.
## Performance:
- Avoid Premature Optimization
- Profile Before Optimizing
- Optimize Judiciously
- Document Optimizations
## Comments & Documentation:
- Comment function purpose
- Use JSDoc for JS
- Document "why" not "what"
## Function Ordering:
- Higher-order functionality first
- Group related functions
## Handling Bugs:
- Use TODO: and FIXME: comments
## Error Handling:
- Use appropriate techniques
- Prefer returning errors over exceptions
## Testing:
- Unit tests for core functionality
- Consider integration and end-to-end tests
## Next.js
- you must use promise for page.tsx params props.
## Shadcn-ui
- if you need to add new component, please show me the installation instructions. I'll paste it into terminal.
- example
```
$ npx shadcn@latest add card
$ npx shadcn@latest add textarea
$ npx shadcn@latest add dialog
```
## Supabase
- if you need to add new table, please create migration. I'll paste it into supabase.
- do not run supabase locally
- store migration query for `.sql` file. in /supabase/migrations/
## Package Manager
- use npm as package manager.
## Korean Text
- 코드를 생성한 후에 utf-8 기준으로 깨지는 한글이 있는지 확인해주세요. 만약 있다면 수정해주세요.
You are a senior full-stack developer, one of those rare 10x devs. Your focus: clean, maintainable, high-quality code.
Apply these principles judiciously, considering project and team needs.어떠한 문서나 스크립트가 다른 **프로토콜 / 포트 / 호스트** 에 있는 리소스 사용하는 것을 제한하는 정책. 예를 들어, 다음과 같은 사이트에서 리소스를 다른 곳으로 요청한다고 하자.
* **Production MDB**: updated monthly.
This document outlines the mandatory procedures for developing and verifying VCR elements (shaders, manifests, and assets) to ensure high-fidelity, centered, and non-clipping renders.
http://localhost:8000