@flydocs/cli 0.5.0-beta.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.
Files changed (134) hide show
  1. package/README.md +96 -0
  2. package/dist/cli.js +2666 -0
  3. package/package.json +32 -0
  4. package/template/.claude/CLAUDE.md +90 -0
  5. package/template/.claude/agents/README.md +19 -0
  6. package/template/.claude/agents/implementation-agent.md +29 -0
  7. package/template/.claude/agents/pm-agent.md +29 -0
  8. package/template/.claude/agents/research-agent.md +25 -0
  9. package/template/.claude/agents/review-agent.md +29 -0
  10. package/template/.claude/commands/activate.md +10 -0
  11. package/template/.claude/commands/attach.md +9 -0
  12. package/template/.claude/commands/block.md +10 -0
  13. package/template/.claude/commands/capture.md +10 -0
  14. package/template/.claude/commands/close.md +10 -0
  15. package/template/.claude/commands/flydocs-setup.md +598 -0
  16. package/template/.claude/commands/flydocs-update.md +27 -0
  17. package/template/.claude/commands/implement.md +10 -0
  18. package/template/.claude/commands/new-project.md +11 -0
  19. package/template/.claude/commands/project-update.md +10 -0
  20. package/template/.claude/commands/refine.md +10 -0
  21. package/template/.claude/commands/review.md +10 -0
  22. package/template/.claude/commands/start-session.md +10 -0
  23. package/template/.claude/commands/status.md +10 -0
  24. package/template/.claude/commands/validate.md +10 -0
  25. package/template/.claude/commands/wrap-session.md +10 -0
  26. package/template/.claude/settings.json +49 -0
  27. package/template/.claude/skills/README.md +293 -0
  28. package/template/.claude/skills/flydocs-cloud/SKILL.md +96 -0
  29. package/template/.claude/skills/flydocs-cloud/cursor-rule.mdc +50 -0
  30. package/template/.claude/skills/flydocs-cloud/scripts/assign.py +38 -0
  31. package/template/.claude/skills/flydocs-cloud/scripts/assign_cycle.py +44 -0
  32. package/template/.claude/skills/flydocs-cloud/scripts/assign_milestone.py +44 -0
  33. package/template/.claude/skills/flydocs-cloud/scripts/comment.py +39 -0
  34. package/template/.claude/skills/flydocs-cloud/scripts/create_issue.py +100 -0
  35. package/template/.claude/skills/flydocs-cloud/scripts/create_milestone.py +46 -0
  36. package/template/.claude/skills/flydocs-cloud/scripts/create_project.py +40 -0
  37. package/template/.claude/skills/flydocs-cloud/scripts/estimate.py +38 -0
  38. package/template/.claude/skills/flydocs-cloud/scripts/flydocs_api.py +277 -0
  39. package/template/.claude/skills/flydocs-cloud/scripts/get_issue.py +77 -0
  40. package/template/.claude/skills/flydocs-cloud/scripts/link.py +47 -0
  41. package/template/.claude/skills/flydocs-cloud/scripts/list_cycles.py +35 -0
  42. package/template/.claude/skills/flydocs-cloud/scripts/list_issues.py +105 -0
  43. package/template/.claude/skills/flydocs-cloud/scripts/list_milestones.py +40 -0
  44. package/template/.claude/skills/flydocs-cloud/scripts/list_projects.py +45 -0
  45. package/template/.claude/skills/flydocs-cloud/scripts/priority.py +38 -0
  46. package/template/.claude/skills/flydocs-cloud/scripts/project_update.py +59 -0
  47. package/template/.claude/skills/flydocs-cloud/scripts/transition.py +67 -0
  48. package/template/.claude/skills/flydocs-cloud/scripts/update_description.py +47 -0
  49. package/template/.claude/skills/flydocs-cloud/scripts/update_issue.py +111 -0
  50. package/template/.claude/skills/flydocs-context-graph/SKILL.md +87 -0
  51. package/template/.claude/skills/flydocs-context-graph/schema.md +78 -0
  52. package/template/.claude/skills/flydocs-context-graph/scripts/graph_build.py +299 -0
  53. package/template/.claude/skills/flydocs-context-graph/scripts/graph_context.py +338 -0
  54. package/template/.claude/skills/flydocs-context-graph/scripts/graph_query.py +191 -0
  55. package/template/.claude/skills/flydocs-context-graph/scripts/graph_session.py +161 -0
  56. package/template/.claude/skills/flydocs-context-graph/scripts/graph_update.py +194 -0
  57. package/template/.claude/skills/flydocs-context-graph/scripts/graph_utils.py +118 -0
  58. package/template/.claude/skills/flydocs-estimates/SKILL.md +384 -0
  59. package/template/.claude/skills/flydocs-estimates/references/provider-costs.md +152 -0
  60. package/template/.claude/skills/flydocs-figma/SKILL.md +377 -0
  61. package/template/.claude/skills/flydocs-figma/references/PROMPTING.md +108 -0
  62. package/template/.claude/skills/flydocs-figma/references/TROUBLESHOOTING.md +112 -0
  63. package/template/.claude/skills/flydocs-local/SKILL.md +103 -0
  64. package/template/.claude/skills/flydocs-local/cursor-rule.mdc +43 -0
  65. package/template/.claude/skills/flydocs-local/scripts/assign.py +20 -0
  66. package/template/.claude/skills/flydocs-local/scripts/comment.py +27 -0
  67. package/template/.claude/skills/flydocs-local/scripts/create_issue.py +44 -0
  68. package/template/.claude/skills/flydocs-local/scripts/estimate.py +37 -0
  69. package/template/.claude/skills/flydocs-local/scripts/flydocs_api.py +272 -0
  70. package/template/.claude/skills/flydocs-local/scripts/get_issue.py +20 -0
  71. package/template/.claude/skills/flydocs-local/scripts/link.py +41 -0
  72. package/template/.claude/skills/flydocs-local/scripts/list_issues.py +34 -0
  73. package/template/.claude/skills/flydocs-local/scripts/priority.py +37 -0
  74. package/template/.claude/skills/flydocs-local/scripts/project_update.py +67 -0
  75. package/template/.claude/skills/flydocs-local/scripts/status_summary.py +16 -0
  76. package/template/.claude/skills/flydocs-local/scripts/transition.py +24 -0
  77. package/template/.claude/skills/flydocs-local/scripts/update_description.py +35 -0
  78. package/template/.claude/skills/flydocs-local/scripts/update_issue.py +84 -0
  79. package/template/.claude/skills/flydocs-workflow/SKILL.md +85 -0
  80. package/template/.claude/skills/flydocs-workflow/cursor-rule.mdc +53 -0
  81. package/template/.claude/skills/flydocs-workflow/reference/comment-templates.md +131 -0
  82. package/template/.claude/skills/flydocs-workflow/reference/golden-rules.md +76 -0
  83. package/template/.claude/skills/flydocs-workflow/reference/priority-estimates.md +28 -0
  84. package/template/.claude/skills/flydocs-workflow/reference/status-workflow.md +50 -0
  85. package/template/.claude/skills/flydocs-workflow/session.md +128 -0
  86. package/template/.claude/skills/flydocs-workflow/stages/activate.md +46 -0
  87. package/template/.claude/skills/flydocs-workflow/stages/capture.md +50 -0
  88. package/template/.claude/skills/flydocs-workflow/stages/close.md +32 -0
  89. package/template/.claude/skills/flydocs-workflow/stages/implement.md +124 -0
  90. package/template/.claude/skills/flydocs-workflow/stages/refine.md +51 -0
  91. package/template/.claude/skills/flydocs-workflow/stages/review.md +86 -0
  92. package/template/.claude/skills/flydocs-workflow/stages/validate.md +90 -0
  93. package/template/.claude/skills/flydocs-workflow/templates/bug.md +95 -0
  94. package/template/.claude/skills/flydocs-workflow/templates/chore.md +75 -0
  95. package/template/.claude/skills/flydocs-workflow/templates/feature.md +93 -0
  96. package/template/.claude/skills/flydocs-workflow/templates/idea.md +84 -0
  97. package/template/.cursor/agents/implementation-agent.md +28 -0
  98. package/template/.cursor/agents/pm-agent.md +27 -0
  99. package/template/.cursor/agents/research-agent.md +23 -0
  100. package/template/.cursor/agents/review-agent.md +27 -0
  101. package/template/.cursor/hooks.json +29 -0
  102. package/template/.cursor/mcp.json +16 -0
  103. package/template/.env.example +44 -0
  104. package/template/.flydocs/config.json +104 -0
  105. package/template/.flydocs/hooks/auto-approve.py +71 -0
  106. package/template/.flydocs/hooks/post-edit.py +72 -0
  107. package/template/.flydocs/hooks/prefer-scripts.py +89 -0
  108. package/template/.flydocs/hooks/prompt-submit.py +277 -0
  109. package/template/.flydocs/scripts/generate_manifest.py +287 -0
  110. package/template/.flydocs/scripts/skill_manager.py +541 -0
  111. package/template/.flydocs/templates/README.md +46 -0
  112. package/template/.flydocs/templates/bug.md +166 -0
  113. package/template/.flydocs/templates/chore.md +110 -0
  114. package/template/.flydocs/templates/design-system/README.md +27 -0
  115. package/template/.flydocs/templates/design-system/component-patterns.md +92 -0
  116. package/template/.flydocs/templates/design-system/token-mapping.md +168 -0
  117. package/template/.flydocs/templates/feature.md +173 -0
  118. package/template/.flydocs/templates/idea.md +122 -0
  119. package/template/.flydocs/templates/instructions.md +228 -0
  120. package/template/.flydocs/templates/quick-capture.md +35 -0
  121. package/template/.flydocs/templates/scripts/check-design-system.template.mjs +179 -0
  122. package/template/.flydocs/version +1 -0
  123. package/template/AGENTS.md +95 -0
  124. package/template/CHANGELOG.md +271 -0
  125. package/template/flydocs/README.md +186 -0
  126. package/template/flydocs/context/project.md +51 -0
  127. package/template/flydocs/design-system/README.md +126 -0
  128. package/template/flydocs/design-system/component-patterns.md +173 -0
  129. package/template/flydocs/design-system/token-mapping.md +114 -0
  130. package/template/flydocs/knowledge/INDEX.md +100 -0
  131. package/template/flydocs/knowledge/README.md +62 -0
  132. package/template/flydocs/knowledge/product/personas.md +79 -0
  133. package/template/flydocs/knowledge/product/user-flows.md +88 -0
  134. package/template/manifest.json +221 -0
