rails-ai-context 4.3.2 → 4.3.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +72 -53
- data/CLAUDE.md +1 -1
- data/README.md +268 -197
- data/demo-trace.gif +0 -0
- data/demo-trace.tape +21 -0
- data/demo.gif +0 -0
- data/demo.tape +33 -0
- data/docs/GUIDE.md +9 -9
- data/lib/generators/rails_ai_context/install/install_generator.rb +2 -1
- data/lib/rails_ai_context/configuration.rb +1 -1
- data/lib/rails_ai_context/doctor.rb +4 -2
- data/lib/rails_ai_context/fingerprinter.rb +2 -1
- data/lib/rails_ai_context/introspectors/accessibility_introspector.rb +2 -1
- data/lib/rails_ai_context/introspectors/action_mailbox_introspector.rb +2 -1
- data/lib/rails_ai_context/introspectors/action_text_introspector.rb +2 -1
- data/lib/rails_ai_context/introspectors/active_storage_introspector.rb +6 -3
- data/lib/rails_ai_context/introspectors/api_introspector.rb +8 -4
- data/lib/rails_ai_context/introspectors/asset_pipeline_introspector.rb +6 -3
- data/lib/rails_ai_context/introspectors/auth_introspector.rb +14 -7
- data/lib/rails_ai_context/introspectors/config_introspector.rb +12 -6
- data/lib/rails_ai_context/introspectors/controller_introspector.rb +20 -10
- data/lib/rails_ai_context/introspectors/convention_detector.rb +2 -1
- data/lib/rails_ai_context/introspectors/design_token_introspector.rb +8 -4
- data/lib/rails_ai_context/introspectors/devops_introspector.rb +6 -3
- data/lib/rails_ai_context/introspectors/engine_introspector.rb +4 -2
- data/lib/rails_ai_context/introspectors/frontend_framework_introspector.rb +2 -1
- data/lib/rails_ai_context/introspectors/i18n_introspector.rb +2 -1
- data/lib/rails_ai_context/introspectors/job_introspector.rb +8 -4
- data/lib/rails_ai_context/introspectors/middleware_introspector.rb +4 -2
- data/lib/rails_ai_context/introspectors/migration_introspector.rb +2 -1
- data/lib/rails_ai_context/introspectors/model_introspector.rb +20 -10
- data/lib/rails_ai_context/introspectors/multi_database_introspector.rb +12 -6
- data/lib/rails_ai_context/introspectors/performance_introspector.rb +6 -3
- data/lib/rails_ai_context/introspectors/route_introspector.rb +4 -2
- data/lib/rails_ai_context/introspectors/schema_introspector.rb +14 -7
- data/lib/rails_ai_context/introspectors/seeds_introspector.rb +2 -1
- data/lib/rails_ai_context/introspectors/stimulus_introspector.rb +8 -4
- data/lib/rails_ai_context/introspectors/test_introspector.rb +8 -4
- data/lib/rails_ai_context/introspectors/turbo_introspector.rb +22 -11
- data/lib/rails_ai_context/introspectors/view_introspector.rb +8 -4
- data/lib/rails_ai_context/introspectors/view_template_introspector.rb +10 -5
- data/lib/rails_ai_context/tasks/rails_ai_context.rake +8 -4
- data/lib/rails_ai_context/tools/analyze_feature.rb +66 -19
- data/lib/rails_ai_context/tools/diagnose.rb +4 -2
- data/lib/rails_ai_context/tools/get_callbacks.rb +4 -2
- data/lib/rails_ai_context/tools/get_concern.rb +12 -6
- data/lib/rails_ai_context/tools/get_controllers.rb +10 -5
- data/lib/rails_ai_context/tools/get_conventions.rb +4 -2
- data/lib/rails_ai_context/tools/get_design_system.rb +2 -1
- data/lib/rails_ai_context/tools/get_env.rb +8 -4
- data/lib/rails_ai_context/tools/get_helper_methods.rb +6 -3
- data/lib/rails_ai_context/tools/get_job_pattern.rb +2 -1
- data/lib/rails_ai_context/tools/get_model_details.rb +10 -5
- data/lib/rails_ai_context/tools/get_partial_interface.rb +14 -7
- data/lib/rails_ai_context/tools/get_schema.rb +2 -1
- data/lib/rails_ai_context/tools/get_service_pattern.rb +2 -1
- data/lib/rails_ai_context/tools/get_stimulus.rb +2 -1
- data/lib/rails_ai_context/tools/get_test_info.rb +4 -2
- data/lib/rails_ai_context/tools/get_turbo_map.rb +22 -11
- data/lib/rails_ai_context/tools/get_view.rb +6 -3
- data/lib/rails_ai_context/tools/migration_advisor.rb +2 -1
- data/lib/rails_ai_context/tools/onboard.rb +2 -1
- data/lib/rails_ai_context/tools/performance_check.rb +2 -1
- data/lib/rails_ai_context/tools/runtime_info.rb +10 -5
- data/lib/rails_ai_context/tools/search_code.rb +8 -4
- data/lib/rails_ai_context/tools/search_docs.rb +2 -1
- data/lib/rails_ai_context/tools/session_context.rb +2 -1
- data/lib/rails_ai_context/tools/validate.rb +16 -8
- data/lib/rails_ai_context/version.rb +1 -1
- metadata +5 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5568327e1027266892b2514cad27a3665532acfa1405236caecda030ff313739
|
|
4
|
+
data.tar.gz: 6be68e0d310f9a42aafc47161a676d162debba0cfe8a8f4087ee6051f79900cc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 151fec5402860aa577e1c21af3ece8c0378a3f5b50f3e18e34236a43061d01da945a869972347e07d2748601c4e7965a449596fecb04cf1eecb0915a0ef73463
|
|
7
|
+
data.tar.gz: 18f46e2c0c1d638c3822687f949588dc5f9874cb61cf3f827827205e472456c95d7c55f74cec6a157bfa99531ab4849a9e14a9c23fce7676fc554463a934d9d3
|
data/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,20 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [4.3.3] — 2026-04-02
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
- **100 bare rescue statements across 46 files** — all replaced with `rescue => e` + conditional debug logging (`$stderr.puts ... if ENV["DEBUG"]`); errors are now visible instead of silently swallowed
|
|
12
|
+
- **database_stats introspector orphaned** — `DatabaseStatsIntrospector` was unreachable (not in any preset); added to `:full` preset (32 → 33 introspectors)
|
|
13
|
+
- **CHANGELOG date errors** — v4.0.0 corrected from 2026-03-26 to 2026-03-27, v4.2.0 from 2026-03-26 to 2026-03-30 (verified against git commit timestamps)
|
|
14
|
+
- **CHANGELOG missing v3.0.1 entry** — added (RubyGems republish, no code changes)
|
|
15
|
+
- **CHANGELOG date separator inconsistency** — normalized all 61 version entries to em dash (`—`)
|
|
16
|
+
- **Documentation preset counts** — CLAUDE.md, README, GUIDE all corrected: `:full` 32→33, `:standard` 14→19 (turbo, auth, accessibility, performance, i18n were added in v4.3.1 but docs not updated)
|
|
17
|
+
- **GUIDE.md standard preset table** — added 5 missing introspectors (turbo, auth, accessibility, performance, i18n) to match `configuration.rb`
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
- Full preset: 32 → 33 introspectors (added :database_stats)
|
|
21
|
+
|
|
8
22
|
## [4.3.2] — 2026-04-02
|
|
9
23
|
|
|
10
24
|
### Fixed
|
|
@@ -113,7 +127,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
113
127
|
### Changed
|
|
114
128
|
- Test count: 983 → 998
|
|
115
129
|
|
|
116
|
-
## [4.2.0] — 2026-03-
|
|
130
|
+
## [4.2.0] — 2026-03-30
|
|
117
131
|
|
|
118
132
|
### Added
|
|
119
133
|
- New `rails_search_docs` tool: bundled topic index with weighted keyword search, on-demand GitHub fetch for Rails documentation
|
|
@@ -169,7 +183,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
169
183
|
- Test count: 817 → 893
|
|
170
184
|
- Install generator always writes `config.ai_tools` and `config.tool_mode` uncommented for re-install detection
|
|
171
185
|
|
|
172
|
-
## [4.0.0] — 2026-03-
|
|
186
|
+
## [4.0.0] — 2026-03-27
|
|
173
187
|
|
|
174
188
|
### Added
|
|
175
189
|
|
|
@@ -207,7 +221,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
207
221
|
- Test count: 681 → 806 examples
|
|
208
222
|
- Combustion test app expanded with Stimulus controllers, ViewComponents, accessible views, factories
|
|
209
223
|
|
|
210
|
-
## [3.1.0]
|
|
224
|
+
## [3.1.0] — 2026-03-26
|
|
211
225
|
|
|
212
226
|
### Fixed
|
|
213
227
|
|
|
@@ -223,7 +237,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
223
237
|
- **File path suggestions in validate** — `files=["cook.rb"]` now suggests `app/models/cook.rb` when the file isn't found at the given path.
|
|
224
238
|
- **Empty parameter validation** — `edit_context` now returns friendly messages for empty `file` or `near` parameters instead of hard errors.
|
|
225
239
|
|
|
226
|
-
## [3.0.
|
|
240
|
+
## [3.0.1] — 2026-03-26
|
|
241
|
+
|
|
242
|
+
### Changed
|
|
243
|
+
- Patch for RubyGems publish — no code changes from v3.0.0.
|
|
244
|
+
|
|
245
|
+
## [3.0.0] — 2026-03-26
|
|
227
246
|
|
|
228
247
|
### Removed
|
|
229
248
|
|
|
@@ -250,14 +269,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
250
269
|
- All CLI examples use zsh-safe quoting: `rails 'ai:tool[X]'` (brackets are glob patterns in zsh).
|
|
251
270
|
- README rewritten with real-world workflow examples, categorized tool table, MCP vs CLI showcase.
|
|
252
271
|
|
|
253
|
-
## [2.0.5]
|
|
272
|
+
## [2.0.5] — 2026-03-25
|
|
254
273
|
|
|
255
274
|
### Changed
|
|
256
275
|
|
|
257
276
|
- **Task-based MCP tool instructions** — all 6 serializers (Claude, Cursor, Copilot, Windsurf, OpenCode) rewritten from tool-first to task-first: "What are you trying to do?" → exact tool call. 7 task categories: understand a feature, trace a method, add a field, fix a controller, build a view, write tests, find code. Every AI agent now understands which tool to use for any task.
|
|
258
277
|
- **Concern detail:"full" bug fix** — `\b` after `?`/`!` prevented 13 of 15 method bodies from being extracted. All methods now show source code.
|
|
259
278
|
|
|
260
|
-
## [2.0.4]
|
|
279
|
+
## [2.0.4] — 2026-03-25
|
|
261
280
|
|
|
262
281
|
### Added
|
|
263
282
|
|
|
@@ -268,14 +287,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
268
287
|
- **analyze_feature: service test gaps** — checks services for missing test files, not just models/controllers/jobs.
|
|
269
288
|
- **All 6 serializers updated** — Claude, Cursor, Copilot, Windsurf, OpenCode all document trace mode, concern source, orphaned tables, inherited filters.
|
|
270
289
|
|
|
271
|
-
## [2.0.3]
|
|
290
|
+
## [2.0.3] — 2026-03-25
|
|
272
291
|
|
|
273
292
|
### Added
|
|
274
293
|
|
|
275
294
|
- **Trace mode 100%** — `match_type:"trace"` now shows 7 sections: definition with class/module context, source code, internal calls, sibling methods (same file), app callers with route chain hints, and test coverage (separated from app code). Zero follow-up calls needed.
|
|
276
295
|
- **README rewrite** — neuro marketing techniques: loss aversion hook, measured token savings table, trace output inline, architecture diagram. 456→261 lines.
|
|
277
296
|
|
|
278
|
-
## [2.0.2]
|
|
297
|
+
## [2.0.2] — 2026-03-25
|
|
279
298
|
|
|
280
299
|
### Added
|
|
281
300
|
|
|
@@ -293,7 +312,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
293
312
|
|
|
294
313
|
- **Documentation audit** — fixed max_tool_response_chars reference (120K→200K), added missing search_code params to GUIDE, added config.ai_tools to config reference.
|
|
295
314
|
|
|
296
|
-
## [2.0.1]
|
|
315
|
+
## [2.0.1] — 2026-03-25
|
|
297
316
|
|
|
298
317
|
### Fixed
|
|
299
318
|
|
|
@@ -304,7 +323,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
304
323
|
- **Issue #14** — `multi_db[:databases].keys` crash on Array fixed.
|
|
305
324
|
- **Search code NON_CODE_GLOBS** — excludes lock files, docs, CI configs, generated context from all searches.
|
|
306
325
|
|
|
307
|
-
## [2.0.0]
|
|
326
|
+
## [2.0.0] — 2026-03-24
|
|
308
327
|
|
|
309
328
|
### Added
|
|
310
329
|
|
|
@@ -349,14 +368,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
349
368
|
|
|
350
369
|
- **JS fallback validator false-positives** — escaped backslashes before string-closing quotes (`"path\\"`) no longer cause false bracket mismatch errors. Replaced `prev_char` check with proper `escaped` toggle flag.
|
|
351
370
|
|
|
352
|
-
## [1.3.1]
|
|
371
|
+
## [1.3.1] — 2026-03-23
|
|
353
372
|
|
|
354
373
|
### Fixed
|
|
355
374
|
|
|
356
375
|
- **Documentation audit** — updated tool count from 14 to 15 across README, GUIDE, CONTRIBUTING, server.json. Added `rails_get_design_system` documentation section to GUIDE.md. Updated SECURITY.md supported versions. Fixed spec count in CLAUDE.md. Added `rails_get_design_system` to README tool table. Updated `rails_analyze_feature` description to reflect full-stack discovery (services, jobs, views, Stimulus, tests, related models, env deps).
|
|
357
376
|
- **analyze_feature crash on complex models** — added type guards (`is_a?(Hash)`, `is_a?(Array)`) to all data access points preventing `no implicit conversion of Symbol into Integer` errors on models with many associations or complex data.
|
|
358
377
|
|
|
359
|
-
## [1.3.0]
|
|
378
|
+
## [1.3.0] — 2026-03-23
|
|
360
379
|
|
|
361
380
|
### Added
|
|
362
381
|
|
|
@@ -378,7 +397,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
378
397
|
- **Rules serializer methods cap raised to 20** (RS1) — uses introspector's pre-filtered methods directly instead of redundant re-filtering
|
|
379
398
|
- **oklch token noise filtered** (DS21) — complex color values (oklch, calc, var) hidden from summary, only shown in `detail:"full"`
|
|
380
399
|
|
|
381
|
-
## [1.2.1]
|
|
400
|
+
## [1.2.1] — 2026-03-23
|
|
382
401
|
|
|
383
402
|
### Fixed
|
|
384
403
|
|
|
@@ -392,7 +411,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
392
411
|
- **Column defaults shown in generated rules** — columns with non-nil defaults now show `(=value)` inline.
|
|
393
412
|
- **`analyze_feature` matches models by table name and underscore form** — `feature:"share"` now finds `CookShare` (via `cook_shares` table and `cook_share` underscore form), not just exact model name substring.
|
|
394
413
|
|
|
395
|
-
## [1.2.0]
|
|
414
|
+
## [1.2.0] — 2026-03-23
|
|
396
415
|
|
|
397
416
|
### Added
|
|
398
417
|
|
|
@@ -406,7 +425,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
406
425
|
- **"UI Patterns" section renamed to "Design System"** — richer content with color palette, typography, components, spacing conventions, interactive states, and design rules.
|
|
407
426
|
- **Design tokens consumed for the first time** — `context[:design_tokens]` data was previously extracted but never rendered. Now merged into design system output in all serializers and the new MCP tool.
|
|
408
427
|
|
|
409
|
-
## [1.1.1]
|
|
428
|
+
## [1.1.1] — 2026-03-23
|
|
410
429
|
|
|
411
430
|
### Added
|
|
412
431
|
|
|
@@ -417,13 +436,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
417
436
|
|
|
418
437
|
- **Tool count corrected from 13 to 14** across all serializers to reflect `rails_analyze_feature` added in v1.0.0.
|
|
419
438
|
|
|
420
|
-
## [1.1.0]
|
|
439
|
+
## [1.1.0] — 2026-03-23
|
|
421
440
|
|
|
422
441
|
### Changed
|
|
423
442
|
|
|
424
443
|
- **Default preset changed to `:full`** — all 28 introspectors now run by default, giving AI assistants richer context out of the box. Introspectors that don't find relevant data return empty hashes with zero overhead. Use `config.preset = :standard` for the previous 13-core default.
|
|
425
444
|
|
|
426
|
-
## [1.0.0]
|
|
445
|
+
## [1.0.0] — 2026-03-23
|
|
427
446
|
|
|
428
447
|
### Added
|
|
429
448
|
|
|
@@ -436,25 +455,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
436
455
|
|
|
437
456
|
- **LLM-optimized tool descriptions (all 14 tools)** — every description now follows "what it does / Use when: / key params" format so AI agents pick the right tool on first try.
|
|
438
457
|
|
|
439
|
-
## [0.15.10]
|
|
458
|
+
## [0.15.10] — 2026-03-23
|
|
440
459
|
|
|
441
460
|
### Changed
|
|
442
461
|
|
|
443
462
|
- **Gemspec description rewritten** — repositioned from feature list to value proposition: mental model, semantic validation, cross-file error detection.
|
|
444
463
|
|
|
445
|
-
## [0.15.9]
|
|
464
|
+
## [0.15.9] — 2026-03-23
|
|
446
465
|
|
|
447
466
|
### Added
|
|
448
467
|
|
|
449
468
|
- **Deep diagnostic checks in `rails ai:doctor`** — upgraded from 13 shallow file-existence checks to 20 deep checks: pending migrations, context file freshness, .mcp.json validation, introspector health (dry-runs each one), preset coverage (detects features not in preset), .env/.master.key gitignore check, auto_mount production warning, schema/view size vs limits.
|
|
450
469
|
|
|
451
|
-
## [0.15.8]
|
|
470
|
+
## [0.15.8] — 2026-03-23
|
|
452
471
|
|
|
453
472
|
### Added
|
|
454
473
|
|
|
455
474
|
- **Semantic validation (`level:"rails"`)** — `rails_validate` now supports `level:"rails"` for deep semantic checks beyond syntax: partial existence, route helper validity, column references vs schema, strong params vs schema columns, callback method existence, route-action consistency, `has_many` dependent options, missing FK indexes, and Stimulus controller file existence.
|
|
456
475
|
|
|
457
|
-
## [0.15.7]
|
|
476
|
+
## [0.15.7] — 2026-03-22
|
|
458
477
|
|
|
459
478
|
### Improved
|
|
460
479
|
|
|
@@ -466,7 +485,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
466
485
|
- **Concern test lookup** — `rails_get_test_info(model:"PlanLimitable")` searches concern test paths.
|
|
467
486
|
- **Controller flexible matching** — underscore-based normalization handles CamelCase, snake_case, and slash notation consistently.
|
|
468
487
|
|
|
469
|
-
## [0.15.6]
|
|
488
|
+
## [0.15.6] — 2026-03-22
|
|
470
489
|
|
|
471
490
|
### Added
|
|
472
491
|
|
|
@@ -482,7 +501,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
482
501
|
- **Concern methods inline** — shows public methods from concern source files (e.g. `PlanLimitable — can_cook?, increment_cook_count!`).
|
|
483
502
|
- **MCP tool error messages** — all tools now show available values on error/not-found for AI self-correction.
|
|
484
503
|
|
|
485
|
-
## [0.15.5]
|
|
504
|
+
## [0.15.5] — 2026-03-22
|
|
486
505
|
|
|
487
506
|
### Fixed
|
|
488
507
|
|
|
@@ -495,7 +514,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
495
514
|
- **Namespace test lookup** — supports `bonus/crises` format and flat test directories.
|
|
496
515
|
- **Empty inputs** — `near:""` in edit_context and `pattern:""` in search return helpful errors.
|
|
497
516
|
|
|
498
|
-
## [0.15.4]
|
|
517
|
+
## [0.15.4] — 2026-03-22
|
|
499
518
|
|
|
500
519
|
### Fixed
|
|
501
520
|
|
|
@@ -512,7 +531,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
512
531
|
|
|
513
532
|
- **Pagination on models, controllers, stimulus** — `limit`/`offset` params (default 50) with "end of results" hints. Prevents token bombs on large apps.
|
|
514
533
|
|
|
515
|
-
## [0.15.3]
|
|
534
|
+
## [0.15.3] — 2026-03-22
|
|
516
535
|
|
|
517
536
|
### Fixed
|
|
518
537
|
|
|
@@ -523,20 +542,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
523
542
|
|
|
524
543
|
- **Documentation** — updated all docs (README, CLAUDE.md, GUIDE.md, SECURITY.md, CHANGELOG, server.json, install generator) to match v0.15.x codebase. Fixed spec counts, file counts, preset counts, config options, and supported versions.
|
|
525
544
|
|
|
526
|
-
## [0.15.2]
|
|
545
|
+
## [0.15.2] — 2026-03-22
|
|
527
546
|
|
|
528
547
|
### Fixed
|
|
529
548
|
|
|
530
549
|
- **Test command detection** — Serializers now use detected test framework (minitest → `rails test`, rspec → `bundle exec rspec`) instead of hardcoding `bundle exec rspec`. Default is `rails test` (the Rails default). Contributed by @curi (PR #13).
|
|
531
550
|
|
|
532
|
-
## [0.15.1]
|
|
551
|
+
## [0.15.1] — 2026-03-22
|
|
533
552
|
|
|
534
553
|
### Fixed
|
|
535
554
|
|
|
536
555
|
- **Copilot serializer** — Show all model associations (not capped at 3), use human-readable architecture/pattern labels.
|
|
537
556
|
- **OpenCode rules serializer** — Filter framework controllers (Devise) from AGENTS.md output, show all associations, match `before_action` with `!`/`?` suffixes.
|
|
538
557
|
|
|
539
|
-
## [0.15.0]
|
|
558
|
+
## [0.15.0] — 2026-03-22
|
|
540
559
|
|
|
541
560
|
### Security
|
|
542
561
|
|
|
@@ -577,7 +596,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
577
596
|
- **Strong params body** — Action detail now shows the actual `permit(...)` call.
|
|
578
597
|
- **AR-generated methods** — Filter `build_*`, `*_ids=`, etc. from model instance methods.
|
|
579
598
|
|
|
580
|
-
## [0.14.0]
|
|
599
|
+
## [0.14.0] — 2026-03-20
|
|
581
600
|
|
|
582
601
|
### Fixed
|
|
583
602
|
|
|
@@ -595,7 +614,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
595
614
|
- **Stimulus dash/underscore normalization** — Both `weekly-chart` and `weekly_chart` work for controller lookup. Output shows HTML `data-controller` attribute.
|
|
596
615
|
- **Model public method signatures** — `rails_get_model_details(model: "Cook")` shows method names with params from source, stopping at private boundary.
|
|
597
616
|
|
|
598
|
-
## [0.13.1]
|
|
617
|
+
## [0.13.1] — 2026-03-20
|
|
599
618
|
|
|
600
619
|
### Changed
|
|
601
620
|
|
|
@@ -603,7 +622,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
603
622
|
- **Model details** — shows method signatures (name + parameters) instead of just method names.
|
|
604
623
|
- Removed unused demo files; fixed GUIDE.md preset tables.
|
|
605
624
|
|
|
606
|
-
## [0.13.0]
|
|
625
|
+
## [0.13.0] — 2026-03-20
|
|
607
626
|
|
|
608
627
|
### Added
|
|
609
628
|
|
|
@@ -624,7 +643,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
624
643
|
- ERB validation was broken due to shell quoting bug (backticks + nested quotes). Replaced with `Open3.capture2e("ruby", "-e", script, ARGV[0])`.
|
|
625
644
|
- Rubocop offenses in validate.rb (18 spacing issues auto-corrected).
|
|
626
645
|
|
|
627
|
-
## [0.12.0]
|
|
646
|
+
## [0.12.0] — 2026-03-20
|
|
628
647
|
|
|
629
648
|
### Added
|
|
630
649
|
|
|
@@ -657,7 +676,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
657
676
|
- Progress bars misclassified as badges.
|
|
658
677
|
- Input detection picking up alert divs instead of actual inputs.
|
|
659
678
|
|
|
660
|
-
## [0.11.0]
|
|
679
|
+
## [0.11.0] — 2026-03-20
|
|
661
680
|
|
|
662
681
|
### Added
|
|
663
682
|
|
|
@@ -665,20 +684,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
665
684
|
- **View partial structure** — `rails_get_view(detail: "standard")` shows model fields and helper methods used by each partial.
|
|
666
685
|
- **Schema column names** — `.claude/rules/rails-schema.md` shows key column names with types, foreign keys, indexes, and enum values. Keeps polymorphic `_type`, STI `type`, and soft-delete `deleted_at` columns.
|
|
667
686
|
|
|
668
|
-
## [0.10.2]
|
|
687
|
+
## [0.10.2] — 2026-03-20
|
|
669
688
|
|
|
670
689
|
### Security
|
|
671
690
|
|
|
672
691
|
- **ReDoS protection** — added regex timeout and converted greedy quantifiers to non-greedy across all pattern matching.
|
|
673
692
|
- **File size limits** — added size caps on parsed files to prevent memory exhaustion from oversized inputs.
|
|
674
693
|
|
|
675
|
-
## [0.10.1]
|
|
694
|
+
## [0.10.1] — 2026-03-19
|
|
676
695
|
|
|
677
696
|
### Changed
|
|
678
697
|
|
|
679
698
|
- Patch release for RubyGems republish (no code changes).
|
|
680
699
|
|
|
681
|
-
## [0.10.0]
|
|
700
|
+
## [0.10.0] — 2026-03-19
|
|
682
701
|
|
|
683
702
|
### Added
|
|
684
703
|
|
|
@@ -689,7 +708,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
689
708
|
- **ViewTemplateIntrospector** — new introspector that reads view file contents and extracts partial references and Stimulus data attributes.
|
|
690
709
|
- **Stimulus and view_templates in standard preset** — both introspectors now in `:standard` preset (11 introspectors, was 10).
|
|
691
710
|
|
|
692
|
-
## [0.9.0]
|
|
711
|
+
## [0.9.0] — 2026-03-19
|
|
693
712
|
|
|
694
713
|
### Added
|
|
695
714
|
|
|
@@ -702,7 +721,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
702
721
|
- **Removed `.cursorrules` root file** — Cursor officially deprecated `.cursorrules` in favor of `.cursor/rules/`. The `:cursor` format now generates only `.cursor/rules/*.mdc` split rules. The `rails-project.mdc` split rule (with `alwaysApply: true`) already provides the project overview.
|
|
703
722
|
- **License changed from AGPL-3.0 to MIT** — removes the copyleft blocker for SaaS and commercial projects.
|
|
704
723
|
|
|
705
|
-
## [0.8.5]
|
|
724
|
+
## [0.8.5] — 2026-03-19
|
|
706
725
|
|
|
707
726
|
### Fixed
|
|
708
727
|
|
|
@@ -715,27 +734,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
715
734
|
|
|
716
735
|
- **Standalone CLI documented** — the `rails-ai-context` executable (serve, context, inspect, watch, doctor, version) is now documented in README, GUIDE, and CLAUDE.md.
|
|
717
736
|
|
|
718
|
-
## [0.8.4]
|
|
737
|
+
## [0.8.4] — 2026-03-19
|
|
719
738
|
|
|
720
739
|
### Added
|
|
721
740
|
|
|
722
741
|
- **`structure.sql` support** — the schema introspector now parses `db/structure.sql` when no `db/schema.rb` exists and no database connection is available. Extracts tables, columns (with SQL type normalization), indexes, and foreign keys from PostgreSQL dump format. Prefers `schema.rb` when both exist.
|
|
723
742
|
- **Fingerprinter watches `db/structure.sql`** — file changes to `structure.sql` now trigger cache invalidation and live reload.
|
|
724
743
|
|
|
725
|
-
## [0.8.3]
|
|
744
|
+
## [0.8.3] — 2026-03-19
|
|
726
745
|
|
|
727
746
|
### Changed
|
|
728
747
|
|
|
729
748
|
- **License published to RubyGems** — v0.8.2 changed the license from MIT to AGPL-3.0 but the gem was not republished. This release ensures the AGPL-3.0 license is reflected on RubyGems.
|
|
730
749
|
|
|
731
|
-
## [0.8.2]
|
|
750
|
+
## [0.8.2] — 2026-03-19
|
|
732
751
|
|
|
733
752
|
### Changed
|
|
734
753
|
|
|
735
754
|
- **License** — changed from MIT to AGPL-3.0 to protect against unauthorized clones and ensure derivative works remain open source.
|
|
736
755
|
- **CI: auto-publish to MCP Registry** — the release workflow now automatically publishes to the MCP Registry via `mcp-publisher` with GitHub OIDC auth. No manual `mcp-publisher login` + `publish` needed.
|
|
737
756
|
|
|
738
|
-
## [0.8.1]
|
|
757
|
+
## [0.8.1] — 2026-03-19
|
|
739
758
|
|
|
740
759
|
### Added
|
|
741
760
|
|
|
@@ -746,14 +765,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
746
765
|
- **Live reload LoadError in HTTP mode** — when `live_reload = true` and the `listen` gem was missing, the `start_http` method's rescue block (for rackup fallback) swallowed the live reload error, producing a confusing rack error instead of the correct "listen gem required" message. The rescue is now scoped to the rackup require only.
|
|
747
766
|
- **Dangling @live_reload reference** — `@live_reload` was assigned before `start` was called. If `start` raised LoadError, the instance variable pointed to a non-functional object. Now only assigned after successful start.
|
|
748
767
|
|
|
749
|
-
## [0.8.0]
|
|
768
|
+
## [0.8.0] — 2026-03-19
|
|
750
769
|
|
|
751
770
|
### Added
|
|
752
771
|
|
|
753
772
|
- **MCP Live Reload** — when running `rails ai:serve`, file changes automatically invalidate tool caches and send MCP notifications (`notifications/resources/list_changed`) to connected AI clients. The AI's context stays fresh without manual re-querying. Requires the `listen` gem (enabled by default when available). Configurable via `config.live_reload` (`:auto`, `true`, `false`) and `config.live_reload_debounce` (default: 1.5s).
|
|
754
773
|
- **Live reload doctor check** — `rails ai:doctor` now warns when the `listen` gem is not installed.
|
|
755
774
|
|
|
756
|
-
## [0.7.1]
|
|
775
|
+
## [0.7.1] — 2026-03-19
|
|
757
776
|
|
|
758
777
|
### Added
|
|
759
778
|
|
|
@@ -765,7 +784,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
765
784
|
- **Schema version parsing** — versions with underscores (e.g. `2024_01_15_123456`) were truncated to the first digit group. Now captures the full version string.
|
|
766
785
|
- **Documentation** — updated README (detail levels, pagination, generated file tree, config options), SECURITY.md (supported versions), CONTRIBUTING.md (project structure), gemspec (post-install message), demo_script.sh (all 17 generated files).
|
|
767
786
|
|
|
768
|
-
## [0.7.0]
|
|
787
|
+
## [0.7.0] — 2026-03-19
|
|
769
788
|
|
|
770
789
|
### Added
|
|
771
790
|
|
|
@@ -788,7 +807,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
788
807
|
- All tools return pagination hints when results are truncated.
|
|
789
808
|
- `.windsurfrules` now uses dedicated `WindsurfSerializer` instead of sharing `RulesSerializer` with Cursor.
|
|
790
809
|
|
|
791
|
-
## [0.6.0]
|
|
810
|
+
## [0.6.0] — 2026-03-18
|
|
792
811
|
|
|
793
812
|
### Added
|
|
794
813
|
|
|
@@ -809,7 +828,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
809
828
|
- Doctor checks expanded from 11 to 12
|
|
810
829
|
- Static MCP resources expanded from 7 to 9
|
|
811
830
|
|
|
812
|
-
## [0.5.2]
|
|
831
|
+
## [0.5.2] — 2026-03-18
|
|
813
832
|
|
|
814
833
|
### Fixed
|
|
815
834
|
|
|
@@ -817,14 +836,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
817
836
|
- **Zeitwerk dependency** — Changed from open-ended `>= 2.6` to pessimistic `~> 2.6` per RubyGems best practices
|
|
818
837
|
- **Documentation** — Updated CONTRIBUTING.md, CHANGELOG.md, and CLAUDE.md to reflect Zeitwerk autoloading, introspector presets, and `.mcp.json` auto-discovery changes
|
|
819
838
|
|
|
820
|
-
## [0.5.1]
|
|
839
|
+
## [0.5.1] — 2026-03-18
|
|
821
840
|
|
|
822
841
|
### Fixed
|
|
823
842
|
|
|
824
843
|
- Documentation updates and animated demo GIF added to README.
|
|
825
844
|
- Zeitwerk autoloading fixes for edge cases.
|
|
826
845
|
|
|
827
|
-
## [0.5.0]
|
|
846
|
+
## [0.5.0] — 2026-03-18
|
|
828
847
|
|
|
829
848
|
### Added
|
|
830
849
|
|
|
@@ -845,7 +864,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
845
864
|
- Default introspectors reduced from 21 to 8 (`:standard` preset) for faster boot; use `config.preset = :full` for all 21
|
|
846
865
|
- New files auto-loaded by Zeitwerk — no manual `require_relative` needed when adding introspectors or tools
|
|
847
866
|
|
|
848
|
-
## [0.4.0]
|
|
867
|
+
## [0.4.0] — 2026-03-18
|
|
849
868
|
|
|
850
869
|
### Added
|
|
851
870
|
|
|
@@ -882,7 +901,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
882
901
|
- Doctor checks expanded from 7 to 11
|
|
883
902
|
- Test suite expanded from 149 to 247 examples with exact value assertions
|
|
884
903
|
|
|
885
|
-
## [0.3.0]
|
|
904
|
+
## [0.3.0] — 2026-03-18
|
|
886
905
|
|
|
887
906
|
### Added
|
|
888
907
|
|
|
@@ -907,7 +926,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
907
926
|
- `generate_context` now returns `{ written: [], skipped: [] }` instead of flat array
|
|
908
927
|
- Default introspectors now include `:stimulus`
|
|
909
928
|
|
|
910
|
-
## [0.2.0]
|
|
929
|
+
## [0.2.0] — 2026-03-18
|
|
911
930
|
|
|
912
931
|
### Added
|
|
913
932
|
|
|
@@ -921,7 +940,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
921
940
|
- `rails ai:context_for[claude]` failing in zsh due to bracket glob interpretation
|
|
922
941
|
- Double introspection in `ai:context` and `ai:context_for` tasks (removed unused `RailsAiContext.introspect` calls)
|
|
923
942
|
|
|
924
|
-
## [0.1.0]
|
|
943
|
+
## [0.1.0] — 2026-03-18
|
|
925
944
|
|
|
926
945
|
### Added
|
|
927
946
|
|
data/CLAUDE.md
CHANGED
|
@@ -34,7 +34,7 @@ structure to AI assistants via the Model Context Protocol (MCP).
|
|
|
34
34
|
7. **Diff-aware** — context regeneration skips unchanged files
|
|
35
35
|
8. **Per-assistant serializers** — each AI tool gets tailored output format
|
|
36
36
|
9. **Zeitwerk autoloading** — files loaded on-demand, not all upfront
|
|
37
|
-
10. **Introspector presets** — `:full` (
|
|
37
|
+
10. **Introspector presets** — `:full` (33) default, `:standard` (19) for lightweight usage
|
|
38
38
|
11. **MCP auto-discovery** — `.mcp.json` generated by install generator
|
|
39
39
|
12. **Compact by default** — context files ≤150 lines, MCP tools use `detail` parameter (summary/standard/full)
|
|
40
40
|
13. **Per-tool split rules** — `.claude/rules/`, `.cursor/rules/`, `.github/instructions/`
|