tint_me 1.0.0 → 1.1.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 (44) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/README.md +104 -25
  4. data/lib/tint_me/sgr_builder.rb +1 -1
  5. data/lib/tint_me/style/types.rb +21 -0
  6. data/lib/tint_me/style.rb +69 -0
  7. data/lib/tint_me/version.rb +1 -1
  8. data/sig/dry-schema.rbs +8 -0
  9. data/sig/dry-types.rbs +11 -0
  10. data/sig/tint_me/error.rbs +4 -0
  11. data/sig/tint_me/sgr_builder.rbs +60 -0
  12. data/sig/tint_me/style/schema.rbs +5 -0
  13. data/sig/tint_me/style/types.rbs +14 -0
  14. data/sig/tint_me/style.rbs +73 -0
  15. data/sig/tint_me.rbs +1 -45
  16. metadata +13 -31
  17. data/.rubocop_todo.yml +0 -7
  18. data/.serena/project.yml +0 -68
  19. data/.simplecov +0 -24
  20. data/.yardopts +0 -6
  21. data/AGENTS.md +0 -60
  22. data/CLAUDE.md +0 -1
  23. data/RELEASING.md +0 -202
  24. data/Rakefile +0 -18
  25. data/benchmark/2025-09-08-style-caching-optimization/01_baseline_results.txt +0 -39
  26. data/benchmark/2025-09-08-style-caching-optimization/02_with_full_caching_results.txt +0 -54
  27. data/benchmark/2025-09-08-style-caching-optimization/03_prefix_only_caching_results.txt +0 -107
  28. data/benchmark/2025-09-08-style-caching-optimization/04_baseline_vs_optimized_analysis.txt +0 -65
  29. data/benchmark/2025-09-08-style-caching-optimization/05_caching_approaches_comparison.txt +0 -59
  30. data/benchmark/2025-09-08-style-caching-optimization/06_append_operator_results.txt +0 -107
  31. data/benchmark/2025-09-08-style-caching-optimization/07_string_concatenation_comparison.txt +0 -66
  32. data/benchmark/2025-09-08-style-caching-optimization/08_with_freeze_optimization_results.txt +0 -107
  33. data/benchmark/2025-09-08-style-caching-optimization/09_freeze_optimization_analysis.txt +0 -49
  34. data/benchmark/2025-09-08-style-caching-optimization/10_constant_access_results.txt +0 -107
  35. data/benchmark/2025-09-08-style-caching-optimization/11_constant_vs_cache_analysis.txt +0 -74
  36. data/benchmark/2025-09-08-style-caching-optimization/12_empty_prefix_analysis.txt +0 -81
  37. data/benchmark/2025-09-08-style-caching-optimization/13_nil_check_optimization_results.txt +0 -107
  38. data/benchmark/2025-09-08-style-caching-optimization/14_nil_vs_empty_check_analysis.txt +0 -81
  39. data/benchmark/2025-09-08-style-caching-optimization/README.md +0 -45
  40. data/benchmark/2025-09-08-style-caching-optimization/benchmark_script.rb +0 -180
  41. data/docs/agents/git-pr.md +0 -298
  42. data/docs/agents/languages.md +0 -388
  43. data/docs/agents/rubocop.md +0 -55
  44. data/mise.toml +0 -5
@@ -1,55 +0,0 @@
1
- # RuboCop Fix Workflow for AI Agents
2
-
3
- This guide outlines a safe, repeatable process to fix RuboCop offenses while preserving behavior and keeping PRs focused.
4
-
5
- ## Goals
6
- - Keep changes minimal and behavior‑preserving; prefer small, focused PRs.
7
- - Use safe autocorrect first; apply unsafe corrections only when reviewed and covered by tests.
8
- - Centralize rule changes in `.rubocop.yml`; never hand‑edit `.rubocop_todo.yml`.
9
-
10
- ## Quick Commands
11
- - Full lint: `rake rubocop`
12
- - File/dir lint: `rubocop path/to/file.rb`
13
- - Safe autocorrect: `rubocop -a`
14
- - Targeted unsafe: `rubocop -A --only Cop/Name`
15
- - Run tests: `rake spec`
16
- - Regenerate TODO: `docquet regenerate-todo`
17
- - Temporarily enable a TODO‑disabled cop: comment out its block in `.rubocop_todo.yml`
18
-
19
- ## Workflow
20
- 1) Reproduce locally
21
- - Run `rake rubocop` and note failing cops/files.
22
-
23
- 2) Safe autocorrect first
24
- - Run `rubocop -a` on specific files or directories to reduce blast radius.
25
- - Re‑run `rake rubocop` and `rake spec` to verify no behavior changes.
26
-
27
- 3) Target specific cops (if still failing)
28
- - For stylistic issues, fix manually or run `rubocop -A --only Cop/Name` on the smallest scope.
29
- - For logic‑sensitive cops (e.g., Performance, Lint), prefer manual fixes with tests.
30
-
31
- 3a) If the cop is disabled in `.rubocop_todo.yml`
32
- - Open `.rubocop_todo.yml`, locate the `Cop/Name` entry, and temporarily comment out (or remove locally) that entire block. RuboCop respects TODO disables even with `--only`, so this is required to surface offenses.
33
- - Run `rubocop --only Cop/Name` (optionally `-A`) on a narrow path and fix findings.
34
- - Validate with `rake rubocop` and `rake spec`.
35
- - Refresh the TODO: run `docquet regenerate-todo` to update/remove the entry based on remaining offenses. Commit code changes and the regenerated `.rubocop_todo.yml` together in the same commit/PR.
36
-
37
- 4) Update configuration (rare)
38
- - If a rule conflicts with project style, adjust `.rubocop.yml` with rationale in the PR body.
39
- - Do not edit `.rubocop_todo.yml` manually. After large cleanups, run `docquet regenerate-todo` and commit only that file.
40
-
41
- 5) No inline disables
42
- - Do not use comment-based disables (`# rubocop:disable ...`). This project forbids inline disables.
43
- - If a finding cannot be safely fixed, pause and ask the maintainer for guidance. Options may include refining the rule in `.rubocop.yml` or adjusting the approach.
44
-
45
- 6) Validate and commit
46
- - Ensure `rake` (tests + lint) is green.
47
- - Commit messages must start with a GitHub `:emoji:` and use imperative mood.
48
- Examples:
49
- - `:lipstick: RuboCop: safe autocorrect in lib/tint_me/style.rb`
50
- - `:rotating_light: RuboCop: fix Lint/UnusedMethodArgument`
51
-
52
- ## PR Guidance
53
- - Keep changes small and single‑purpose (e.g., “fix Style/StringLiterals in lib/tint_me”).
54
- - Include before/after snippets if unsafe autocorrect or refactor was applied.
55
- - Link any rule changes to rationale and project conventions.
data/mise.toml DELETED
@@ -1,5 +0,0 @@
1
- [tools]
2
- ruby = "3.2"
3
-
4
- [env]
5
- _.path = ["bin", "exe"]