@whykusanagi/corrupted-theme 0.1.2 → 0.1.3

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 (44) hide show
  1. package/CHANGELOG.md +133 -0
  2. package/README.md +6 -0
  3. package/docs/CAPABILITIES.md +209 -0
  4. package/docs/CHARACTER_LEVEL_CORRUPTION.md +264 -0
  5. package/docs/CORRUPTION_PHRASES.md +529 -0
  6. package/docs/FUTURE_WORK.md +189 -0
  7. package/docs/IMPLEMENTATION_VALIDATION.md +401 -0
  8. package/docs/LLM_PROVIDERS.md +345 -0
  9. package/docs/PERSONALITY.md +128 -0
  10. package/docs/ROADMAP.md +266 -0
  11. package/docs/ROUTING.md +324 -0
  12. package/docs/STYLE_GUIDE.md +605 -0
  13. package/docs/brand/BRAND_OVERVIEW.md +413 -0
  14. package/docs/brand/COLOR_SYSTEM.md +583 -0
  15. package/docs/brand/DESIGN_TOKENS.md +1009 -0
  16. package/docs/brand/TRANSLATION_FAILURE_AESTHETIC.md +525 -0
  17. package/docs/brand/TYPOGRAPHY.md +624 -0
  18. package/docs/components/ANIMATION_GUIDELINES.md +901 -0
  19. package/docs/components/COMPONENT_LIBRARY.md +1061 -0
  20. package/docs/components/GLASSMORPHISM.md +602 -0
  21. package/docs/components/INTERACTIVE_STATES.md +766 -0
  22. package/docs/governance/CONTRIBUTION_GUIDELINES.md +593 -0
  23. package/docs/governance/DESIGN_SYSTEM_GOVERNANCE.md +451 -0
  24. package/docs/governance/VERSION_MANAGEMENT.md +447 -0
  25. package/docs/governance/VERSION_REFERENCES.md +229 -0
  26. package/docs/platforms/CLI_IMPLEMENTATION.md +1025 -0
  27. package/docs/platforms/COMPONENT_MAPPING.md +579 -0
  28. package/docs/platforms/NPM_PACKAGE.md +854 -0
  29. package/docs/platforms/WEB_IMPLEMENTATION.md +1221 -0
  30. package/docs/standards/ACCESSIBILITY.md +715 -0
  31. package/docs/standards/ANTI_PATTERNS.md +554 -0
  32. package/docs/standards/SPACING_SYSTEM.md +549 -0
  33. package/examples/button.html +1 -1
  34. package/examples/card.html +1 -1
  35. package/examples/form.html +1 -1
  36. package/examples/index.html +2 -2
  37. package/examples/layout.html +1 -1
  38. package/examples/nikke-team-builder.html +1 -1
  39. package/examples/showcase-complete.html +840 -15
  40. package/examples/showcase.html +1 -1
  41. package/package.json +4 -2
  42. package/src/css/components.css +676 -0
  43. package/src/lib/character-corruption.js +563 -0
  44. package/src/lib/components.js +283 -0
