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.
- checksums.yaml +4 -4
 - data/CHANGELOG.md +17 -0
 - data/README.md +104 -25
 - data/lib/tint_me/sgr_builder.rb +1 -1
 - data/lib/tint_me/style/types.rb +21 -0
 - data/lib/tint_me/style.rb +69 -0
 - data/lib/tint_me/version.rb +1 -1
 - data/sig/dry-schema.rbs +8 -0
 - data/sig/dry-types.rbs +11 -0
 - data/sig/tint_me/error.rbs +4 -0
 - data/sig/tint_me/sgr_builder.rbs +60 -0
 - data/sig/tint_me/style/schema.rbs +5 -0
 - data/sig/tint_me/style/types.rbs +14 -0
 - data/sig/tint_me/style.rbs +73 -0
 - data/sig/tint_me.rbs +1 -45
 - metadata +13 -31
 - data/.rubocop_todo.yml +0 -7
 - data/.serena/project.yml +0 -68
 - data/.simplecov +0 -24
 - data/.yardopts +0 -6
 - data/AGENTS.md +0 -60
 - data/CLAUDE.md +0 -1
 - data/RELEASING.md +0 -202
 - data/Rakefile +0 -18
 - data/benchmark/2025-09-08-style-caching-optimization/01_baseline_results.txt +0 -39
 - data/benchmark/2025-09-08-style-caching-optimization/02_with_full_caching_results.txt +0 -54
 - data/benchmark/2025-09-08-style-caching-optimization/03_prefix_only_caching_results.txt +0 -107
 - data/benchmark/2025-09-08-style-caching-optimization/04_baseline_vs_optimized_analysis.txt +0 -65
 - data/benchmark/2025-09-08-style-caching-optimization/05_caching_approaches_comparison.txt +0 -59
 - data/benchmark/2025-09-08-style-caching-optimization/06_append_operator_results.txt +0 -107
 - data/benchmark/2025-09-08-style-caching-optimization/07_string_concatenation_comparison.txt +0 -66
 - data/benchmark/2025-09-08-style-caching-optimization/08_with_freeze_optimization_results.txt +0 -107
 - data/benchmark/2025-09-08-style-caching-optimization/09_freeze_optimization_analysis.txt +0 -49
 - data/benchmark/2025-09-08-style-caching-optimization/10_constant_access_results.txt +0 -107
 - data/benchmark/2025-09-08-style-caching-optimization/11_constant_vs_cache_analysis.txt +0 -74
 - data/benchmark/2025-09-08-style-caching-optimization/12_empty_prefix_analysis.txt +0 -81
 - data/benchmark/2025-09-08-style-caching-optimization/13_nil_check_optimization_results.txt +0 -107
 - data/benchmark/2025-09-08-style-caching-optimization/14_nil_vs_empty_check_analysis.txt +0 -81
 - data/benchmark/2025-09-08-style-caching-optimization/README.md +0 -45
 - data/benchmark/2025-09-08-style-caching-optimization/benchmark_script.rb +0 -180
 - data/docs/agents/git-pr.md +0 -298
 - data/docs/agents/languages.md +0 -388
 - data/docs/agents/rubocop.md +0 -55
 - data/mise.toml +0 -5
 
    
        data/docs/agents/rubocop.md
    DELETED
    
    | 
         @@ -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.
         
     |