@@ -0,0 +1,166 @@
1
+ <!-- AGENT INSTRUCTIONS
2
+ When creating or refining a bug issue:
3
+
4
+ 1. CONTEXT SECTION:
5
+ - Capture when/how the bug was discovered
6
+ - Assess user impact (how many affected, how severe)
7
+ - Note frequency (always, sometimes, specific conditions)
8
+
9
+ 2. BUG DESCRIPTION:
10
+ - Expected vs Actual must be crystal clear
11
+ - Steps to reproduce must be detailed enough for anyone to follow
12
+ - Include specific data conditions if relevant
13
+ - Note environment details (browser, OS, user role)
14
+
15
+ 3. ACCEPTANCE CRITERIA:
16
+ - "Fix Verification" should mirror the reproduction steps
17
+ - Include regression concerns (what else might break)
18
+ - Tests section should include regression test requirement
19
+
20
+ 4. TECHNICAL NOTES:
21
+ - Start with hypothesis if cause unknown
22
+ - Update "Confirmed Cause" after investigation
23
+ - Include specific file/function where bug exists
24
+ - Assess risk of the fix
25
+
26
+ 5. SEVERITY GUIDANCE:
27
+ - Critical: System unusable, data loss, security issue
28
+ - High: Major feature broken, no workaround
29
+ - Medium: Feature impaired but workaround exists
30
+ - Low: Minor issue, cosmetic, edge case
31
+
32
+ Remove these instructions when creating the final issue.
33
+ -->
34
+
35
+ ## Context
36
+
37
+ **When Discovered:** [Date or event when bug was found]
38
+ **Discovered By:** [User, developer, automated test, etc.]
39
+ **Impact:** [How this affects users - be specific about scope]
40
+ **Frequency:** [Always | Sometimes | Rarely | Under specific conditions]
41
+
42
+ [Additional context about the bug]
43
+
44
+ ---
45
+
46
+ ## Bug Description
47
+
48
+ ### Expected Behavior
49
+ [Describe what SHOULD happen - the correct behavior]
50
+
51
+ ### Actual Behavior
52
+ [Describe what ACTUALLY happens - the broken behavior]
53
+
54
+ ### Steps to Reproduce
55
+ 1. [First action - be specific]
56
+ 2. [Second action - include any data/conditions needed]
57
+ 3. [Third action]
58
+ 4. [Observe the bug]
59
+
60
+ ### Environment
61
+ - **Browser/Platform:** [Chrome, Safari, Mobile, etc.]
62
+ - **OS:** [macOS, Windows, iOS, Android, etc.]
63
+ - **User Role:** [Which user type experiences this]
64
+ - **Data Conditions:** [Specific data state that triggers bug]
65
+
66
+ ### Screenshots/Evidence
67
+ <!-- Add as attachments -->
68
+
69
+ ---
70
+
71
+ ## Acceptance Criteria
72
+
73
+ ### Fix Verification
74
+ - [ ] Bug no longer reproducible using original steps
75
+ - [ ] Expected behavior now works correctly
76
+ - [ ] Fix doesn't break related functionality
77
+ - [ ] No new error messages or console errors
78
+
79
+ ### Tests
80
+ - [ ] Regression test added to prevent recurrence
81
+ - [ ] Related edge cases tested
82
+ - [ ] All tests passing
83
+
84
+ ### Documentation
85
+ - [ ] Root cause documented (if significant pattern)
86
+ - [ ] Prevention notes added to knowledge base (if applicable)
87
+ - [ ] N/A - No significant documentation needed
88
+
89
+ ---
90
+
91
+ ## Technical Notes
92
+
93
+ ### Root Cause Analysis
94
+ **Hypothesis:** [What you think is causing the bug]
95
+
96
+ **Investigation Findings:**
97
+ - [Finding 1 from debugging]
98
+ - [Finding 2 from debugging]
99
+
100
+ **Confirmed Cause:** [What's actually wrong - file, function, logic error]
101
+
102
+ ### Fix Approach
103
+ [Describe the fix strategy - what needs to change]
104
+
105
+ **Files to Modify:**
106
+ - `path/to/file.tsx` - [What needs to change]
107
+
108
+ **Risk Assessment:**
109
+ - **Regression Risk:** Low | Medium | High
110
+ - **Testing Required:** [What needs to be tested]
111
+
112
+ ---
113
+
114
+ ## Dependencies
115
+
116
+ **Related Systems:**
117
+ - [System or feature where bug occurs]
118
+
119
+ **Blocks:**
120
+ - [Work that can't proceed until bug is fixed]
121
+ - OR: Nothing blocked
122
+
123
+ **Related Bugs:**
124
+ - [Link to related bug if applicable]
125
+ - OR: No related issues
126
+
127
+ ---
128
+
129
+ ## AI Effort Estimate
130
+ <!--
131
+ AGENT: Fill this section during /refine using the flydocs-estimates skill.
132
+ See .claude/skills/flydocs-estimates/SKILL.md for calculation details.
133
+ Update Actuals section during /close for calibration.
134
+ -->
135
+
136
+ ### Sizing Factors
137
+
138
+ | Factor | Value | Multiplier |
139
+ |--------|-------|------------|
140
+ | **Task Type** | bug | base: 20k |
141
+ | **Scope** | [S/M/L/XL] | ×[0.5/1.0/2.0/4.0] |
142
+ | **Novelty** | [existing/partial/greenfield] | ×[0.7/1.2/2.0] |
143
+ | **Clarity** | [defined/discovery/exploratory] | ×[0.8/1.5/2.5] |
144
+ | **Codebase** | [simple/moderate/complex] | ×[0.8/1.0/1.5] |
145
+
146
+ ### Estimate
147
+
148
+ **Provider**: [Claude Sonnet 4]
149
+ **Calculated Tokens**: ~[X]k
150
+ **Confidence**: ±[40-60]%
151
+ **Token Range**: [low]k - [high]k
152
+ **Cost Range**: $[low] - $[high]
153
+
154
+ ### Actuals (fill on /close)
155
+ **Actual Tokens**: [fill after completion]
156
+ **Variance**: [+/-X]% [under/over estimate]
157
+ **Notes**: [what drove variance - investigation time, fix complexity, retries]
158
+
159
+ ---
160
+
161
+ _Reported: YYYY-MM-DD_
162
+
163
+
164
+
165
+
166
+
@@ -0,0 +1,110 @@
1
+ <!-- AGENT INSTRUCTIONS
2
+ When creating or refining a chore issue:
3
+
4
+ 1. CONTEXT SECTION:
5
+ - Explain the value (cleaner code, better UX, faster performance)
6
+ - Be specific about scope to prevent scope creep
7
+ - Mark as "Ongoing" if this is iterative work
8
+
9
+ 2. TASK LIST:
10
+ - Be specific and actionable
11
+ - Add tasks as you discover them during work
12
+ - Move tasks to "Out of Scope" if they're too big
13
+ - Tasks should be completable in one session
14
+
15
+ 3. ACCEPTANCE CRITERIA:
16
+ - Focus on completion and quality
17
+ - Mark documentation as N/A if no new patterns
18
+ - Mark tests as N/A if no behavior changes
19
+
20
+ 4. COMPLETION CRITERIA:
21
+ - "Done when" should be clear stopping point
22
+ - If scope keeps growing, suggest splitting into multiple chores
23
+
24
+ 5. WORKFLOW:
25
+ - Chores often skip formal review/QA
26
+ - Use simplified flow: Backlog → In Progress → Done
27
+ - Use full flow only for significant refactors
28
+
29
+ Remove these instructions when creating the final issue.
30
+ -->
31
+
32
+ ## Context
33
+
34
+ **Why This Matters:**
35
+ [Explanation of the value - cleaner code, better UX, faster performance, etc.]
36
+
37
+ **Scope:**
38
+ [What areas/pages/features does this touch? Be specific enough to stay focused.]
39
+
40
+ **Type:** Ongoing | One-time
41
+
42
+ ---
43
+
44
+ ## Task List
45
+
46
+ ### Initial Tasks
47
+ - [ ] [Task 1 - be specific]
48
+ - [ ] [Task 2 - be specific]
49
+ - [ ] [Task 3 - be specific]
50
+
51
+ ### Added During Work
52
+ <!-- Add new tasks discovered while working -->
53
+
54
+ ### Out of Scope
55
+ <!-- Tasks that don't fit - might become new issues -->
56
+ - [Task that's too big or different focus]
57
+
58
+ ---
59
+
60
+ ## Acceptance Criteria
61
+
62
+ ### Completion
63
+ - [ ] All initial tasks completed (or moved to out of scope)
64
+ - [ ] Code quality acceptable
65
+ - [ ] No regressions introduced
66
+
67
+ ### Tests
68
+ - [ ] Tests updated if behavior changed
69
+ - [ ] All tests passing
70
+ - [ ] N/A - No behavior changes
71
+
72
+ ### Documentation
73
+ - [ ] Patterns documented (if new approach discovered)
74
+ - [ ] N/A - No significant documentation needed
75
+
76
+ ---
77
+
78
+ ## Technical Notes
79
+
80
+ ### Approach
81
+ [How you'll tackle this work]
82
+
83
+ ### Files to Touch
84
+ - `path/to/file.tsx` - [What changes]
85
+
86
+ ### Risk Assessment
87
+ - **Regression Risk:** Low | Medium | High
88
+ - **Related Areas:** [What else might be affected]
89
+
90
+ ---
91
+
92
+ ## Completion Criteria
93
+
94
+ **This chore is done when:**
95
+ - [ ] [Completion criterion 1]
96
+ - [ ] [Completion criterion 2]
97
+ - [ ] No obvious improvements remaining in scope
98
+
99
+ **Signs this needs to be split:**
100
+ - Work has been ongoing for 3+ weeks
101
+ - Scope has grown significantly
102
+ - New tasks are unrelated to original purpose
103
+
104
+ ---
105
+
106
+ _Created: YYYY-MM-DD_
107
+
108
+
109
+
110
+
@@ -0,0 +1,27 @@
1
+ # Design System Templates
2
+
3
+ These templates are used when initializing a design system for your project.
4
+
5
+ ## Files
6
+
7
+ | File | Purpose |
8
+ |------|---------|
9
+ | `token-mapping.md` | Maps Figma values to project tokens |
10
+ | `component-patterns.md` | Documents reusable components |
11
+
12
+ ## Usage
13
+
14
+ When you run `/design-setup` and enable a design system:
15
+
16
+ 1. These templates are copied to `flydocs/design-system/` (your project content directory)
17
+ 2. Token mapping is populated from Figma (if file key provided)
18
+ 3. Component patterns are filled based on existing codebase
19
+
20
+ ## Customization
21
+
22
+ After initialization, customize these files for your project:
23
+ - Add project-specific tokens
24
+ - Document your component library
25
+ - Add usage examples
26
+
27
+
@@ -0,0 +1,92 @@
1
+ # Component Patterns
2
+
3
+ Document your project's reusable components and patterns.
4
+
5
+ > **Instructions:** Fill this file with your existing components.
6
+ > Reference these before creating new components.
7
+
8
+ ---
9
+
10
+ ## Available Components
11
+
12
+ ### Buttons
13
+
14
+ | Component | Import | Usage |
15
+ |-----------|--------|-------|
16
+ | `Button` | `@/components/buttons/Button` | Primary, secondary, ghost variants |
17
+ | | | |
18
+
19
+ #### Button Usage
20
+
21
+ ```tsx
22
+ import { Button } from '@/components/buttons'
23
+
24
+ // Primary (default)
25
+ <Button variant="primary" size="md">Get started</Button>
26
+
27
+ // Secondary
28
+ <Button variant="secondary" size="md">Learn more</Button>
29
+
30
+ // Full width
31
+ <Button variant="primary" className="w-full">Submit</Button>
32
+ ```
33
+
34
+ ---
35
+
36
+ ### Cards
37
+
38
+ | Component | Import | Usage |
39
+ |-----------|--------|-------|
40
+ | | | |
41
+
42
+ ---
43
+
44
+ ### Forms
45
+
46
+ | Component | Import | Usage |
47
+ |-----------|--------|-------|
48
+ | | | |
49
+
50
+ ---
51
+
52
+ ### Navigation
53
+
54
+ | Component | Import | Usage |
55
+ |-----------|--------|-------|
56
+ | | | |
57
+
58
+ ---
59
+
60
+ ### Sections
61
+
62
+ | Component | Import | Usage |
63
+ |-----------|--------|-------|
64
+ | | | |
65
+
66
+ ---
67
+
68
+ ## Component Rules
69
+
70
+ ### DO
71
+ - Use existing components before creating new ones
72
+ - Extend existing components via props/className
73
+ - Follow established patterns
74
+
75
+ ### DON'T
76
+ - Write inline button styles when Button exists
77
+ - Duplicate component code
78
+ - Create new components without checking existing ones
79
+
80
+ ---
81
+
82
+ ## Red Flags
83
+
84
+ ```tsx
85
+ // ❌ Inline button styling when Button component exists
86
+ <button className="bg-blue-600 text-white px-4 py-2 rounded-md">
87
+
88
+ // ✅ Use the Button component
89
+ <Button variant="primary">Submit</Button>
90
+ ```
91
+
92
+
@@ -0,0 +1,168 @@
1
+ # Token Mapping (Figma → Project)
2
+
3
+ Translate Figma values to project design tokens.
4
+
5
+ > **Instructions:** Fill this file with your project's token mappings.
6
+ > Run `/extract-tokens` with a Figma design system file to auto-populate.
7
+
8
+ ---
9
+
10
+ ## Quick Reference: Hex → Token
11
+
12
+ | Hex | Token | Class |
13
+ |-----|-------|-------|
14
+ | | | |
15
+
16
+ ---
17
+
18
+ ## Colors
19
+
20
+ ### Background Colors
21
+
22
+ | Figma Variable | Hex | Tailwind Class |
23
+ |----------------|-----|----------------|
24
+ | | | |
25
+
26
+ ### Text Colors
27
+
28
+ | Figma Variable | Hex | Tailwind Class |
29
+ |----------------|-----|----------------|
30
+ | | | |
31
+
32
+ ### Border Colors
33
+
34
+ | Figma Variable | Hex | Tailwind Class |
35
+ |----------------|-----|----------------|
36
+ | | | |
37
+
38
+ ### Brand Colors
39
+
40
+ | Figma Variable | Hex | Tailwind Class |
41
+ |----------------|-----|----------------|
42
+ | | | |
43
+
44
+ ---
45
+
46
+ ## Typography
47
+
48
+ ### Font Families
49
+
50
+ | Figma Font | Tailwind Class |
51
+ |------------|----------------|
52
+ | | |
53
+
54
+ ### Font Sizes
55
+
56
+ | Figma Size | Tailwind Class | Line Height |
57
+ |------------|----------------|-------------|
58
+ | | | |
59
+
60
+ ### Font Weights
61
+
62
+ | Figma Weight | Tailwind Class |
63
+ |--------------|----------------|
64
+ | 400 / Regular | `font-normal` |
65
+ | 500 / Medium | `font-medium` |
66
+ | 600 / SemiBold | `font-semibold` |
67
+ | 700 / Bold | `font-bold` |
68
+
69
+ ### Common Typography Patterns
70
+
71
+ | Use Case | Classes |
72
+ |----------|---------|
73
+ | Display heading | |
74
+ | Section heading | |
75
+ | Body text | |
76
+ | Button text | |
77
+ | Small text | |
78
+
79
+ ---
80
+
81
+ ## Spacing
82
+
83
+ | Figma (px) | Token | Class Examples |
84
+ |------------|-------|----------------|
85
+ | 4px | | `p-1`, `gap-1` |
86
+ | 8px | | `p-2`, `gap-2` |
87
+ | 12px | | `p-3`, `gap-3` |
88
+ | 16px | | `p-4`, `gap-4` |
89
+ | 20px | | `p-5`, `gap-5` |
90
+ | 24px | | `p-6`, `gap-6` |
91
+ | 32px | | `p-8`, `gap-8` |
92
+ | 40px | | `p-10`, `gap-10` |
93
+ | 48px | | `p-12`, `gap-12` |
94
+ | 64px | | `p-16`, `gap-16` |
95
+
96
+ ### Values Without Tokens
97
+
98
+ | Figma (px) | Use Arbitrary Value |
99
+ |------------|---------------------|
100
+ | 18px | `px-[18px]` |
101
+ | | |
102
+
103
+ ---
104
+
105
+ ## Border Radius
106
+
107
+ | Figma (px) | Token | Tailwind Class |
108
+ |------------|-------|----------------|
109
+ | 4px | | `rounded-sm` |
110
+ | 6px | | `rounded-md` |
111
+ | 8px | | `rounded-lg` |
112
+ | 12px | | `rounded-xl` |
113
+ | 16px | | `rounded-2xl` |
114
+ | 9999px | | `rounded-full` |
115
+
116
+ ---
117
+
118
+ ## Shadows
119
+
120
+ | Figma Shadow | Tailwind Class |
121
+ |--------------|----------------|
122
+ | | |
123
+
124
+ ---
125
+
126
+ ## Figma Property → Tailwind Translation
127
+
128
+ ### Layout Properties
129
+
130
+ | Figma Property | Value | Tailwind |
131
+ |----------------|-------|----------|
132
+ | `layoutMode` | `"VERTICAL"` | `flex flex-col` |
133
+ | `layoutMode` | `"HORIZONTAL"` | `flex flex-row` |
134
+ | `primaryAxisAlignItems` | `"MIN"` | `justify-start` |
135
+ | `primaryAxisAlignItems` | `"CENTER"` | `justify-center` |
136
+ | `primaryAxisAlignItems` | `"MAX"` | `justify-end` |
137
+ | `primaryAxisAlignItems` | `"SPACE_BETWEEN"` | `justify-between` |
138
+ | `counterAxisAlignItems` | `"MIN"` | `items-start` |
139
+ | `counterAxisAlignItems` | `"CENTER"` | `items-center` |
140
+ | `counterAxisAlignItems` | `"MAX"` | `items-end` |
141
+
142
+ ### Sizing Properties
143
+
144
+ | Figma Property | Value | Tailwind |
145
+ |----------------|-------|----------|
146
+ | `layoutSizingHorizontal` | `"FIXED"` | `w-[Xpx]` |
147
+ | `layoutSizingHorizontal` | `"FILL"` | `w-full` |
148
+ | `layoutSizingHorizontal` | `"HUG"` | `w-fit` |
149
+ | `layoutSizingVertical` | `"FIXED"` | `h-[Xpx]` |
150
+ | `layoutSizingVertical` | `"FILL"` | `h-full` |
151
+ | `layoutSizingVertical` | `"HUG"` | `h-fit` |
152
+
153
+ ---
154
+
155
+ ## When No Token Exists
156
+
157
+ If a Figma value doesn't have a project token:
158
+
159
+ 1. **Document it** in your specification table
160
+ 2. **Use arbitrary value**: `p-[18px]`, `rounded-[10px]`
161
+ 3. **Note for future**: Consider adding token if used frequently
162
+
163
+ ```tsx
164
+ // Documented exception: 18px padding (no token)
165
+ className="px-[18px] py-3"
166
+ ```
167
+
168
+