@@ -0,0 +1,593 @@
1
+ # Contribution Guidelines
2
+
3
+ > **Celeste Brand System** | Governance Documentation
4
+ > **Document**: How to Contribute to the Celeste Brand System
5
+ > **Version**: 1.0.0
6
+ > **Last Updated**: 2025-12-13
7
+
8
+ ---
9
+
10
+ ## Table of Contents
11
+
12
+ 1. [Overview](#overview)
13
+ 2. [Getting Started](#getting-started)
14
+ 3. [Contribution Types](#contribution-types)
15
+ 4. [Development Workflow](#development-workflow)
16
+ 5. [Code Standards](#code-standards)
17
+ 6. [Testing Requirements](#testing-requirements)
18
+ 7. [Documentation Requirements](#documentation-requirements)
19
+ 8. [Pull Request Process](#pull-request-process)
20
+
21
+ ---
22
+
23
+ ## Overview
24
+
25
+ We welcome contributions to the Celeste brand system! Whether you're fixing bugs, adding features, or improving documentation, this guide will help you contribute effectively.
26
+
27
+ ### What We're Looking For
28
+
29
+ - ✅ Bug fixes (accessibility, visual, performance)
30
+ - ✅ New components (following brand guidelines)
31
+ - ✅ Documentation improvements
32
+ - ✅ Accessibility enhancements
33
+ - ✅ Performance optimizations
34
+ - ✅ Test coverage improvements
35
+ - ✅ Examples and use cases
36
+
37
+ ### What We're NOT Looking For
38
+
39
+ - ❌ Breaking changes without RFC
40
+ - ❌ Leet speak or off-brand aesthetics
41
+ - ❌ Components without documentation
42
+ - ❌ Untested code
43
+ - ❌ Accessibility regressions
44
+ - ❌ Large refactors without discussion
45
+
46
+ ---
47
+
48
+ ## Getting Started
49
+
50
+ ### Prerequisites
51
+
52
+ - **Node.js**: v18+ (for npm package development)
53
+ - **Go**: v1.22+ (for CLI development)
54
+ - **Git**: v2.30+
55
+ - **Code Editor**: VS Code recommended (extensions below)
56
+
57
+ ### Recommended VS Code Extensions
58
+
59
+ ```json
60
+ {
61
+ "recommendations": [
62
+ "stylelint.vscode-stylelint", // CSS linting
63
+ "dbaeumer.vscode-eslint", // JavaScript linting
64
+ "golang.go", // Go development
65
+ "editorconfig.editorconfig", // Code formatting
66
+ "streetsidesoftware.code-spell-checker" // Spell checking
67
+ ]
68
+ }
69
+ ```
70
+
71
+ ### Fork & Clone
72
+
73
+ ```bash
74
+ # Fork repository on GitHub, then clone your fork
75
+ git clone https://github.com/YOUR_USERNAME/celeste-cli.git
76
+ cd celeste-cli
77
+
78
+ # Add upstream remote
79
+ git remote add upstream https://github.com/whykusanagi/celeste-cli.git
80
+
81
+ # Verify remotes
82
+ git remote -v
83
+ # origin https://github.com/YOUR_USERNAME/celeste-cli.git (fetch)
84
+ # upstream https://github.com/whykusanagi/celeste-cli.git (fetch)
85
+ ```
86
+
87
+ ### Install Dependencies
88
+
89
+ ```bash
90
+ # Install CLI dependencies
91
+ go mod download
92
+
93
+ # Install npm package dependencies (if contributing to corrupted-theme)
94
+ cd ../corrupted-theme
95
+ npm install
96
+ ```
97
+
98
+ ---
99
+
100
+ ## Contribution Types
101
+
102
+ ### 1. Bug Fixes
103
+
104
+ **Process**:
105
+ 1. Open issue describing bug
106
+ 2. Get confirmation it's a bug
107
+ 3. Fix in fork
108
+ 4. Submit PR with tests
109
+
110
+ **PR Title Format**: `fix: [Brief description]`
111
+
112
+ **Example**: `fix: focus indicator now visible on all buttons`
113
+
114
+ ---
115
+
116
+ ### 2. New Components
117
+
118
+ **Process**:
119
+ 1. Open RFC discussion
120
+ 2. Get maintainer approval
121
+ 3. Implement component
122
+ 4. Write documentation
123
+ 5. Create examples
124
+ 6. Submit PR
125
+
126
+ **PR Title Format**: `feat: add [component name]`
127
+
128
+ **Example**: `feat: add glass-panel component`
129
+
130
+ **Requirements**:
131
+ - Follows brand guidelines (glassmorphism, corruption aesthetic)
132
+ - Accessible (WCAG AA)
133
+ - Responsive (mobile-first)
134
+ - Documented (usage, props, examples)
135
+ - Tested (visual regression, accessibility)
136
+ - Cross-platform (CLI equivalent if applicable)
137
+
138
+ ---
139
+
140
+ ### 3. Documentation
141
+
142
+ **Process**:
143
+ 1. Identify documentation gap
144
+ 2. Write/update docs
145
+ 3. Submit PR
146
+
147
+ **PR Title Format**: `docs: [Brief description]`
148
+
149
+ **Example**: `docs: add animation timing examples`
150
+
151
+ **Requirements**:
152
+ - Clear, concise writing
153
+ - Code examples included
154
+ - Links to related docs
155
+ - Follows markdown style guide
156
+
157
+ ---
158
+
159
+ ### 4. Performance Improvements
160
+
161
+ **Process**:
162
+ 1. Benchmark current performance
163
+ 2. Implement optimization
164
+ 3. Benchmark new performance
165
+ 4. Submit PR with metrics
166
+
167
+ **PR Title Format**: `perf: [Brief description]`
168
+
169
+ **Example**: `perf: reduce glass effect GPU usage by 30%`
170
+
171
+ **Requirements**:
172
+ - Before/after benchmarks
173
+ - No visual regressions
174
+ - No accessibility regressions
175
+
176
+ ---
177
+
178
+ ## Development Workflow
179
+
180
+ ### 1. Create Feature Branch
181
+
182
+ ```bash
183
+ # Update main branch
184
+ git checkout main
185
+ git pull upstream main
186
+
187
+ # Create feature branch
188
+ git checkout -b feature/glass-panel-component
189
+
190
+ # Naming conventions:
191
+ # - feature/[name] (new features)
192
+ # - fix/[name] (bug fixes)
193
+ # - docs/[name] (documentation)
194
+ # - perf/[name] (performance)
195
+ # - refactor/[name] (code refactoring)
196
+ ```
197
+
198
+ ### 2. Make Changes
199
+
200
+ ```bash
201
+ # Edit files
202
+ vim src/css/components.css
203
+
204
+ # Test changes locally
205
+ npm run dev # Watch mode
206
+ npm run build # Production build
207
+ npm test # Run tests
208
+ ```
209
+
210
+ ### 3. Commit Changes
211
+
212
+ ```bash
213
+ # Stage changes
214
+ git add src/css/components.css
215
+
216
+ # Commit with conventional commit message
217
+ git commit -m "feat: add glass-panel component
218
+
219
+ - Full-page glassmorphism container
220
+ - Responsive padding
221
+ - WCAG AA accessible
222
+ - Includes CLI equivalent
223
+
224
+ Closes #123"
225
+ ```
226
+
227
+ #### Commit Message Format
228
+
229
+ ```
230
+ <type>(<scope>): <subject>
231
+
232
+ <body>
233
+
234
+ <footer>
235
+ ```
236
+
237
+ **Types**:
238
+ - `feat`: New feature
239
+ - `fix`: Bug fix
240
+ - `docs`: Documentation only
241
+ - `style`: Formatting (no code change)
242
+ - `refactor`: Code refactoring
243
+ - `perf`: Performance improvement
244
+ - `test`: Adding tests
245
+ - `chore`: Maintenance
246
+
247
+ **Examples**:
248
+ ```
249
+ feat(components): add glass-panel component
250
+ fix(a11y): improve focus indicator visibility
251
+ docs(brand): add color contrast examples
252
+ perf(glass): optimize backdrop-filter rendering
253
+ ```
254
+
255
+ ### 4. Push to Fork
256
+
257
+ ```bash
258
+ # Push feature branch to your fork
259
+ git push origin feature/glass-panel-component
260
+ ```
261
+
262
+ ### 5. Create Pull Request
263
+
264
+ 1. Go to GitHub
265
+ 2. Click "New Pull Request"
266
+ 3. Select your fork → your branch
267
+ 4. Fill out PR template
268
+ 5. Submit
269
+
270
+ ---
271
+
272
+ ## Code Standards
273
+
274
+ ### CSS Standards
275
+
276
+ ```css
277
+ /* ✅ CORRECT: BEM naming, proper formatting */
278
+ .glass-panel {
279
+ background: var(--glass-bg);
280
+ backdrop-filter: blur(var(--glass-blur));
281
+ border-radius: var(--radius-lg);
282
+ padding: var(--spacing-xl);
283
+ }
284
+
285
+ .glass-panel--compact {
286
+ padding: var(--spacing-md);
287
+ }
288
+
289
+ .glass-panel__header {
290
+ margin-bottom: var(--spacing-lg);
291
+ }
292
+
293
+ /* ❌ WRONG: Inline styles, magic numbers */
294
+ .panel {
295
+ background: rgba(20,12,40,0.7); /* Use design tokens */
296
+ border-radius: 8px; /* Use --radius-md */
297
+ padding: 32px; /* Use --spacing-xl */
298
+ }
299
+ ```
300
+
301
+ ### JavaScript Standards
302
+
303
+ ```javascript
304
+ // ✅ CORRECT: ESLint compliant, proper formatting
305
+ function corruptText(text, intensity = 0.3) {
306
+ const japaneseChars = ['ア', 'イ', 'ウ', '使', '統', '計'];
307
+
308
+ return text.split('').map((char, i) => {
309
+ if (Math.random() < intensity && /[a-zA-Z]/.test(char)) {
310
+ return japaneseChars[Math.floor(Math.random() * japaneseChars.length)];
311
+ }
312
+ return char;
313
+ }).join('');
314
+ }
315
+
316
+ // ❌ WRONG: No comments, poor formatting
317
+ function corrupt(t,i){
318
+ return t.split('').map((c)=>{if(Math.random()<i)return '使';return c;}).join('');
319
+ }
320
+ ```
321
+
322
+ ### Go Standards
323
+
324
+ ```go
325
+ // ✅ CORRECT: gofmt formatted, proper comments
326
+ // CorruptTextJapanese corrupts English text with Japanese characters
327
+ // at the specified intensity level (0.0-1.0).
328
+ func CorruptTextJapanese(text string, intensity float64) string {
329
+ if intensity <= 0 {
330
+ return text
331
+ }
332
+
333
+ japaneseChars := []rune{'ア', 'イ', 'ウ', '使', '統', '計'}
334
+ runes := []rune(text)
335
+
336
+ for i, r := range runes {
337
+ if !unicode.IsLetter(r) {
338
+ continue
339
+ }
340
+
341
+ if rand.Float64() < intensity {
342
+ runes[i] = japaneseChars[rand.Intn(len(japaneseChars))]
343
+ }
344
+ }
345
+
346
+ return string(runes)
347
+ }
348
+ ```
349
+
350
+ ---
351
+
352
+ ## Testing Requirements
353
+
354
+ ### Visual Regression Tests
355
+
356
+ ```bash
357
+ # Capture baseline screenshots
358
+ npm run test:visual:baseline
359
+
360
+ # Run visual regression tests
361
+ npm run test:visual
362
+
363
+ # Review differences
364
+ npm run test:visual:review
365
+ ```
366
+
367
+ ### Accessibility Tests
368
+
369
+ ```bash
370
+ # Run automated a11y tests
371
+ npm run test:a11y
372
+
373
+ # Test with screen reader (manual)
374
+ # - NVDA (Windows)
375
+ # - VoiceOver (macOS)
376
+ ```
377
+
378
+ ### Cross-Browser Tests
379
+
380
+ Required browsers:
381
+ - ✅ Chrome (latest)
382
+ - ✅ Firefox (latest)
383
+ - ✅ Safari (latest)
384
+ - ✅ Edge (latest)
385
+
386
+ ### CLI Tests
387
+
388
+ ```bash
389
+ # Run Go tests
390
+ go test ./...
391
+
392
+ # Test on different terminals
393
+ # - macOS Terminal.app
394
+ # - iTerm2
395
+ # - Windows Terminal
396
+ # - VSCode integrated terminal
397
+ ```
398
+
399
+ ---
400
+
401
+ ## Documentation Requirements
402
+
403
+ ### Component Documentation
404
+
405
+ Every new component requires:
406
+
407
+ 1. **README section** with:
408
+ - Purpose
409
+ - Usage example
410
+ - Props/options
411
+ - Accessibility notes
412
+
413
+ 2. **Code example**:
414
+ ```html
415
+ <!-- Usage -->
416
+ <div class="glass-panel">
417
+ <h2>Panel Title</h2>
418
+ <p>Content here</p>
419
+ </div>
420
+ ```
421
+
422
+ 3. **CLI equivalent**:
423
+ ```go
424
+ // CLI usage
425
+ style := lipgloss.NewStyle().
426
+ Border(lipgloss.RoundedBorder()).
427
+ Padding(2, 4)
428
+ ```
429
+
430
+ 4. **Screenshot** (for visual components)
431
+
432
+ ### Documentation Style Guide
433
+
434
+ - Use **present tense** ("Add" not "Added")
435
+ - Use **imperative mood** ("Move cursor" not "Moves cursor")
436
+ - Be **concise** (no fluff)
437
+ - Include **examples**
438
+ - Link to **related docs**
439
+
440
+ ---
441
+
442
+ ## Pull Request Process
443
+
444
+ ### PR Template
445
+
446
+ ```markdown
447
+ ## Description
448
+ Brief description of changes
449
+
450
+ ## Type of Change
451
+ - [ ] Bug fix (non-breaking)
452
+ - [ ] New feature (non-breaking)
453
+ - [ ] Breaking change
454
+ - [ ] Documentation update
455
+
456
+ ## Checklist
457
+ - [ ] Code follows style guidelines
458
+ - [ ] Self-reviewed code
459
+ - [ ] Commented complex code
460
+ - [ ] Documentation updated
461
+ - [ ] No new warnings
462
+ - [ ] Tests added
463
+ - [ ] All tests passing
464
+ - [ ] Visual regression tested
465
+ - [ ] Accessibility tested
466
+ - [ ] Cross-browser tested
467
+
468
+ ## Screenshots (if applicable)
469
+ Before/after screenshots
470
+
471
+ ## Related Issues
472
+ Closes #123
473
+ ```
474
+
475
+ ### Review Process
476
+
477
+ 1. **Automated Checks** (must pass):
478
+ - Linting (ESLint, Stylelint, golangci-lint)
479
+ - Tests (unit, visual regression, a11y)
480
+ - Build (successful compilation)
481
+
482
+ 2. **Code Review** (1+ approvals required):
483
+ - Maintainer reviews code
484
+ - Provides feedback
485
+ - Requests changes if needed
486
+
487
+ 3. **Revisions**:
488
+ - Address review comments
489
+ - Push updates to same branch
490
+ - Re-request review
491
+
492
+ 4. **Approval**:
493
+ - Maintainer approves PR
494
+ - PR merged to main
495
+ - Contributor credited in changelog
496
+
497
+ ### PR Etiquette
498
+
499
+ - ✅ Keep PRs focused (one feature/fix per PR)
500
+ - ✅ Respond to reviews promptly
501
+ - ✅ Be respectful and professional
502
+ - ✅ Accept constructive feedback
503
+ - ❌ Don't force-push after review starts
504
+ - ❌ Don't argue with maintainers
505
+ - ❌ Don't submit massive PRs (>500 lines)
506
+
507
+ ---
508
+
509
+ ## Code of Conduct
510
+
511
+ ### Our Pledge
512
+
513
+ We are committed to providing a welcoming and inclusive experience for everyone, regardless of:
514
+ - Age, body size, disability, ethnicity, gender identity
515
+ - Level of experience, nationality, personal appearance
516
+ - Race, religion, sexual identity and orientation
517
+
518
+ ### Expected Behavior
519
+
520
+ - ✅ Be respectful and considerate
521
+ - ✅ Accept constructive criticism gracefully
522
+ - ✅ Focus on what's best for the community
523
+ - ✅ Show empathy towards others
524
+
525
+ ### Unacceptable Behavior
526
+
527
+ - ❌ Harassment, trolling, or insulting comments
528
+ - ❌ Personal or political attacks
529
+ - ❌ Publishing others' private information
530
+ - ❌ Conduct that could be considered inappropriate
531
+
532
+ ### Enforcement
533
+
534
+ Violations may result in:
535
+ 1. Warning
536
+ 2. Temporary ban
537
+ 3. Permanent ban
538
+
539
+ Report violations to: [maintainer email]
540
+
541
+ ---
542
+
543
+ ## Getting Help
544
+
545
+ ### Resources
546
+
547
+ - 📖 **Documentation**: https://celeste-docs.com
548
+ - 💬 **GitHub Discussions**: Ask questions, propose features
549
+ - 🐛 **GitHub Issues**: Report bugs
550
+ - 📧 **Email**: [maintainer email]
551
+
552
+ ### FAQ
553
+
554
+ **Q: How do I propose a new component?**
555
+ A: Open an RFC in GitHub Discussions first.
556
+
557
+ **Q: My PR failed CI checks. What do I do?**
558
+ A: Check the error logs, fix issues, push updates.
559
+
560
+ **Q: How long do PR reviews take?**
561
+ A: 1-5 business days depending on complexity.
562
+
563
+ **Q: Can I contribute if I'm a beginner?**
564
+ A: Yes! Look for "good first issue" labels.
565
+
566
+ ---
567
+
568
+ ## Recognition
569
+
570
+ Contributors are credited in:
571
+ - 📜 CHANGELOG.md
572
+ - 👥 CONTRIBUTORS.md
573
+ - 🏆 GitHub releases
574
+ - 🌟 README.md (major contributions)
575
+
576
+ ---
577
+
578
+ ## Related Documentation
579
+
580
+ - [DESIGN_SYSTEM_GOVERNANCE.md](./DESIGN_SYSTEM_GOVERNANCE.md) - Decision process
581
+ - [VERSION_MANAGEMENT.md](./VERSION_MANAGEMENT.md) - Versioning policy
582
+ - [BRAND_OVERVIEW.md](../brand/BRAND_OVERVIEW.md) - Brand guidelines
583
+
584
+ ---
585
+
586
+ **Last Updated**: 2025-12-13
587
+ **Version**: 1.0.0
588
+ **Maintainer**: Celeste Brand System
589
+ **Status**: ✅ Active Guidelines
590
+
591
+ ---
592
+
593
+ **Thank you for contributing to Celeste!** 🎉