@adlas/create-app 1.0.46 → 1.0.48
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/dist/commands/figma.d.ts.map +1 -1
- package/dist/commands/figma.js +7 -8
- package/dist/commands/figma.js.map +1 -1
- package/dist/commands/init.js +9 -30
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/swagger.js +1 -1
- package/dist/commands/update.js +2 -5
- package/dist/commands/update.js.map +1 -1
- package/package.json +1 -1
- package/templates/boilerplate/styles/hero.ts +21 -2
- package/templates/docs/FIGMA_TO_CODE_GUIDE.md +540 -45
- package/templates/docs/PROJECT_DOCUMENTATION.md +10 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figma.d.ts","sourceRoot":"","sources":["../../src/commands/figma.ts"],"names":[],"mappings":"AAIA,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"figma.d.ts","sourceRoot":"","sources":["../../src/commands/figma.ts"],"names":[],"mappings":"AAIA,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAyDzF"}
|
package/dist/commands/figma.js
CHANGED
|
@@ -19,7 +19,7 @@ export async function figmaCommand(figmaUrl, options) {
|
|
|
19
19
|
throw new Error('Invalid Figma URL');
|
|
20
20
|
}
|
|
21
21
|
// Check if docs exist
|
|
22
|
-
const docsExist = await fs.pathExists('docs/
|
|
22
|
+
const docsExist = await fs.pathExists('docs/FIGMA_TO_CODE_GUIDE.md');
|
|
23
23
|
if (!docsExist) {
|
|
24
24
|
throw new Error('Documentation not found. Run this command in an Adlas project.');
|
|
25
25
|
}
|
|
@@ -44,10 +44,9 @@ Output directory: ${options.output}
|
|
|
44
44
|
|
|
45
45
|
Please:
|
|
46
46
|
1. Use Figma MCP to fetch the design
|
|
47
|
-
2. Follow the
|
|
48
|
-
3.
|
|
49
|
-
4.
|
|
50
|
-
5. Create proper service modules if needed
|
|
47
|
+
2. Follow the guidelines in docs/FIGMA_TO_CODE_GUIDE.md
|
|
48
|
+
3. Generate components in the specified output directory
|
|
49
|
+
4. Create proper service modules if needed
|
|
51
50
|
|
|
52
51
|
${options.pages ? `Focus on these pages: ${options.pages.join(', ')}` : 'Start with the most important pages/screens'}
|
|
53
52
|
`));
|
|
@@ -84,13 +83,13 @@ Use Figma MCP to:
|
|
|
84
83
|
For each screen/page:
|
|
85
84
|
1. Identify reusable components
|
|
86
85
|
2. Determine if service modules are needed
|
|
87
|
-
3. Plan component structure following docs/
|
|
86
|
+
3. Plan component structure following docs/FIGMA_TO_CODE_GUIDE.md
|
|
88
87
|
|
|
89
88
|
### Step 3: Generate Components
|
|
90
89
|
|
|
91
90
|
For each component:
|
|
92
|
-
1. **Use HeroUI components** - Reference docs/
|
|
93
|
-
2. **Follow patterns** - Use docs/
|
|
91
|
+
1. **Use HeroUI components** - Reference docs/FIGMA_TO_CODE_GUIDE.md
|
|
92
|
+
2. **Follow patterns** - Use docs/FIGMA_TO_CODE_GUIDE.md structure
|
|
94
93
|
3. **Extract to features** - Create in ${options.output}
|
|
95
94
|
4. **Add TypeScript types** - Proper interfaces and types
|
|
96
95
|
5. **Make responsive** - Mobile-first approach
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figma.js","sourceRoot":"","sources":["../../src/commands/figma.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,MAAM,UAAU,CAAC;AAO1B;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,OAAqB;IACxE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAE1D,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;IAEtB,IAAI,CAAC;QACH,qBAAqB;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,sBAAsB;QACtB,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC
|
|
1
|
+
{"version":3,"file":"figma.js","sourceRoot":"","sources":["../../src/commands/figma.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.js
CHANGED
|
@@ -514,10 +514,6 @@ async function generateDocumentation(config) {
|
|
|
514
514
|
const docs = {
|
|
515
515
|
'PROJECT_OVERVIEW.md': generateProjectOverview(config),
|
|
516
516
|
'FIGMA_TO_CODE_GUIDE.md': await getTemplateDoc('FIGMA_TO_CODE_GUIDE.md'),
|
|
517
|
-
'ARCHITECTURE_PATTERNS.md': await getTemplateDoc('ARCHITECTURE_PATTERNS.md'),
|
|
518
|
-
'AI_QUICK_REFERENCE.md': await getTemplateDoc('AI_QUICK_REFERENCE.md'),
|
|
519
|
-
'UI_COMPONENTS_GUIDE.md': await getTemplateDoc('UI_COMPONENTS_GUIDE.md'),
|
|
520
|
-
'IMPLEMENTATION_GUIDE.md': await getTemplateDoc('IMPLEMENTATION_GUIDE.md'),
|
|
521
517
|
'DOCUMENTATION_INDEX.md': generateDocumentationIndex(config)
|
|
522
518
|
};
|
|
523
519
|
for (const [filename, content] of Object.entries(docs)) {
|
|
@@ -583,9 +579,8 @@ ${config.features.includes('auth') ? '│ │ ├── (auth)/ #
|
|
|
583
579
|
|
|
584
580
|
## Documentation
|
|
585
581
|
|
|
586
|
-
- [
|
|
587
|
-
- [
|
|
588
|
-
- [Implementation Guide](./IMPLEMENTATION_GUIDE.md) - Step-by-step workflows
|
|
582
|
+
- [Figma to Code Guide](./FIGMA_TO_CODE_GUIDE.md) - Converting Figma designs to code
|
|
583
|
+
- [Documentation Index](./DOCUMENTATION_INDEX.md) - Full documentation overview
|
|
589
584
|
|
|
590
585
|
## Next Steps
|
|
591
586
|
|
|
@@ -607,25 +602,10 @@ Welcome to the ${config.projectName} documentation!
|
|
|
607
602
|
- Project structure
|
|
608
603
|
- Getting started
|
|
609
604
|
|
|
610
|
-
2. **[
|
|
611
|
-
-
|
|
612
|
-
- Component
|
|
613
|
-
-
|
|
614
|
-
- Best practices
|
|
615
|
-
|
|
616
|
-
3. **[UI Components Guide](./UI_COMPONENTS_GUIDE.md)**
|
|
617
|
-
- HeroUI components
|
|
618
|
-
- Form components
|
|
619
|
-
- Common patterns
|
|
620
|
-
|
|
621
|
-
4. **[Implementation Guide](./IMPLEMENTATION_GUIDE.md)**
|
|
622
|
-
- Step-by-step workflows
|
|
623
|
-
- Feature implementation
|
|
624
|
-
- Testing strategies
|
|
625
|
-
|
|
626
|
-
5. **[AI Quick Reference](./AI_QUICK_REFERENCE.md)**
|
|
627
|
-
- DO/DON'T rules
|
|
628
|
-
- Quick tips for working with AI
|
|
605
|
+
2. **[Figma to Code Guide](./FIGMA_TO_CODE_GUIDE.md)**
|
|
606
|
+
- Converting Figma designs to code
|
|
607
|
+
- Component usage guidelines
|
|
608
|
+
- Best practices for AI-assisted development
|
|
629
609
|
|
|
630
610
|
## 🔧 Configuration
|
|
631
611
|
|
|
@@ -637,10 +617,9 @@ All configuration files are set up and ready:
|
|
|
637
617
|
|
|
638
618
|
## 📖 How to Use This Documentation
|
|
639
619
|
|
|
640
|
-
1. **Starting a new feature?** → Read
|
|
641
|
-
2. **
|
|
642
|
-
3. **
|
|
643
|
-
4. **Working with AI?** → Use AI Quick Reference
|
|
620
|
+
1. **Starting a new feature?** → Read Project Overview
|
|
621
|
+
2. **Converting Figma designs?** → Check Figma to Code Guide
|
|
622
|
+
3. **Need help with components?** → Refer to Figma to Code Guide
|
|
644
623
|
|
|
645
624
|
---
|
|
646
625
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/swagger.js
CHANGED
|
@@ -50,7 +50,7 @@ Please:
|
|
|
50
50
|
1. Read the Swagger spec from .adlas-swagger-spec.json
|
|
51
51
|
2. Generate TypeScript types for all schemas
|
|
52
52
|
3. Create React Query hooks for all endpoints
|
|
53
|
-
4. Follow the
|
|
53
|
+
4. Follow the guidelines from docs/FIGMA_TO_CODE_GUIDE.md
|
|
54
54
|
5. Generate proper query keys
|
|
55
55
|
6. Add error handling
|
|
56
56
|
7. Organize by module/tag
|
package/dist/commands/update.js
CHANGED
|
@@ -19,7 +19,7 @@ export async function updateCommand(options) {
|
|
|
19
19
|
const spinner = ora();
|
|
20
20
|
try {
|
|
21
21
|
// Check if we're in an Adlas project
|
|
22
|
-
const isAdlasProject = await fs.pathExists('docs/
|
|
22
|
+
const isAdlasProject = await fs.pathExists('docs/PROJECT_OVERVIEW.md');
|
|
23
23
|
if (!isAdlasProject) {
|
|
24
24
|
throw new Error('Not an Adlas project. Run this command in an Adlas project directory.');
|
|
25
25
|
}
|
|
@@ -71,10 +71,7 @@ async function updateDocumentation() {
|
|
|
71
71
|
const docsDir = path.join(process.cwd(), 'docs');
|
|
72
72
|
// List of docs that should be updated (not project-specific)
|
|
73
73
|
const updateableDocs = [
|
|
74
|
-
'
|
|
75
|
-
'AI_QUICK_REFERENCE.md',
|
|
76
|
-
'UI_COMPONENTS_GUIDE.md',
|
|
77
|
-
'IMPLEMENTATION_GUIDE.md',
|
|
74
|
+
'FIGMA_TO_CODE_GUIDE.md',
|
|
78
75
|
];
|
|
79
76
|
for (const file of updateableDocs) {
|
|
80
77
|
const src = path.join(templateDir, file);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAOtC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAsB;IACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAE7D,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;IAEtB,IAAI,CAAC;QACH,qCAAqC;QACrC,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAOtC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAsB;IACxD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAE7D,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;IAEtB,IAAI,CAAC;QACH,qCAAqC;QACrC,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC;QAEvE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC3F,CAAC;QAED,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,4CAA4C;QACjF,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,sCAAsC;QAE3E,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACjD,MAAM,iBAAiB,EAAE,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC3C,MAAM,mBAAmB,EAAE,CAAC;YAC5B,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gDAAgD,CAAC,CAAC,CAAC;IAE9E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG;QAClB,QAAQ;QACR,iBAAiB;QACjB,iBAAiB;QACjB,oBAAoB;QACpB,qBAAqB;KACtB,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;QAE5C,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,uBAAuB;YACvB,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC;YACxC,CAAC;YAED,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB;IAChC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IAEjD,6DAA6D;IAC7D,MAAM,cAAc,GAAG;QACrB,wBAAwB;KACzB,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAEtC,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,uBAAuB;YACvB,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC;YACxC,CAAC;YAED,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;AACzE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
// hero.ts
|
|
2
|
-
import { heroui } from
|
|
2
|
+
import { heroui } from '@heroui/react';
|
|
3
3
|
// or import from theme package if you are using individual packages.
|
|
4
4
|
// import { heroui } from "@heroui/theme";
|
|
5
|
-
export default heroui(
|
|
5
|
+
export default heroui({
|
|
6
|
+
themes: {
|
|
7
|
+
extend: {
|
|
8
|
+
colors: {
|
|
9
|
+
primary: {
|
|
10
|
+
50: '',
|
|
11
|
+
100: '',
|
|
12
|
+
200: '',
|
|
13
|
+
300: '',
|
|
14
|
+
400: '',
|
|
15
|
+
500: '',
|
|
16
|
+
600: '',
|
|
17
|
+
700: '',
|
|
18
|
+
800: '',
|
|
19
|
+
900: '',
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
});
|
|
@@ -10,10 +10,93 @@ This document provides comprehensive guidelines for converting Figma designs to
|
|
|
10
10
|
2. **Use ONLY existing components** - Never create custom implementations when project components exist
|
|
11
11
|
3. **i18n for ALL text** - ALL labels, placeholders, titles, error messages MUST use translation keys
|
|
12
12
|
4. **Navigation from config** - NEVER hardcode URLs. Always use `NAVIGATION_URLS` from config
|
|
13
|
-
5. **
|
|
14
|
-
6. **
|
|
15
|
-
7. **
|
|
16
|
-
8. **
|
|
13
|
+
5. **Icons workflow** - Export SVG from Figma → Place in `src/assets/icons/` → Run `pnpm generate-icons` → Use generated TSX components
|
|
14
|
+
6. **Logos workflow** - Export SVG/PNG from Figma → Place in `public/` → Reference via path (prefer SVG over PNG)
|
|
15
|
+
7. **Use Tailwind standard classes** - Use closest Tailwind class instead of custom values (e.g., `h-10` not `h-[41px]`)
|
|
16
|
+
8. **Follow project structure** - Place files in correct locations as defined below
|
|
17
|
+
9. **Match coding patterns** - Use the same patterns found in existing code
|
|
18
|
+
10. **Type safety first** - Use TypeScript strictly, no `any` types
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 🎨 Component Configuration & Customization
|
|
23
|
+
|
|
24
|
+
### CRITICAL: Component Styles Must Be Configured, Not Inline
|
|
25
|
+
|
|
26
|
+
**❌ WRONG - Inline custom styles**:
|
|
27
|
+
```tsx
|
|
28
|
+
// Don't apply component-specific styles inline
|
|
29
|
+
<Button className="h-10 rounded-full bg-[#19ffa3] px-4 text-sm text-black">
|
|
30
|
+
Click Me
|
|
31
|
+
</Button>
|
|
32
|
+
|
|
33
|
+
// Don't use HTML elements when HeroUI component exists
|
|
34
|
+
<button onClick={handler}>Click</button>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**✅ CORRECT - Configure in component wrapper or use variants**:
|
|
38
|
+
```tsx
|
|
39
|
+
// Option 1: If this is a reusable button style, extend Button component
|
|
40
|
+
// File: src/components/ui/Button.tsx
|
|
41
|
+
import { extendVariants, Button as HeroUIButton } from '@heroui/react';
|
|
42
|
+
|
|
43
|
+
export const Button = extendVariants(HeroUIButton, {
|
|
44
|
+
variants: {
|
|
45
|
+
color: {
|
|
46
|
+
primary: 'bg-[#19ffa3] text-black hover:bg-[#00e68a]',
|
|
47
|
+
},
|
|
48
|
+
size: {
|
|
49
|
+
md: 'h-10 px-4 text-sm',
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
// Usage in code:
|
|
55
|
+
<Button color="primary" size="md" radius="full">
|
|
56
|
+
Click Me
|
|
57
|
+
</Button>
|
|
58
|
+
|
|
59
|
+
// Option 2: For one-off usage, use HeroUI Button with minimal custom classes
|
|
60
|
+
import { Button } from '@/components/ui';
|
|
61
|
+
<Button color="primary" radius="full">Click Me</Button>
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**When to configure vs use inline**:
|
|
65
|
+
- ✅ Configure: Repeated styles, component variants, brand colors
|
|
66
|
+
- ✅ Inline: Layout utilities only (`mt-4`, `hidden`, `lg:block`)
|
|
67
|
+
- ❌ Never inline: Component-specific styles (heights, colors, padding, text sizes)
|
|
68
|
+
|
|
69
|
+
### Data Must Be Mapped from Constants
|
|
70
|
+
|
|
71
|
+
**❌ WRONG - Hardcoded data**:
|
|
72
|
+
```tsx
|
|
73
|
+
<DropdownMenu>
|
|
74
|
+
<DropdownItem key="option1">Option 1</DropdownItem>
|
|
75
|
+
<DropdownItem key="option2">Option 2</DropdownItem>
|
|
76
|
+
<DropdownItem key="option3">Option 3</DropdownItem>
|
|
77
|
+
</DropdownMenu>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**✅ CORRECT - Map from constants**:
|
|
81
|
+
```tsx
|
|
82
|
+
// File: src/config/menuOptions.ts
|
|
83
|
+
export const productMenuItems = [
|
|
84
|
+
{ key: 'analytics', labelKey: 'product.analytics', href: '/analytics' },
|
|
85
|
+
{ key: 'insights', labelKey: 'product.insights', href: '/insights' },
|
|
86
|
+
{ key: 'reports', labelKey: 'product.reports', href: '/reports' },
|
|
87
|
+
];
|
|
88
|
+
|
|
89
|
+
// Usage:
|
|
90
|
+
import { productMenuItems } from '@/config/menuOptions';
|
|
91
|
+
|
|
92
|
+
<DropdownMenu>
|
|
93
|
+
{productMenuItems.map((item) => (
|
|
94
|
+
<DropdownItem key={item.key} href={item.href}>
|
|
95
|
+
{t(item.labelKey)}
|
|
96
|
+
</DropdownItem>
|
|
97
|
+
))}
|
|
98
|
+
</DropdownMenu>
|
|
99
|
+
```
|
|
17
100
|
|
|
18
101
|
---
|
|
19
102
|
|
|
@@ -214,27 +297,253 @@ import { Modal, Chip, Breadcrumbs, Tabs, Icon } from '@/components/ui';
|
|
|
214
297
|
|
|
215
298
|
### Icons
|
|
216
299
|
|
|
217
|
-
**
|
|
218
|
-
- **Figma Source**: https://www.figma.com/design/kFGcjHsNKZx7zh2NxEJXYt/HeroUI-Figma-Kit--Community---Community-?node-id=10-1849
|
|
219
|
-
- **Available in project**: ChevronDown, ChevronRight, Close, Eye, EyeSlash
|
|
300
|
+
**CRITICAL WORKFLOW**: Icons must follow this exact process:
|
|
220
301
|
|
|
302
|
+
#### Step 1: Export SVG from Figma
|
|
303
|
+
1. Select the icon in Figma design
|
|
304
|
+
2. Export as SVG (not PNG/JPG)
|
|
305
|
+
3. Download the SVG file
|
|
306
|
+
|
|
307
|
+
#### Step 2: Place in Icons Folder
|
|
308
|
+
```bash
|
|
309
|
+
# Place SVG file in src/assets/icons/
|
|
310
|
+
mv downloaded-icon.svg src/assets/icons/icon-name.svg
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
#### Step 3: Generate React Components
|
|
314
|
+
```bash
|
|
315
|
+
# Run the icon generation script
|
|
316
|
+
pnpm generate-icons
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
This command will:
|
|
320
|
+
- Convert all SVG files in `src/assets/icons/` to React components
|
|
321
|
+
- Place them in `src/components/icons/`
|
|
322
|
+
- Auto-format and lint the generated code
|
|
323
|
+
- Update `src/components/icons/index.ts` with exports
|
|
324
|
+
|
|
325
|
+
#### Step 4: Use in Code
|
|
221
326
|
```tsx
|
|
222
|
-
import {
|
|
327
|
+
import { IconNameIcon, ChevronDownIcon } from '@/components/icons';
|
|
328
|
+
|
|
329
|
+
<ChevronDownIcon className="size-5 text-white" />
|
|
330
|
+
<IconNameIcon className="size-4" />
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
**Available Icons** (auto-generated):
|
|
334
|
+
- ChevronDownIcon, ChevronRightIcon
|
|
335
|
+
- CloseIcon, MenuIcon
|
|
336
|
+
- EyeIcon, EyeSlashIcon
|
|
337
|
+
- AddIcon, AddCircleIcon
|
|
338
|
+
- ArrowUpIcon, ArrowCircleDownIcon
|
|
339
|
+
- DotsVerticalIcon, FrameIcon
|
|
340
|
+
- And more...
|
|
341
|
+
|
|
342
|
+
**❌ DO NOT**:
|
|
343
|
+
- Use Lucide, Font Awesome, or other icon libraries
|
|
344
|
+
- Create manual icon components
|
|
345
|
+
- Use `<img>` tags for icons
|
|
346
|
+
- Hardcode SVG paths directly in components
|
|
347
|
+
|
|
348
|
+
**✅ DO**:
|
|
349
|
+
- Always export from Figma as SVG
|
|
350
|
+
- Use `pnpm generate-icons` to create components
|
|
351
|
+
- Import from `@/components/icons`
|
|
352
|
+
- Use Tailwind classes for sizing (`size-4`, `size-5`, `size-6`)
|
|
353
|
+
|
|
354
|
+
### Logos & Images
|
|
355
|
+
|
|
356
|
+
**CRITICAL WORKFLOW**: Logos and images must be placed in `public/` directory:
|
|
357
|
+
|
|
358
|
+
#### Step 1: Export from Figma
|
|
359
|
+
1. **For logos**: Export as SVG (preferred) or PNG if source is raster
|
|
360
|
+
2. **For images**: Export as PNG, JPG, or WebP based on image type
|
|
361
|
+
3. Use appropriate resolution (2x or 3x for retina displays)
|
|
362
|
+
|
|
363
|
+
#### Step 2: Place in Public Folder
|
|
364
|
+
```bash
|
|
365
|
+
# Place logo/image files in public/
|
|
366
|
+
public/
|
|
367
|
+
├── logo.svg # Main logo (SVG preferred)
|
|
368
|
+
├── logo-dark.svg # Dark mode logo
|
|
369
|
+
├── logo.png # Fallback PNG
|
|
370
|
+
├── favicon.ico
|
|
371
|
+
└── images/
|
|
372
|
+
├── hero-bg.jpg
|
|
373
|
+
└── product-1.png
|
|
374
|
+
```
|
|
223
375
|
|
|
224
|
-
|
|
376
|
+
#### Step 3: Create Centralized Image Constants
|
|
377
|
+
|
|
378
|
+
**CRITICAL**: Create a centralized constants file for all image paths:
|
|
379
|
+
|
|
380
|
+
```typescript
|
|
381
|
+
// src/config/images.ts
|
|
382
|
+
|
|
383
|
+
/**
|
|
384
|
+
* Centralized image path constants
|
|
385
|
+
* Organize by category: LOGOS, AUTH, WEBSITE, SERVICES, etc.
|
|
386
|
+
*/
|
|
387
|
+
|
|
388
|
+
const LOGOS = {
|
|
389
|
+
PRIMARY_CIRCLE: '/images/logos/logo-circle-primary.svg',
|
|
390
|
+
SECONDARY_CIRCLE: '/images/logos/logo-circle-secondary.svg',
|
|
391
|
+
FULL: '/images/logos/logo-full.svg',
|
|
392
|
+
FULL_BLACK: '/images/logos/logo-full-black.svg',
|
|
393
|
+
FULL_WHITE: '/images/logos/logo-full-white.svg',
|
|
394
|
+
ICON: '/images/logos/logo-icon.svg',
|
|
395
|
+
} as const;
|
|
396
|
+
|
|
397
|
+
const AUTH = {
|
|
398
|
+
LOGIN_BG: '/images/auth/login-background.jpg',
|
|
399
|
+
SIGNUP_BG: '/images/auth/signup-background.jpg',
|
|
400
|
+
RESET_PASSWORD: '/images/auth/reset-password.jpg',
|
|
401
|
+
} as const;
|
|
402
|
+
|
|
403
|
+
const WEBSITE = {
|
|
404
|
+
HOME_HERO: '/images/website/home-hero.webp',
|
|
405
|
+
HOME_NEWSLETTER: '/images/website/home-newsletter.webp',
|
|
406
|
+
ABOUT_HEADER: '/images/website/about-header.jpg',
|
|
407
|
+
CONTACT_MAP: '/images/website/contact-map.png',
|
|
408
|
+
} as const;
|
|
409
|
+
|
|
410
|
+
const SERVICES = {
|
|
411
|
+
HEADER: '/images/services/services-header.webp',
|
|
412
|
+
FEATURE_1: '/images/services/feature-1.jpg',
|
|
413
|
+
FEATURE_2: '/images/services/feature-2.jpg',
|
|
414
|
+
} as const;
|
|
415
|
+
|
|
416
|
+
const PRODUCTS = {
|
|
417
|
+
THUMBNAIL_DEFAULT: '/images/products/thumbnail-default.png',
|
|
418
|
+
HERO: '/images/products/hero-banner.jpg',
|
|
419
|
+
} as const;
|
|
420
|
+
|
|
421
|
+
export const IMAGES = {
|
|
422
|
+
LOGOS,
|
|
423
|
+
AUTH,
|
|
424
|
+
WEBSITE,
|
|
425
|
+
SERVICES,
|
|
426
|
+
PRODUCTS,
|
|
427
|
+
} as const;
|
|
225
428
|
```
|
|
226
429
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
430
|
+
#### Step 4: Reference in Code
|
|
431
|
+
|
|
432
|
+
```tsx
|
|
433
|
+
// Import from centralized constants
|
|
434
|
+
import { IMAGES } from '@/config/images';
|
|
435
|
+
import Image from 'next/image';
|
|
436
|
+
|
|
437
|
+
// Using Next.js Image component (recommended)
|
|
438
|
+
<Image
|
|
439
|
+
src={IMAGES.LOGOS.FULL}
|
|
440
|
+
alt="Company Logo"
|
|
441
|
+
width={120}
|
|
442
|
+
height={40}
|
|
443
|
+
priority
|
|
444
|
+
/>
|
|
445
|
+
|
|
446
|
+
// Using standard img tag (for SVGs with CSS control)
|
|
447
|
+
<img src={IMAGES.LOGOS.PRIMARY_CIRCLE} alt="Logo" className="h-10 w-auto" />
|
|
231
448
|
|
|
232
|
-
|
|
449
|
+
// Background images via Tailwind
|
|
450
|
+
<div className={`bg-[url('${IMAGES.WEBSITE.HOME_HERO}')] bg-cover bg-center`}>
|
|
451
|
+
|
|
452
|
+
// In authentication pages
|
|
453
|
+
<Image
|
|
454
|
+
src={IMAGES.AUTH.LOGIN_BG}
|
|
455
|
+
alt="Login background"
|
|
456
|
+
fill
|
|
457
|
+
className="object-cover"
|
|
458
|
+
/>
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
**Preference Order**:
|
|
462
|
+
1. ✅ **SVG** - Best for logos, icons, and vector graphics (scalable, small file size)
|
|
463
|
+
2. ✅ **WebP** - Modern format for photos (smaller than PNG/JPG)
|
|
464
|
+
3. ✅ **PNG** - For images requiring transparency
|
|
465
|
+
4. ✅ **JPG** - For photos without transparency
|
|
466
|
+
|
|
467
|
+
**❌ DO NOT**:
|
|
468
|
+
- Put images in `src/` folder
|
|
469
|
+
- Import images as modules unless necessary
|
|
470
|
+
- Use base64 encoded images inline
|
|
471
|
+
- Forget to optimize images before adding
|
|
472
|
+
- Hardcode image paths directly in components (use centralized constants)
|
|
473
|
+
|
|
474
|
+
**✅ DO**:
|
|
475
|
+
- Always place in `public/` directory
|
|
476
|
+
- Create centralized image constants file (src/config/images.ts)
|
|
477
|
+
- Organize image paths by category (LOGOS, AUTH, WEBSITE, SERVICES)
|
|
478
|
+
- Use `as const` for type safety
|
|
479
|
+
- Import from `@/config/images` in components
|
|
480
|
+
- Prefer SVG for logos and icons
|
|
481
|
+
- Optimize images before adding (use tools like ImageOptim, Squoosh)
|
|
482
|
+
- Use Next.js `<Image>` component for automatic optimization
|
|
233
483
|
|
|
234
484
|
---
|
|
235
485
|
|
|
236
486
|
## 🎨 Tailwind CSS Guidelines
|
|
237
487
|
|
|
488
|
+
### Using Standard Tailwind Classes
|
|
489
|
+
|
|
490
|
+
**CRITICAL**: Always use closest standard Tailwind class instead of custom arbitrary values
|
|
491
|
+
|
|
492
|
+
**Common Conversions**:
|
|
493
|
+
```tsx
|
|
494
|
+
// ❌ WRONG - Custom arbitrary values
|
|
495
|
+
className="h-[41px] w-[54.6px]"
|
|
496
|
+
className="p-[24px]"
|
|
497
|
+
className="text-[14px]"
|
|
498
|
+
className="gap-[11px]"
|
|
499
|
+
|
|
500
|
+
// ✅ CORRECT - Standard Tailwind classes
|
|
501
|
+
className="h-10 w-14" // h-10 = 40px, w-14 = 56px (closest to 54.6px)
|
|
502
|
+
className="p-6" // p-6 = 24px
|
|
503
|
+
className="text-sm" // text-sm = 14px
|
|
504
|
+
className="gap-3" // gap-3 = 12px (closest to 11px)
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
**Tailwind Size Reference**:
|
|
508
|
+
```css
|
|
509
|
+
/* Spacing Scale (padding, margin, gap, etc.) */
|
|
510
|
+
0.5 = 2px 4 = 16px 12 = 48px
|
|
511
|
+
1 = 4px 5 = 20px 14 = 56px
|
|
512
|
+
2 = 8px 6 = 24px 16 = 64px
|
|
513
|
+
3 = 12px 8 = 32px 20 = 80px
|
|
514
|
+
3.5 = 14px 10 = 40px 24 = 96px
|
|
515
|
+
|
|
516
|
+
/* Font Sizes */
|
|
517
|
+
xs = 12px (0.75rem)
|
|
518
|
+
sm = 14px (0.875rem)
|
|
519
|
+
base = 16px (1rem)
|
|
520
|
+
lg = 18px (1.125rem)
|
|
521
|
+
xl = 20px (1.25rem)
|
|
522
|
+
2xl = 24px (1.5rem)
|
|
523
|
+
3xl = 30px (1.875rem)
|
|
524
|
+
|
|
525
|
+
/* Width/Height */
|
|
526
|
+
auto, full, screen, fit, min, max
|
|
527
|
+
4-96 (in increments of 4px)
|
|
528
|
+
```
|
|
529
|
+
|
|
530
|
+
**Only use arbitrary values when**:
|
|
531
|
+
- Exact pixel value is required by design system
|
|
532
|
+
- No standard Tailwind class is close enough
|
|
533
|
+
- Using design tokens/CSS variables: `bg-[var(--custom-color)]`
|
|
534
|
+
|
|
535
|
+
**Examples**:
|
|
536
|
+
```tsx
|
|
537
|
+
// ✅ Good - Using standard classes
|
|
538
|
+
<div className="h-10 w-full p-6 text-sm">
|
|
539
|
+
|
|
540
|
+
// ✅ Acceptable - Design tokens
|
|
541
|
+
<div className="bg-[var(--colors/primary)] text-[#19ffa3]">
|
|
542
|
+
|
|
543
|
+
// ❌ Bad - Should use standard classes
|
|
544
|
+
<div className="h-[40px] w-[100%] p-[24px] text-[14px]">
|
|
545
|
+
```
|
|
546
|
+
|
|
238
547
|
### Responsive Breakpoints (Mobile-First)
|
|
239
548
|
```css
|
|
240
549
|
/* Mobile */
|
|
@@ -364,15 +673,51 @@ export default function LoginForm() {
|
|
|
364
673
|
**CRITICAL**: ALL text content MUST use i18n translation keys
|
|
365
674
|
|
|
366
675
|
### Navigation with i18n
|
|
676
|
+
|
|
677
|
+
**Import Guidelines**:
|
|
678
|
+
```tsx
|
|
679
|
+
// For Link component - use Next.js Link
|
|
680
|
+
import Link from 'next/link';
|
|
681
|
+
|
|
682
|
+
// For navigation hooks - use next/navigation
|
|
683
|
+
import { usePathname, useRouter } from 'next/navigation';
|
|
684
|
+
|
|
685
|
+
// For navigation URLs - use centralized constants
|
|
686
|
+
import { NAVIGATION_URLS } from '@/config/navigationUrls';
|
|
687
|
+
```
|
|
688
|
+
|
|
689
|
+
**Navigation Example**:
|
|
367
690
|
```tsx
|
|
368
|
-
import
|
|
691
|
+
import Link from 'next/link';
|
|
369
692
|
import { NAVIGATION_URLS } from '@/config/navigationUrls';
|
|
370
693
|
|
|
371
|
-
// ✅ CORRECT - Using NAVIGATION_URLS
|
|
694
|
+
// ✅ CORRECT - Using Next.js Link with NAVIGATION_URLS
|
|
372
695
|
<Link href={NAVIGATION_URLS.ABOUT}>About</Link>
|
|
373
696
|
|
|
374
697
|
// ❌ WRONG - Hardcoded URL
|
|
375
698
|
<Link href="/about">About</Link>
|
|
699
|
+
|
|
700
|
+
// ❌ WRONG - Using HeroUI Link for internal navigation
|
|
701
|
+
import { Link } from '@heroui/react';
|
|
702
|
+
<Link href={NAVIGATION_URLS.ABOUT}>About</Link>
|
|
703
|
+
```
|
|
704
|
+
|
|
705
|
+
**Using Navigation Hooks**:
|
|
706
|
+
```tsx
|
|
707
|
+
'use client';
|
|
708
|
+
|
|
709
|
+
import { usePathname, useRouter } from 'next/navigation';
|
|
710
|
+
|
|
711
|
+
export function MyComponent() {
|
|
712
|
+
const pathname = usePathname();
|
|
713
|
+
const router = useRouter();
|
|
714
|
+
|
|
715
|
+
const handleNavigation = () => {
|
|
716
|
+
router.push(NAVIGATION_URLS.DASHBOARD.INDEX);
|
|
717
|
+
};
|
|
718
|
+
|
|
719
|
+
return <button onClick={handleNavigation}>Go to Dashboard</button>;
|
|
720
|
+
}
|
|
376
721
|
```
|
|
377
722
|
|
|
378
723
|
### Translations for ALL text
|
|
@@ -517,30 +862,51 @@ import { Footer, Navbar } from '@/components/layout';
|
|
|
517
862
|
## ⚠️ CRITICAL RULES
|
|
518
863
|
|
|
519
864
|
### ❌ DO NOT
|
|
520
|
-
1. ❌
|
|
521
|
-
2. ❌
|
|
522
|
-
3. ❌
|
|
523
|
-
4. ❌
|
|
524
|
-
5. ❌
|
|
525
|
-
6. ❌
|
|
526
|
-
7. ❌
|
|
527
|
-
8. ❌
|
|
528
|
-
9. ❌
|
|
529
|
-
10. ❌
|
|
865
|
+
1. ❌ **Icons**: Create manual icon components - MUST use `pnpm generate-icons` workflow
|
|
866
|
+
2. ❌ **Icons**: Use non-project icons (Lucide, Font Awesome, etc.)
|
|
867
|
+
3. ❌ **Logos**: Put logos/images in `src/` folder - MUST go in `public/`
|
|
868
|
+
4. ❌ **Logos**: Import images as modules unless necessary
|
|
869
|
+
5. ❌ **Logos**: Hardcode image paths in components - MUST use centralized constants from `@/config/images`
|
|
870
|
+
6. ❌ **Tailwind**: Use arbitrary values when standard classes exist (e.g., `h-[40px]` → use `h-10`)
|
|
871
|
+
7. ❌ **Tailwind**: Use custom values like `w-[100%]` (use `w-full`)
|
|
872
|
+
8. ❌ **Text**: Hardcode ANY text - ALL text MUST use i18n translation keys
|
|
873
|
+
9. ❌ **URLs**: Hardcode URLs - ALWAYS use `NAVIGATION_URLS` from config
|
|
874
|
+
10. ❌ **Data**: Hardcode menu items, dropdown options - MUST map from constants
|
|
875
|
+
11. ❌ **Components**: Create custom components when HeroUI provides them
|
|
876
|
+
12. ❌ **Components**: Use HTML elements when HeroUI component exists (e.g., `<button>` → use HeroUI `<Button>`)
|
|
877
|
+
13. ❌ **Styling**: Apply component styles inline - MUST configure in component wrapper or theme
|
|
878
|
+
14. ❌ **Styling**: Use CSS modules or styled-components - ONLY Tailwind CSS
|
|
879
|
+
15. ❌ **Imports**: Import from `@heroui/react` directly (use `@/components/ui` wrappers)
|
|
880
|
+
16. ❌ **Navigation**: Use HeroUI `Link` for internal navigation (use Next.js `Link` from `next/link`)
|
|
881
|
+
17. ❌ **Navigation**: Import `usePathname`, `useRouter` from wrong source (MUST use `next/navigation`)
|
|
882
|
+
18. ❌ **TypeScript**: Use `any` type
|
|
883
|
+
19. ❌ **Design**: Ignore responsive design (always implement mobile-first)
|
|
884
|
+
20. ❌ **Forms**: Skip form validation (always use Zod schemas)
|
|
530
885
|
|
|
531
886
|
### ✅ DO
|
|
532
|
-
1. ✅
|
|
533
|
-
2. ✅
|
|
534
|
-
3. ✅
|
|
535
|
-
4. ✅
|
|
536
|
-
5. ✅
|
|
537
|
-
6. ✅
|
|
538
|
-
7. ✅
|
|
539
|
-
8. ✅ Use `
|
|
540
|
-
9. ✅
|
|
541
|
-
10. ✅
|
|
542
|
-
11. ✅
|
|
543
|
-
12. ✅
|
|
887
|
+
1. ✅ **Icons**: Export SVG from Figma → `src/assets/icons/` → Run `pnpm generate-icons`
|
|
888
|
+
2. ✅ **Icons**: Import from `@/components/icons` (auto-generated components)
|
|
889
|
+
3. ✅ **Logos**: Export SVG/PNG from Figma → Place in `public/images/` with organized folders
|
|
890
|
+
4. ✅ **Logos**: Create centralized constants file `src/config/images.ts` with LOGOS, AUTH, WEBSITE, etc.
|
|
891
|
+
5. ✅ **Logos**: Import from `@/config/images` and use `IMAGES.LOGOS.PRIMARY`
|
|
892
|
+
6. ✅ **Logos**: Prefer SVG over PNG when source is vector
|
|
893
|
+
7. ✅ **Tailwind**: Use standard classes (`h-10`, `p-6`, `text-sm` instead of arbitrary values)
|
|
894
|
+
8. ✅ **Tailwind**: Use size utilities (`size-4`, `size-5`) for icons
|
|
895
|
+
9. ✅ **Navigation**: Use Next.js `Link` from `next/link` for internal navigation
|
|
896
|
+
10. ✅ **Navigation**: Import `usePathname`, `useRouter` from `next/navigation`
|
|
897
|
+
11. ✅ **Text**: Use i18n translation keys for ALL text (`t('key')`)
|
|
898
|
+
12. ✅ **URLs**: Use `NAVIGATION_URLS` for ALL navigation links
|
|
899
|
+
13. ✅ **Data**: Map menu items, dropdown options from constants (never hardcode)
|
|
900
|
+
14. ✅ **Components**: Use HeroUI components first (check library before custom)
|
|
901
|
+
15. ✅ **Components**: Use existing wrappers from `src/components/ui/` (e.g., `<Button>` not `<button>`)
|
|
902
|
+
16. ✅ **Components**: Configure styles in component wrappers, not inline
|
|
903
|
+
17. ✅ **Styling**: Use Tailwind CSS ONLY (utility classes)
|
|
904
|
+
18. ✅ **TypeScript**: Implement strict typing with proper types
|
|
905
|
+
19. ✅ **React**: Use `'use client'` directive for interactive components
|
|
906
|
+
20. ✅ **Design**: Follow mobile-first responsive design
|
|
907
|
+
21. ✅ **Colors**: Use semantic color classes from HeroUI theme
|
|
908
|
+
22. ✅ **States**: Implement proper loading and error states
|
|
909
|
+
23. ✅ **Patterns**: Follow existing code patterns and naming conventions
|
|
544
910
|
|
|
545
911
|
---
|
|
546
912
|
|
|
@@ -548,12 +914,27 @@ import { Footer, Navbar } from '@/components/layout';
|
|
|
548
914
|
|
|
549
915
|
When converting Figma to code, ensure:
|
|
550
916
|
|
|
917
|
+
### Icons & Assets
|
|
918
|
+
- [ ] Exported icons as SVG from Figma
|
|
919
|
+
- [ ] Placed SVG files in `src/assets/icons/`
|
|
920
|
+
- [ ] Ran `pnpm generate-icons` to create React components
|
|
921
|
+
- [ ] Imported icons from `@/components/icons`
|
|
922
|
+
- [ ] Exported logos/images as SVG (preferred) or PNG
|
|
923
|
+
- [ ] Placed logos/images in `public/images/` with organized folders (logos/, auth/, website/, services/)
|
|
924
|
+
- [ ] Created centralized constants file `src/config/images.ts`
|
|
925
|
+
- [ ] Organized image paths by category (LOGOS, AUTH, WEBSITE, SERVICES, PRODUCTS)
|
|
926
|
+
- [ ] Used `as const` for type safety
|
|
927
|
+
- [ ] Referenced via `IMAGES.LOGOS.PRIMARY` (not hardcoded paths)
|
|
928
|
+
|
|
551
929
|
### Component & Styling
|
|
552
930
|
- [ ] Checked HeroUI library first for component availability
|
|
553
|
-
- [ ] Used HeroUI components via `src/components/ui/` wrappers
|
|
554
|
-
- [ ]
|
|
931
|
+
- [ ] Used HeroUI components via `src/components/ui/` wrappers (e.g., `<Button>` not `<button>`)
|
|
932
|
+
- [ ] Configured component styles in wrapper/theme (not inline)
|
|
933
|
+
- [ ] Used only layout utilities inline (`mt-4`, `hidden`, `lg:block`)
|
|
555
934
|
- [ ] Applied Tailwind CSS classes only (no custom CSS, no CSS modules)
|
|
935
|
+
- [ ] Used standard Tailwind classes instead of arbitrary values (e.g., `h-10` not `h-[40px]`)
|
|
556
936
|
- [ ] Followed HeroUI theme colors (bg-background, bg-primary, etc.)
|
|
937
|
+
- [ ] Mapped all data from constants (no hardcoded menu items/dropdowns)
|
|
557
938
|
|
|
558
939
|
### Content & Navigation
|
|
559
940
|
- [ ] ALL text uses i18n translation keys (no hardcoded text)
|
|
@@ -587,11 +968,20 @@ When converting Figma to code, ensure:
|
|
|
587
968
|
|
|
588
969
|
Before finalizing code, verify:
|
|
589
970
|
|
|
590
|
-
### Icons &
|
|
591
|
-
1. **Icons
|
|
592
|
-
2. **
|
|
593
|
-
3. **
|
|
594
|
-
4. **
|
|
971
|
+
### Icons & Assets
|
|
972
|
+
1. **Icons workflow** - All icons created via `pnpm generate-icons` (not manual)
|
|
973
|
+
2. **Icons source** - SVG files exist in `src/assets/icons/`
|
|
974
|
+
3. **Logos location** - All logos/images in `public/` directory (not `src/`)
|
|
975
|
+
4. **Image format** - SVG used for logos when possible (not PNG)
|
|
976
|
+
|
|
977
|
+
### Components & Styling
|
|
978
|
+
1. **HeroUI components first** - Verify HeroUI library was checked before custom implementation
|
|
979
|
+
2. **No direct HeroUI imports** - Only through `@/components/ui`
|
|
980
|
+
3. **Component reuse** - Don't duplicate existing components
|
|
981
|
+
4. **Use HeroUI components** - No HTML elements when HeroUI component exists (e.g., use `<Button>` not `<button>`)
|
|
982
|
+
5. **Configure, don't inline** - Component styles in wrapper/theme, not inline classNames
|
|
983
|
+
6. **Standard Tailwind classes** - No arbitrary values when standard class exists (e.g., `h-10` not `h-[40px]`)
|
|
984
|
+
7. **Map from constants** - All menu items, dropdown options mapped from config files
|
|
595
985
|
|
|
596
986
|
### i18n & Navigation
|
|
597
987
|
5. **Zero hardcoded text** - ALL text uses `t('key')`
|
|
@@ -621,4 +1011,109 @@ When in doubt, check these example files:
|
|
|
621
1011
|
|
|
622
1012
|
---
|
|
623
1013
|
|
|
1014
|
+
## 🚀 Quick Reference Guide
|
|
1015
|
+
|
|
1016
|
+
### Icons Workflow
|
|
1017
|
+
```bash
|
|
1018
|
+
# 1. Export SVG from Figma
|
|
1019
|
+
# 2. Place in folder
|
|
1020
|
+
mv icon.svg src/assets/icons/
|
|
1021
|
+
|
|
1022
|
+
# 3. Generate components
|
|
1023
|
+
pnpm generate-icons
|
|
1024
|
+
|
|
1025
|
+
# 4. Use in code
|
|
1026
|
+
import { IconIcon } from '@/components/icons';
|
|
1027
|
+
<IconIcon className="size-5" />
|
|
1028
|
+
```
|
|
1029
|
+
|
|
1030
|
+
### Logos/Images Workflow
|
|
1031
|
+
```bash
|
|
1032
|
+
# 1. Export SVG/PNG from Figma
|
|
1033
|
+
# 2. Place in public with organized folders
|
|
1034
|
+
mv logo.svg public/images/logos/
|
|
1035
|
+
|
|
1036
|
+
# 3. Create centralized constants file
|
|
1037
|
+
# src/config/images.ts
|
|
1038
|
+
const LOGOS = {
|
|
1039
|
+
PRIMARY: '/images/logos/logo-primary.svg',
|
|
1040
|
+
ICON: '/images/logos/logo-icon.svg',
|
|
1041
|
+
} as const;
|
|
1042
|
+
|
|
1043
|
+
const WEBSITE = {
|
|
1044
|
+
HOME_HERO: '/images/website/home-hero.webp',
|
|
1045
|
+
} as const;
|
|
1046
|
+
|
|
1047
|
+
export const IMAGES = {
|
|
1048
|
+
LOGOS,
|
|
1049
|
+
WEBSITE,
|
|
1050
|
+
} as const;
|
|
1051
|
+
|
|
1052
|
+
# 4. Use in code
|
|
1053
|
+
import { IMAGES } from '@/config/images';
|
|
1054
|
+
<img src={IMAGES.LOGOS.PRIMARY} alt="Logo" className="h-10 w-auto" />
|
|
1055
|
+
# OR
|
|
1056
|
+
<Image src={IMAGES.LOGOS.PRIMARY} alt="Logo" width={120} height={40} />
|
|
1057
|
+
```
|
|
1058
|
+
|
|
1059
|
+
### Tailwind Standard Classes
|
|
1060
|
+
```tsx
|
|
1061
|
+
// Heights/Widths
|
|
1062
|
+
h-10 = 40px w-14 = 56px size-5 = 20px
|
|
1063
|
+
h-12 = 48px w-20 = 80px size-6 = 24px
|
|
1064
|
+
|
|
1065
|
+
// Spacing
|
|
1066
|
+
p-6 = 24px gap-3 = 12px m-4 = 16px
|
|
1067
|
+
p-8 = 32px gap-4 = 16px m-8 = 32px
|
|
1068
|
+
|
|
1069
|
+
// Text
|
|
1070
|
+
text-sm = 14px text-xl = 20px
|
|
1071
|
+
text-base = 16px text-2xl = 24px
|
|
1072
|
+
text-lg = 18px text-3xl = 30px
|
|
1073
|
+
|
|
1074
|
+
// Use standard class if within 2-4px of target
|
|
1075
|
+
// Only use arbitrary [value] for design tokens
|
|
1076
|
+
```
|
|
1077
|
+
|
|
1078
|
+
### Common Patterns
|
|
1079
|
+
```tsx
|
|
1080
|
+
// Icons (auto-generated)
|
|
1081
|
+
import { MenuIcon, CloseIcon } from '@/components/icons';
|
|
1082
|
+
<MenuIcon className="size-6 text-white" />
|
|
1083
|
+
|
|
1084
|
+
// Logos (centralized constants)
|
|
1085
|
+
import { IMAGES } from '@/config/images';
|
|
1086
|
+
<img src={IMAGES.LOGOS.PRIMARY} alt="Logo" className="h-10 w-auto" />
|
|
1087
|
+
|
|
1088
|
+
// Navigation (Next.js Link + constants)
|
|
1089
|
+
import Link from 'next/link';
|
|
1090
|
+
import { NAVIGATION_URLS } from '@/config/navigationUrls';
|
|
1091
|
+
<Link href={NAVIGATION_URLS.ABOUT}>{t('about')}</Link>
|
|
1092
|
+
|
|
1093
|
+
// Navigation hooks (from next/navigation)
|
|
1094
|
+
import { usePathname, useRouter } from 'next/navigation';
|
|
1095
|
+
const pathname = usePathname();
|
|
1096
|
+
const router = useRouter();
|
|
1097
|
+
|
|
1098
|
+
// Translation (all text)
|
|
1099
|
+
const t = useTranslations('namespace');
|
|
1100
|
+
<h1>{t('title')}</h1>
|
|
1101
|
+
|
|
1102
|
+
// Components (use HeroUI, not HTML)
|
|
1103
|
+
import { Button } from '@/components/ui';
|
|
1104
|
+
<Button color="primary">Click</Button> // ✅
|
|
1105
|
+
<button>Click</button> // ❌
|
|
1106
|
+
|
|
1107
|
+
// Data mapping (from constants)
|
|
1108
|
+
const menuItems = [
|
|
1109
|
+
{ key: 'home', labelKey: 'home', href: NAVIGATION_URLS.ROOT },
|
|
1110
|
+
];
|
|
1111
|
+
{menuItems.map(item => <Item key={item.key}>{t(item.labelKey)}</Item>)}
|
|
1112
|
+
|
|
1113
|
+
// Responsive (mobile-first)
|
|
1114
|
+
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3">
|
|
1115
|
+
```
|
|
1116
|
+
|
|
1117
|
+
---
|
|
1118
|
+
|
|
624
1119
|
**Remember**: This project has a well-defined structure and component library. Your job is to use them correctly, not to reinvent them. Stay within the boundaries of the existing architecture.
|
|
@@ -51,7 +51,7 @@ cli-tool/
|
|
|
51
51
|
│ │ ├── next.config.ts
|
|
52
52
|
│ │ ├── tsconfig.json
|
|
53
53
|
│ │ └── ... (other config files)
|
|
54
|
-
│ └── docs/ # Documentation
|
|
54
|
+
│ └── docs/ # Documentation templates
|
|
55
55
|
├── package.json
|
|
56
56
|
├── tsconfig.json
|
|
57
57
|
└── README.md
|
|
@@ -290,7 +290,14 @@ pnpm build
|
|
|
290
290
|
|
|
291
291
|
## Project History (Recent Changes)
|
|
292
292
|
|
|
293
|
-
### v1.0.
|
|
293
|
+
### v1.0.47 (Latest)
|
|
294
|
+
- **Removed documentation files from init**: No longer generates ARCHITECTURE_PATTERNS.md, AI_QUICK_REFERENCE.md, UI_COMPONENTS_GUIDE.md, IMPLEMENTATION_GUIDE.md
|
|
295
|
+
- **Simplified documentation**: Projects now only get PROJECT_OVERVIEW.md, FIGMA_TO_CODE_GUIDE.md, and DOCUMENTATION_INDEX.md
|
|
296
|
+
- **Updated FIGMA_TO_CODE_GUIDE.md**: Added comprehensive guidelines for icons, logos, images, Tailwind classes, component configuration, and data mapping
|
|
297
|
+
- **Updated update command**: Only updates FIGMA_TO_CODE_GUIDE.md (removed other docs from update list)
|
|
298
|
+
- **Updated project detection**: Changed from checking ARCHITECTURE_PATTERNS.md to PROJECT_OVERVIEW.md
|
|
299
|
+
|
|
300
|
+
### v1.0.41
|
|
294
301
|
- **CRITICAL FIX**: Fixed import spacing in generated `next.config.ts`
|
|
295
302
|
- **CRITICAL FIX**: Fixed `import type` usage in generated `next-pwa.d.ts`
|
|
296
303
|
- Generated projects now pass `pnpm lint` and `pnpm check:types` without errors
|
|
@@ -448,5 +455,5 @@ This series of releases focused on ensuring generated projects pass all quality
|
|
|
448
455
|
|
|
449
456
|
---
|
|
450
457
|
|
|
451
|
-
**Last Updated**: December
|
|
458
|
+
**Last Updated**: December 24, 2025 (v1.0.47)
|
|
452
459
|
**Documentation Created For**: Claude AI continuation in different account
|