@su-record/vibe 2.7.14 → 2.7.16
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/.env.example +37 -37
- package/CLAUDE.md +134 -126
- package/LICENSE +21 -21
- package/README.md +449 -449
- package/agents/architect-low.md +41 -41
- package/agents/architect-medium.md +59 -59
- package/agents/architect.md +80 -80
- package/agents/build-error-resolver.md +115 -115
- package/agents/compounder.md +261 -261
- package/agents/diagrammer.md +178 -178
- package/agents/docs/api-documenter.md +99 -99
- package/agents/docs/changelog-writer.md +93 -93
- package/agents/e2e-tester.md +294 -294
- package/agents/explorer-low.md +42 -42
- package/agents/explorer-medium.md +59 -59
- package/agents/explorer.md +48 -48
- package/agents/implementer-low.md +43 -43
- package/agents/implementer-medium.md +52 -52
- package/agents/implementer.md +54 -54
- package/agents/junior-mentor.md +141 -141
- package/agents/planning/requirements-analyst.md +84 -84
- package/agents/planning/ux-advisor.md +83 -83
- package/agents/qa/acceptance-tester.md +86 -86
- package/agents/qa/edge-case-finder.md +93 -93
- package/agents/refactor-cleaner.md +143 -143
- package/agents/research/best-practices-agent.md +199 -199
- package/agents/research/codebase-patterns-agent.md +157 -157
- package/agents/research/framework-docs-agent.md +188 -188
- package/agents/research/security-advisory-agent.md +213 -213
- package/agents/review/architecture-reviewer.md +107 -107
- package/agents/review/complexity-reviewer.md +116 -116
- package/agents/review/data-integrity-reviewer.md +88 -88
- package/agents/review/git-history-reviewer.md +103 -103
- package/agents/review/performance-reviewer.md +86 -86
- package/agents/review/python-reviewer.md +150 -150
- package/agents/review/rails-reviewer.md +139 -139
- package/agents/review/react-reviewer.md +144 -144
- package/agents/review/security-reviewer.md +80 -80
- package/agents/review/simplicity-reviewer.md +140 -140
- package/agents/review/test-coverage-reviewer.md +116 -116
- package/agents/review/typescript-reviewer.md +127 -127
- package/agents/searcher.md +54 -54
- package/agents/simplifier.md +120 -120
- package/agents/tester.md +49 -49
- package/agents/ui/ui-a11y-auditor.md +93 -93
- package/agents/ui/ui-antipattern-detector.md +94 -94
- package/agents/ui/ui-dataviz-advisor.md +69 -69
- package/agents/ui/ui-design-system-gen.md +57 -57
- package/agents/ui/ui-industry-analyzer.md +49 -49
- package/agents/ui/ui-layout-architect.md +65 -65
- package/agents/ui/ui-stack-implementer.md +68 -68
- package/agents/ui/ux-compliance-reviewer.md +81 -81
- package/agents/ui-previewer.md +258 -258
- package/commands/vibe.analyze.md +11 -13
- package/commands/vibe.review.md +43 -1
- package/commands/vibe.run.md +2124 -2078
- package/commands/vibe.spec.md +9 -4
- package/commands/vibe.spec.review.md +569 -565
- package/commands/vibe.utils.md +413 -413
- package/commands/vibe.verify.md +33 -8
- package/dist/cli/collaborator.js +52 -52
- package/dist/cli/commands/evolution.js +12 -12
- package/dist/cli/commands/info.d.ts.map +1 -1
- package/dist/cli/commands/info.js +51 -55
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/init.js +5 -5
- package/dist/cli/commands/remove.js +14 -14
- package/dist/cli/commands/sentinel.js +27 -27
- package/dist/cli/commands/skills.js +5 -5
- package/dist/cli/commands/slack.js +10 -10
- package/dist/cli/commands/telegram.js +12 -12
- package/dist/cli/detect.js +32 -32
- package/dist/cli/index.js +51 -51
- package/dist/cli/llm/claude-commands.js +16 -16
- package/dist/cli/llm/config.js +18 -18
- package/dist/cli/llm/gemini-commands.js +16 -16
- package/dist/cli/llm/gpt-commands.js +19 -19
- package/dist/cli/llm/help.js +21 -21
- package/dist/cli/postinstall/constants.d.ts.map +1 -1
- package/dist/cli/postinstall/constants.js +7 -8
- package/dist/cli/postinstall/constants.js.map +1 -1
- package/dist/cli/postinstall/cursor-agents.js +32 -32
- package/dist/cli/postinstall/cursor-rules.js +83 -83
- package/dist/cli/postinstall/cursor-skills.js +743 -743
- package/dist/cli/setup/Provisioner.js +42 -42
- package/dist/infra/lib/DeepInit.js +24 -24
- package/dist/infra/lib/IterationTracker.js +11 -11
- package/dist/infra/lib/PythonParser.js +108 -108
- package/dist/infra/lib/ReviewRace.js +96 -96
- package/dist/infra/lib/SkillFrontmatter.js +28 -28
- package/dist/infra/lib/SkillQualityGate.js +9 -9
- package/dist/infra/lib/SkillRepository.js +159 -159
- package/dist/infra/lib/UltraQA.js +99 -99
- package/dist/infra/lib/autonomy/AuditStore.js +41 -41
- package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
- package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
- package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
- package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
- package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
- package/dist/infra/lib/embedding/VectorStore.js +22 -22
- package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
- package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
- package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
- package/dist/infra/lib/evolution/InsightStore.js +90 -90
- package/dist/infra/lib/evolution/RollbackManager.js +5 -5
- package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
- package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
- package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
- package/dist/infra/lib/evolution/UsageTracker.js +28 -28
- package/dist/infra/lib/gemini/orchestration.js +5 -5
- package/dist/infra/lib/gpt/orchestration.js +4 -4
- package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
- package/dist/infra/lib/memory/MemorySearch.js +57 -57
- package/dist/infra/lib/memory/MemoryStorage.js +181 -181
- package/dist/infra/lib/memory/ObservationStore.js +28 -28
- package/dist/infra/lib/memory/ReflectionStore.js +30 -30
- package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
- package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
- package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
- package/dist/infra/orchestrator/AgentManager.js +12 -12
- package/dist/infra/orchestrator/AgentRegistry.js +65 -65
- package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
- package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
- package/dist/infra/orchestrator/parallelResearch.js +24 -24
- package/dist/tools/convention/analyzeComplexity.test.js +115 -115
- package/dist/tools/convention/validateCodeQuality.test.js +104 -104
- package/dist/tools/memory/createMemoryTimeline.js +10 -10
- package/dist/tools/memory/getMemoryGraph.js +12 -12
- package/dist/tools/memory/getSessionContext.js +9 -9
- package/dist/tools/memory/linkMemories.js +14 -14
- package/dist/tools/memory/listMemories.js +4 -4
- package/dist/tools/memory/recallMemory.js +4 -4
- package/dist/tools/memory/saveMemory.js +4 -4
- package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
- package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
- package/dist/tools/semantic/astGrep.test.js +6 -6
- package/dist/tools/spec/prdParser.test.js +171 -171
- package/dist/tools/spec/specGenerator.js +169 -169
- package/dist/tools/spec/traceabilityMatrix.js +64 -64
- package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
- package/hooks/gemini-hooks.json +73 -73
- package/hooks/hooks.json +137 -137
- package/hooks/scripts/code-check.js +77 -70
- package/hooks/scripts/context-save.js +212 -212
- package/hooks/scripts/hud-status.js +291 -291
- package/hooks/scripts/keyword-detector.js +214 -214
- package/hooks/scripts/llm-orchestrate.js +475 -475
- package/hooks/scripts/post-edit.js +32 -32
- package/hooks/scripts/pre-tool-guard.js +125 -125
- package/hooks/scripts/prompt-dispatcher.js +185 -185
- package/hooks/scripts/sentinel-guard.js +104 -104
- package/hooks/scripts/session-start.js +106 -106
- package/hooks/scripts/stop-notify.js +209 -209
- package/hooks/scripts/utils.js +100 -100
- package/languages/csharp-unity.md +515 -515
- package/languages/gdscript-godot.md +470 -470
- package/languages/ruby-rails.md +489 -489
- package/languages/typescript-angular.md +433 -433
- package/languages/typescript-astro.md +416 -416
- package/languages/typescript-electron.md +406 -406
- package/languages/typescript-nestjs.md +524 -524
- package/languages/typescript-svelte.md +407 -407
- package/languages/typescript-tauri.md +365 -365
- package/package.json +121 -121
- package/skills/agents-md/SKILL.md +120 -120
- package/skills/arch-guard/SKILL.md +180 -180
- package/skills/brand-assets/SKILL.md +146 -146
- package/skills/capability-loop/SKILL.md +167 -167
- package/skills/characterization-test/SKILL.md +206 -206
- package/skills/commerce-patterns/SKILL.md +63 -59
- package/skills/commit-push-pr/SKILL.md +75 -75
- package/skills/context7-usage/SKILL.md +105 -105
- package/skills/core-capabilities/SKILL.md +13 -48
- package/skills/e2e-commerce/SKILL.md +61 -57
- package/skills/exec-plan/SKILL.md +147 -147
- package/skills/frontend-design/SKILL.md +12 -73
- package/skills/git-worktree/SKILL.md +72 -72
- package/skills/handoff/SKILL.md +109 -109
- package/skills/parallel-research/SKILL.md +87 -87
- package/skills/priority-todos/SKILL.md +63 -63
- package/skills/seo-checklist/SKILL.md +57 -57
- package/skills/techdebt/SKILL.md +122 -122
- package/skills/tool-fallback/SKILL.md +103 -103
- package/skills/typescript-advanced-types/SKILL.md +66 -66
- package/skills/ui-ux-pro-max/SKILL.md +221 -206
- package/skills/vercel-react-best-practices/SKILL.md +59 -59
- package/skills/video-production/SKILL.md +51 -51
- package/vibe/config.json +29 -29
- package/vibe/constitution.md +227 -227
- package/vibe/rules/principles/communication-guide.md +98 -98
- package/vibe/rules/principles/development-philosophy.md +52 -52
- package/vibe/rules/principles/quick-start.md +102 -102
- package/vibe/rules/quality/bdd-contract-testing.md +393 -393
- package/vibe/rules/quality/checklist.md +276 -276
- package/vibe/rules/quality/performance.md +236 -236
- package/vibe/rules/quality/testing-strategy.md +440 -440
- package/vibe/rules/standards/anti-patterns.md +541 -541
- package/vibe/rules/standards/code-structure.md +291 -291
- package/vibe/rules/standards/complexity-metrics.md +313 -313
- package/vibe/rules/standards/git-workflow.md +237 -237
- package/vibe/rules/standards/naming-conventions.md +198 -198
- package/vibe/rules/standards/security.md +305 -305
- package/vibe/rules/writing/document-style.md +74 -74
- package/vibe/setup.sh +31 -31
- package/vibe/templates/constitution-template.md +252 -252
- package/vibe/templates/contract-backend-template.md +526 -526
- package/vibe/templates/contract-frontend-template.md +599 -599
- package/vibe/templates/feature-template.md +96 -96
- package/vibe/templates/spec-template.md +221 -221
- package/vibe/ui-ux-data/charts.csv +26 -26
- package/vibe/ui-ux-data/colors.csv +97 -97
- package/vibe/ui-ux-data/icons.csv +101 -101
- package/vibe/ui-ux-data/landing.csv +31 -31
- package/vibe/ui-ux-data/products.csv +96 -96
- package/vibe/ui-ux-data/react-performance.csv +45 -45
- package/vibe/ui-ux-data/stacks/astro.csv +54 -54
- package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
- package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
- package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
- package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
- package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
- package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
- package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
- package/vibe/ui-ux-data/stacks/react.csv +54 -54
- package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
- package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
- package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
- package/vibe/ui-ux-data/stacks/vue.csv +50 -50
- package/vibe/ui-ux-data/styles.csv +68 -68
- package/vibe/ui-ux-data/typography.csv +57 -57
- package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
- package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
- package/vibe/ui-ux-data/version.json +31 -31
- package/vibe/ui-ux-data/web-interface.csv +31 -31
|
@@ -1,98 +1,98 @@
|
|
|
1
|
-
# Communication Guide
|
|
2
|
-
|
|
3
|
-
## Language Configuration
|
|
4
|
-
|
|
5
|
-
Language can be configured per project in `.sutory/config.json`. Code itself (function names, variable names, etc.) should always be in English.
|
|
6
|
-
|
|
7
|
-
## 3.1 Code Delivery Format
|
|
8
|
-
|
|
9
|
-
```markdown
|
|
10
|
-
### Scope of Work
|
|
11
|
-
|
|
12
|
-
"As requested, I only modified the state management logic in the UserProfile component."
|
|
13
|
-
|
|
14
|
-
### Summary of Changes
|
|
15
|
-
|
|
16
|
-
Improved order status update logic - Applied optimistic updates
|
|
17
|
-
|
|
18
|
-
### Code
|
|
19
|
-
|
|
20
|
-
[Complete code block]
|
|
21
|
-
|
|
22
|
-
### Notes
|
|
23
|
-
|
|
24
|
-
- Auto-rollback on error
|
|
25
|
-
- 3 network retries
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## 3.2 Review Response Format
|
|
29
|
-
|
|
30
|
-
```markdown
|
|
31
|
-
### Improvements
|
|
32
|
-
|
|
33
|
-
1. Missing memoization (performance)
|
|
34
|
-
2. Error boundary not applied (stability)
|
|
35
|
-
|
|
36
|
-
### Recommendations
|
|
37
|
-
|
|
38
|
-
Apply useMemo and wrap with ErrorBoundary
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
## 3.3 Error Report Format
|
|
42
|
-
|
|
43
|
-
```markdown
|
|
44
|
-
### Problem
|
|
45
|
-
|
|
46
|
-
[Clearly explain the issue that occurred]
|
|
47
|
-
|
|
48
|
-
### Cause
|
|
49
|
-
|
|
50
|
-
[Analyzed cause]
|
|
51
|
-
|
|
52
|
-
### Solution
|
|
53
|
-
|
|
54
|
-
[Specific resolution steps]
|
|
55
|
-
|
|
56
|
-
### Prevention
|
|
57
|
-
|
|
58
|
-
[How to prevent in the future]
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
## 3.4 Change Explanation Principles
|
|
62
|
-
|
|
63
|
-
- **Clarity**: Clearly explain what was changed and why
|
|
64
|
-
- **Conciseness**: Communicate only the essentials
|
|
65
|
-
- **Completeness**: Include side effects and caveats
|
|
66
|
-
- **Traceability**: Reference related issues/requests
|
|
67
|
-
|
|
68
|
-
## 3.5 Special Command Execution
|
|
69
|
-
|
|
70
|
-
- **"optimize"**: Performance improvements (memoization, bundle size, etc.)
|
|
71
|
-
- **"enhance accessibility"**: Add ARIA, keyboard support, etc.
|
|
72
|
-
- **"strengthen types"**: Remove `any`, improve type safety
|
|
73
|
-
- **"cleanup"**: Remove unnecessary code (only when requested)
|
|
74
|
-
- **"split"**: Separate components/functions (only when requested)
|
|
75
|
-
|
|
76
|
-
## 3.6 Question Format
|
|
77
|
-
|
|
78
|
-
### When Clarity is Needed
|
|
79
|
-
|
|
80
|
-
```markdown
|
|
81
|
-
Please clarify the following:
|
|
82
|
-
|
|
83
|
-
1. [Specific question 1]
|
|
84
|
-
2. [Specific question 2]
|
|
85
|
-
|
|
86
|
-
With this information, a more accurate implementation is possible.
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
### Presenting Alternatives
|
|
90
|
-
|
|
91
|
-
```markdown
|
|
92
|
-
In addition to your requested approach, the following alternatives are possible:
|
|
93
|
-
|
|
94
|
-
**Method A**: [Description] - Pros: [Pros], Cons: [Cons]
|
|
95
|
-
**Method B**: [Description] - Pros: [Pros], Cons: [Cons]
|
|
96
|
-
|
|
97
|
-
Which approach do you prefer?
|
|
98
|
-
```
|
|
1
|
+
# Communication Guide
|
|
2
|
+
|
|
3
|
+
## Language Configuration
|
|
4
|
+
|
|
5
|
+
Language can be configured per project in `.sutory/config.json`. Code itself (function names, variable names, etc.) should always be in English.
|
|
6
|
+
|
|
7
|
+
## 3.1 Code Delivery Format
|
|
8
|
+
|
|
9
|
+
```markdown
|
|
10
|
+
### Scope of Work
|
|
11
|
+
|
|
12
|
+
"As requested, I only modified the state management logic in the UserProfile component."
|
|
13
|
+
|
|
14
|
+
### Summary of Changes
|
|
15
|
+
|
|
16
|
+
Improved order status update logic - Applied optimistic updates
|
|
17
|
+
|
|
18
|
+
### Code
|
|
19
|
+
|
|
20
|
+
[Complete code block]
|
|
21
|
+
|
|
22
|
+
### Notes
|
|
23
|
+
|
|
24
|
+
- Auto-rollback on error
|
|
25
|
+
- 3 network retries
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## 3.2 Review Response Format
|
|
29
|
+
|
|
30
|
+
```markdown
|
|
31
|
+
### Improvements
|
|
32
|
+
|
|
33
|
+
1. Missing memoization (performance)
|
|
34
|
+
2. Error boundary not applied (stability)
|
|
35
|
+
|
|
36
|
+
### Recommendations
|
|
37
|
+
|
|
38
|
+
Apply useMemo and wrap with ErrorBoundary
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## 3.3 Error Report Format
|
|
42
|
+
|
|
43
|
+
```markdown
|
|
44
|
+
### Problem
|
|
45
|
+
|
|
46
|
+
[Clearly explain the issue that occurred]
|
|
47
|
+
|
|
48
|
+
### Cause
|
|
49
|
+
|
|
50
|
+
[Analyzed cause]
|
|
51
|
+
|
|
52
|
+
### Solution
|
|
53
|
+
|
|
54
|
+
[Specific resolution steps]
|
|
55
|
+
|
|
56
|
+
### Prevention
|
|
57
|
+
|
|
58
|
+
[How to prevent in the future]
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## 3.4 Change Explanation Principles
|
|
62
|
+
|
|
63
|
+
- **Clarity**: Clearly explain what was changed and why
|
|
64
|
+
- **Conciseness**: Communicate only the essentials
|
|
65
|
+
- **Completeness**: Include side effects and caveats
|
|
66
|
+
- **Traceability**: Reference related issues/requests
|
|
67
|
+
|
|
68
|
+
## 3.5 Special Command Execution
|
|
69
|
+
|
|
70
|
+
- **"optimize"**: Performance improvements (memoization, bundle size, etc.)
|
|
71
|
+
- **"enhance accessibility"**: Add ARIA, keyboard support, etc.
|
|
72
|
+
- **"strengthen types"**: Remove `any`, improve type safety
|
|
73
|
+
- **"cleanup"**: Remove unnecessary code (only when requested)
|
|
74
|
+
- **"split"**: Separate components/functions (only when requested)
|
|
75
|
+
|
|
76
|
+
## 3.6 Question Format
|
|
77
|
+
|
|
78
|
+
### When Clarity is Needed
|
|
79
|
+
|
|
80
|
+
```markdown
|
|
81
|
+
Please clarify the following:
|
|
82
|
+
|
|
83
|
+
1. [Specific question 1]
|
|
84
|
+
2. [Specific question 2]
|
|
85
|
+
|
|
86
|
+
With this information, a more accurate implementation is possible.
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Presenting Alternatives
|
|
90
|
+
|
|
91
|
+
```markdown
|
|
92
|
+
In addition to your requested approach, the following alternatives are possible:
|
|
93
|
+
|
|
94
|
+
**Method A**: [Description] - Pros: [Pros], Cons: [Cons]
|
|
95
|
+
**Method B**: [Description] - Pros: [Pros], Cons: [Cons]
|
|
96
|
+
|
|
97
|
+
Which approach do you prefer?
|
|
98
|
+
```
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
# Development Philosophy and Principles - Answering "Why"
|
|
2
|
-
|
|
3
|
-
## 1.1 Top Priority: Surgical Precision
|
|
4
|
-
|
|
5
|
-
> **⚠️ This is the first principle that precedes all work.**
|
|
6
|
-
>
|
|
7
|
-
> **Never modify/delete code that wasn't requested.**
|
|
8
|
-
|
|
9
|
-
### Principles
|
|
10
|
-
|
|
11
|
-
- **Strict scope adherence**: Only modify files and code blocks explicitly requested by the user
|
|
12
|
-
- **Preserve existing code**: Do not arbitrarily refactor or remove working code
|
|
13
|
-
- **Respect style**: Maintain existing naming, formatting, and comment styles
|
|
14
|
-
|
|
15
|
-
## 1.2 Core Philosophy
|
|
16
|
-
|
|
17
|
-
### Development Golden Rules
|
|
18
|
-
|
|
19
|
-
- **Simplicity aesthetics**: Less code is better code
|
|
20
|
-
- **DRY principle**: Don't repeat, reuse
|
|
21
|
-
- **Single responsibility**: One function serves one purpose
|
|
22
|
-
- **Pragmatism**: Practical over perfect, YAGNI spirit
|
|
23
|
-
|
|
24
|
-
### Code Quality Standards
|
|
25
|
-
|
|
26
|
-
- **Readability**: Code is for humans
|
|
27
|
-
- **Predictability**: No surprises in code
|
|
28
|
-
- **Maintainability**: Consider future you
|
|
29
|
-
- **Testability**: Verifiable structure
|
|
30
|
-
|
|
31
|
-
## 1.3 Architecture Principles
|
|
32
|
-
|
|
33
|
-
### Design Wisdom
|
|
34
|
-
|
|
35
|
-
- **Appropriate pattern application**: Apply Composite, Observer, Factory, etc. as needed
|
|
36
|
-
- **Avoid over-abstraction**: No more than 3 levels of wrappers
|
|
37
|
-
- **Prevent circular dependencies**: File A → File B → File A ❌
|
|
38
|
-
|
|
39
|
-
### Accessibility is Mandatory, Not Optional
|
|
40
|
-
|
|
41
|
-
- Use semantic HTML as default
|
|
42
|
-
- Support keyboard navigation
|
|
43
|
-
- Optimize for screen readers
|
|
44
|
-
- Actively use ARIA attributes
|
|
45
|
-
|
|
46
|
-
## Core Values
|
|
47
|
-
|
|
48
|
-
1. **Clarity**: Code should be self-explanatory
|
|
49
|
-
2. **Conciseness**: Remove unnecessary complexity
|
|
50
|
-
3. **Consistency**: Maintain consistent patterns and styles
|
|
51
|
-
4. **Scalability**: Design considering future changes
|
|
52
|
-
5. **Safety**: Consider error handling and edge cases
|
|
1
|
+
# Development Philosophy and Principles - Answering "Why"
|
|
2
|
+
|
|
3
|
+
## 1.1 Top Priority: Surgical Precision
|
|
4
|
+
|
|
5
|
+
> **⚠️ This is the first principle that precedes all work.**
|
|
6
|
+
>
|
|
7
|
+
> **Never modify/delete code that wasn't requested.**
|
|
8
|
+
|
|
9
|
+
### Principles
|
|
10
|
+
|
|
11
|
+
- **Strict scope adherence**: Only modify files and code blocks explicitly requested by the user
|
|
12
|
+
- **Preserve existing code**: Do not arbitrarily refactor or remove working code
|
|
13
|
+
- **Respect style**: Maintain existing naming, formatting, and comment styles
|
|
14
|
+
|
|
15
|
+
## 1.2 Core Philosophy
|
|
16
|
+
|
|
17
|
+
### Development Golden Rules
|
|
18
|
+
|
|
19
|
+
- **Simplicity aesthetics**: Less code is better code
|
|
20
|
+
- **DRY principle**: Don't repeat, reuse
|
|
21
|
+
- **Single responsibility**: One function serves one purpose
|
|
22
|
+
- **Pragmatism**: Practical over perfect, YAGNI spirit
|
|
23
|
+
|
|
24
|
+
### Code Quality Standards
|
|
25
|
+
|
|
26
|
+
- **Readability**: Code is for humans
|
|
27
|
+
- **Predictability**: No surprises in code
|
|
28
|
+
- **Maintainability**: Consider future you
|
|
29
|
+
- **Testability**: Verifiable structure
|
|
30
|
+
|
|
31
|
+
## 1.3 Architecture Principles
|
|
32
|
+
|
|
33
|
+
### Design Wisdom
|
|
34
|
+
|
|
35
|
+
- **Appropriate pattern application**: Apply Composite, Observer, Factory, etc. as needed
|
|
36
|
+
- **Avoid over-abstraction**: No more than 3 levels of wrappers
|
|
37
|
+
- **Prevent circular dependencies**: File A → File B → File A ❌
|
|
38
|
+
|
|
39
|
+
### Accessibility is Mandatory, Not Optional
|
|
40
|
+
|
|
41
|
+
- Use semantic HTML as default
|
|
42
|
+
- Support keyboard navigation
|
|
43
|
+
- Optimize for screen readers
|
|
44
|
+
- Actively use ARIA attributes
|
|
45
|
+
|
|
46
|
+
## Core Values
|
|
47
|
+
|
|
48
|
+
1. **Clarity**: Code should be self-explanatory
|
|
49
|
+
2. **Conciseness**: Remove unnecessary complexity
|
|
50
|
+
3. **Consistency**: Maintain consistent patterns and styles
|
|
51
|
+
4. **Scalability**: Design considering future changes
|
|
52
|
+
5. **Safety**: Consider error handling and edge cases
|
|
@@ -1,102 +1,102 @@
|
|
|
1
|
-
# Quick Start - Immediately Applicable Principles
|
|
2
|
-
|
|
3
|
-
## 5 Core Principles
|
|
4
|
-
|
|
5
|
-
```
|
|
6
|
-
✅ 📉 Less code means less technical debt
|
|
7
|
-
✅ 🚫 DRY - Don't Repeat Yourself
|
|
8
|
-
✅ 🎯 Single Responsibility Principle (SRP)
|
|
9
|
-
✅ 🙏 YAGNI - You Aren't Gonna Need It
|
|
10
|
-
✅ 🔒 Security first
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
## Language Configuration
|
|
14
|
-
|
|
15
|
-
Language settings can be configured in `.sutory/config.json`:
|
|
16
|
-
|
|
17
|
-
```json
|
|
18
|
-
{
|
|
19
|
-
"language": "en" // Options: "en", "ko"
|
|
20
|
-
}
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Checkpoints
|
|
24
|
-
|
|
25
|
-
### Before Adding New Packages
|
|
26
|
-
|
|
27
|
-
- [ ] Can it be solved with existing packages?
|
|
28
|
-
- [ ] Is it really necessary?
|
|
29
|
-
- [ ] What is the bundle size impact?
|
|
30
|
-
|
|
31
|
-
### When Creating Files
|
|
32
|
-
|
|
33
|
-
- [ ] Verify where it will be used
|
|
34
|
-
- [ ] Add imports immediately
|
|
35
|
-
- [ ] Check for circular dependencies
|
|
36
|
-
|
|
37
|
-
## Top Priority: Surgical Precision
|
|
38
|
-
|
|
39
|
-
> **⚠️ This is the first principle that precedes all work.**
|
|
40
|
-
>
|
|
41
|
-
> **Never modify/delete code that wasn't requested.**
|
|
42
|
-
|
|
43
|
-
- **Strict scope adherence**: Only modify files and code blocks explicitly requested by the user
|
|
44
|
-
- **Preserve existing code**: Do not arbitrarily refactor or remove working code
|
|
45
|
-
- **Respect style**: Maintain existing naming, formatting, and comment styles
|
|
46
|
-
|
|
47
|
-
## Pre-Work Checklist
|
|
48
|
-
|
|
49
|
-
```
|
|
50
|
-
[x] Follow top priority: Never modify outside request scope
|
|
51
|
-
[ ] Respect existing code: Maintain existing style and structure
|
|
52
|
-
[ ] Follow documentation rules: Adhere to naming, structure guidelines
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## Golden Rules
|
|
56
|
-
|
|
57
|
-
- **Simplicity aesthetics**: Less code is better code
|
|
58
|
-
- **DRY principle**: Don't repeat, reuse
|
|
59
|
-
- **Single responsibility**: One function serves one purpose
|
|
60
|
-
- **Pragmatism**: Practical over perfect, YAGNI spirit
|
|
61
|
-
|
|
62
|
-
## Code Examples
|
|
63
|
-
|
|
64
|
-
### Good Example
|
|
65
|
-
|
|
66
|
-
```python
|
|
67
|
-
# User authentication middleware
|
|
68
|
-
async def authenticate_user(token: str) -> User:
|
|
69
|
-
"""
|
|
70
|
-
Verify JWT token and return user.
|
|
71
|
-
|
|
72
|
-
Args:
|
|
73
|
-
token: JWT authentication token
|
|
74
|
-
|
|
75
|
-
Returns:
|
|
76
|
-
Authenticated user object
|
|
77
|
-
|
|
78
|
-
Raises:
|
|
79
|
-
HTTPException: When token is invalid
|
|
80
|
-
"""
|
|
81
|
-
# Verify token
|
|
82
|
-
payload = decode_jwt(token)
|
|
83
|
-
|
|
84
|
-
# Get user
|
|
85
|
-
user = await get_user(payload["sub"])
|
|
86
|
-
if not user:
|
|
87
|
-
raise HTTPException(401, detail="Authentication failed")
|
|
88
|
-
|
|
89
|
-
return user
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
### Bad Example
|
|
93
|
-
|
|
94
|
-
```python
|
|
95
|
-
# No comments, unclear purpose
|
|
96
|
-
async def auth(t):
|
|
97
|
-
p = decode_jwt(t)
|
|
98
|
-
u = await get_user(p["sub"])
|
|
99
|
-
if not u:
|
|
100
|
-
raise HTTPException(401)
|
|
101
|
-
return u
|
|
102
|
-
```
|
|
1
|
+
# Quick Start - Immediately Applicable Principles
|
|
2
|
+
|
|
3
|
+
## 5 Core Principles
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
✅ 📉 Less code means less technical debt
|
|
7
|
+
✅ 🚫 DRY - Don't Repeat Yourself
|
|
8
|
+
✅ 🎯 Single Responsibility Principle (SRP)
|
|
9
|
+
✅ 🙏 YAGNI - You Aren't Gonna Need It
|
|
10
|
+
✅ 🔒 Security first
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Language Configuration
|
|
14
|
+
|
|
15
|
+
Language settings can be configured in `.sutory/config.json`:
|
|
16
|
+
|
|
17
|
+
```json
|
|
18
|
+
{
|
|
19
|
+
"language": "en" // Options: "en", "ko"
|
|
20
|
+
}
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Checkpoints
|
|
24
|
+
|
|
25
|
+
### Before Adding New Packages
|
|
26
|
+
|
|
27
|
+
- [ ] Can it be solved with existing packages?
|
|
28
|
+
- [ ] Is it really necessary?
|
|
29
|
+
- [ ] What is the bundle size impact?
|
|
30
|
+
|
|
31
|
+
### When Creating Files
|
|
32
|
+
|
|
33
|
+
- [ ] Verify where it will be used
|
|
34
|
+
- [ ] Add imports immediately
|
|
35
|
+
- [ ] Check for circular dependencies
|
|
36
|
+
|
|
37
|
+
## Top Priority: Surgical Precision
|
|
38
|
+
|
|
39
|
+
> **⚠️ This is the first principle that precedes all work.**
|
|
40
|
+
>
|
|
41
|
+
> **Never modify/delete code that wasn't requested.**
|
|
42
|
+
|
|
43
|
+
- **Strict scope adherence**: Only modify files and code blocks explicitly requested by the user
|
|
44
|
+
- **Preserve existing code**: Do not arbitrarily refactor or remove working code
|
|
45
|
+
- **Respect style**: Maintain existing naming, formatting, and comment styles
|
|
46
|
+
|
|
47
|
+
## Pre-Work Checklist
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
[x] Follow top priority: Never modify outside request scope
|
|
51
|
+
[ ] Respect existing code: Maintain existing style and structure
|
|
52
|
+
[ ] Follow documentation rules: Adhere to naming, structure guidelines
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Golden Rules
|
|
56
|
+
|
|
57
|
+
- **Simplicity aesthetics**: Less code is better code
|
|
58
|
+
- **DRY principle**: Don't repeat, reuse
|
|
59
|
+
- **Single responsibility**: One function serves one purpose
|
|
60
|
+
- **Pragmatism**: Practical over perfect, YAGNI spirit
|
|
61
|
+
|
|
62
|
+
## Code Examples
|
|
63
|
+
|
|
64
|
+
### Good Example
|
|
65
|
+
|
|
66
|
+
```python
|
|
67
|
+
# User authentication middleware
|
|
68
|
+
async def authenticate_user(token: str) -> User:
|
|
69
|
+
"""
|
|
70
|
+
Verify JWT token and return user.
|
|
71
|
+
|
|
72
|
+
Args:
|
|
73
|
+
token: JWT authentication token
|
|
74
|
+
|
|
75
|
+
Returns:
|
|
76
|
+
Authenticated user object
|
|
77
|
+
|
|
78
|
+
Raises:
|
|
79
|
+
HTTPException: When token is invalid
|
|
80
|
+
"""
|
|
81
|
+
# Verify token
|
|
82
|
+
payload = decode_jwt(token)
|
|
83
|
+
|
|
84
|
+
# Get user
|
|
85
|
+
user = await get_user(payload["sub"])
|
|
86
|
+
if not user:
|
|
87
|
+
raise HTTPException(401, detail="Authentication failed")
|
|
88
|
+
|
|
89
|
+
return user
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Bad Example
|
|
93
|
+
|
|
94
|
+
```python
|
|
95
|
+
# No comments, unclear purpose
|
|
96
|
+
async def auth(t):
|
|
97
|
+
p = decode_jwt(t)
|
|
98
|
+
u = await get_user(p["sub"])
|
|
99
|
+
if not u:
|
|
100
|
+
raise HTTPException(401)
|
|
101
|
+
return u
|
|
102
|
+
```
|