Module: RosettAi
- Defined in:
- lib/rosett_ai.rb,
lib/rosett_ai/doctor.rb,
lib/rosett_ai/ui/kde.rb,
lib/rosett_ai/ui/qt6.rb,
lib/rosett_ai/ui/tui.rb,
lib/rosett_ai/ui/base.rb,
lib/rosett_ai/ui/gtk4.rb,
lib/rosett_ai/version.rb,
lib/rosett_ai/profiler.rb,
lib/rosett_ai/thor/cli.rb,
lib/rosett_ai/telemetry.rb,
lib/rosett_ai/exit_codes.rb,
lib/rosett_ai/formatting.rb,
lib/rosett_ai/mcp/server.rb,
lib/rosett_ai/rai_config.rb,
lib/rosett_ai/deprecation.rb,
lib/rosett_ai/mcp/keyfile.rb,
lib/rosett_ai/mcp/plugins.rb,
lib/rosett_ai/ui/registry.rb,
lib/rosett_ai/yaml_loader.rb,
lib/rosett_ai/dbus/service.rb,
lib/rosett_ai/doctor/check.rb,
lib/rosett_ai/comply/runner.rb,
lib/rosett_ai/configuration.rb,
lib/rosett_ai/error_handler.rb,
lib/rosett_ai/feature_flags.rb,
lib/rosett_ai/path_resolver.rb,
lib/rosett_ai/ui/tty_helper.rb,
lib/rosett_ai/config/key_map.rb,
lib/rosett_ai/licensing/tier.rb,
lib/rosett_ai/mcp/governance.rb,
lib/rosett_ai/mcp/key_hasher.rb,
lib/rosett_ai/policy/auditor.rb,
lib/rosett_ai/text_sanitizer.rb,
lib/rosett_ai/thor/tasks/mcp.rb,
lib/rosett_ai/comply/reporter.rb,
lib/rosett_ai/config/compiler.rb,
lib/rosett_ai/project/manager.rb,
lib/rosett_ai/project_context.rb,
lib/rosett_ai/retrofit/engine.rb,
lib/rosett_ai/thor/tasks/dbus.rb,
lib/rosett_ai/thor/tasks/init.rb,
lib/rosett_ai/workflow/engine.rb,
lib/rosett_ai/compiler/backend.rb,
lib/rosett_ai/desktop/gtk4_app.rb,
lib/rosett_ai/engines/detector.rb,
lib/rosett_ai/engines/registry.rb,
lib/rosett_ai/init/file_copier.rb,
lib/rosett_ai/mcp/instructions.rb,
lib/rosett_ai/plugins/contract.rb,
lib/rosett_ai/plugins/registry.rb,
lib/rosett_ai/policy/deny_list.rb,
lib/rosett_ai/policy/validator.rb,
lib/rosett_ai/provenance/entry.rb,
lib/rosett_ai/provenance/store.rb,
lib/rosett_ai/quorum/collector.rb,
lib/rosett_ai/retrofit/scanner.rb,
lib/rosett_ai/secrets_resolver.rb,
lib/rosett_ai/thor/tasks/adopt.rb,
lib/rosett_ai/thor/tasks/build.rb,
lib/rosett_ai/thor/tasks/hooks.rb,
lib/rosett_ai/workflow/manager.rb,
lib/rosett_ai/backup/compressor.rb,
lib/rosett_ai/behaviour/manager.rb,
lib/rosett_ai/dbus/rate_limiter.rb,
lib/rosett_ai/i18n/utf8_checker.rb,
lib/rosett_ai/mcp/admin/auditor.rb,
lib/rosett_ai/provenance/source.rb,
lib/rosett_ai/quorum/comparator.rb,
lib/rosett_ai/quorum/dispatcher.rb,
lib/rosett_ai/structured_logger.rb,
lib/rosett_ai/thor/tasks/backup.rb,
lib/rosett_ai/thor/tasks/comply.rb,
lib/rosett_ai/thor/tasks/config.rb,
lib/rosett_ai/thor/tasks/design.rb,
lib/rosett_ai/thor/tasks/doctor.rb,
lib/rosett_ai/ui/accessible_tui.rb,
lib/rosett_ai/backup/destination.rb,
lib/rosett_ai/desktop/gui_logger.rb,
lib/rosett_ai/init/mcp_registrar.rb,
lib/rosett_ai/mcp/admin/registry.rb,
lib/rosett_ai/migration/detector.rb,
lib/rosett_ai/provenance/tracker.rb,
lib/rosett_ai/telemetry/provider.rb,
lib/rosett_ai/telemetry/reporter.rb,
lib/rosett_ai/thor/tasks/compile.rb,
lib/rosett_ai/thor/tasks/content.rb,
lib/rosett_ai/thor/tasks/desktop.rb,
lib/rosett_ai/thor/tasks/engines.rb,
lib/rosett_ai/thor/tasks/license.rb,
lib/rosett_ai/thor/tasks/migrate.rb,
lib/rosett_ai/thor/tasks/plugins.rb,
lib/rosett_ai/thor/tasks/project.rb,
lib/rosett_ai/thor/tasks/release.rb,
lib/rosett_ai/thor/tasks/tooling.rb,
lib/rosett_ai/workflow/audit_log.rb,
lib/rosett_ai/ai_config/validator.rb,
lib/rosett_ai/config/scope_router.rb,
lib/rosett_ai/desktop/dbus_client.rb,
lib/rosett_ai/git_hooks/installer.rb,
lib/rosett_ai/mcp/middleware/cors.rb,
lib/rosett_ai/mcp/response_helper.rb,
lib/rosett_ai/mcp/security_logger.rb,
lib/rosett_ai/mcp/tools/init_tool.rb,
lib/rosett_ai/package_manager/apt.rb,
lib/rosett_ai/thor/tasks/retrofit.rb,
lib/rosett_ai/thor/tasks/validate.rb,
lib/rosett_ai/thor/tasks/workflow.rb,
lib/rosett_ai/adopter/rule_adopter.rb,
lib/rosett_ai/completion/generator.rb,
lib/rosett_ai/composition/composer.rb,
lib/rosett_ai/composition/lockfile.rb,
lib/rosett_ai/i18n/locale_resolver.rb,
lib/rosett_ai/mcp/tools/adopt_tool.rb,
lib/rosett_ai/package_manager/base.rb,
lib/rosett_ai/plugins/gui_contract.rb,
lib/rosett_ai/plugins/mcp_contract.rb,
lib/rosett_ai/project/sync_manager.rb,
lib/rosett_ai/provenance/validator.rb,
lib/rosett_ai/retrofit/base_parser.rb,
lib/rosett_ai/thor/tasks/behaviour.rb,
lib/rosett_ai/workflow/step_runner.rb,
lib/rosett_ai/config/compile_result.rb,
lib/rosett_ai/content/pack_manifest.rb,
lib/rosett_ai/content/pack_registry.rb,
lib/rosett_ai/content_packs/manager.rb,
lib/rosett_ai/licensing/license_key.rb,
lib/rosett_ai/mcp/tools/backup_tool.rb,
lib/rosett_ai/mcp/tools/comply_tool.rb,
lib/rosett_ai/mcp/tools/doctor_tool.rb,
lib/rosett_ai/policy/tier_hierarchy.rb,
lib/rosett_ai/telemetry/log_rotator.rb,
lib/rosett_ai/thor/tasks/completion.rb,
lib/rosett_ai/thor/tasks/provenance.rb,
lib/rosett_ai/ai_config/model_router.rb,
lib/rosett_ai/config/secret_resolver.rb,
lib/rosett_ai/content/content_client.rb,
lib/rosett_ai/content/pack_installer.rb,
lib/rosett_ai/dbus/manager_interface.rb,
lib/rosett_ai/init/directory_builder.rb,
lib/rosett_ai/init/local_initializer.rb,
lib/rosett_ai/mcp/tools/compile_tool.rb,
lib/rosett_ai/mcp/tools/content_tool.rb,
lib/rosett_ai/mcp/tools/engines_tool.rb,
lib/rosett_ai/mcp/tools/project_tool.rb,
lib/rosett_ai/mcp/tools/tooling_tool.rb,
lib/rosett_ai/migration/xdg_migrator.rb,
lib/rosett_ai/policy/opt_out_scanner.rb,
lib/rosett_ai/policy/policy_compiler.rb,
lib/rosett_ai/policy/protected_files.rb,
lib/rosett_ai/project/drift_detector.rb,
lib/rosett_ai/provenance/file_source.rb,
lib/rosett_ai/ai_config/cost_controls.rb,
lib/rosett_ai/compiler/target_profile.rb,
lib/rosett_ai/gem_consistency_checker.rb,
lib/rosett_ai/init/config_file_writer.rb,
lib/rosett_ai/init/global_initializer.rb,
lib/rosett_ai/licensing/license_store.rb,
lib/rosett_ai/mcp/tools/retrofit_tool.rb,
lib/rosett_ai/mcp/tools/validate_tool.rb,
lib/rosett_ai/mcp/tools/workflow_tool.rb,
lib/rosett_ai/plugins/engine_contract.rb,
lib/rosett_ai/quorum/strategies/adopt.rb,
lib/rosett_ai/session_hooks/installer.rb,
lib/rosett_ai/tooling/version_checker.rb,
lib/rosett_ai/workflow/steps/rai_step.rb,
lib/rosett_ai/ai_config/context_window.rb,
lib/rosett_ai/ai_config/fallback_chain.rb,
lib/rosett_ai/compiler/compiled_output.rb,
lib/rosett_ai/compiler/locale_compiler.rb,
lib/rosett_ai/dbus/compositor_detector.rb,
lib/rosett_ai/dbus/focus_adapters/base.rb,
lib/rosett_ai/desktop/gtk4_preferences.rb,
lib/rosett_ai/documentation/translator.rb,
lib/rosett_ai/git_hooks/chain_detector.rb,
lib/rosett_ai/init/project_initializer.rb,
lib/rosett_ai/mcp/admin/health_checker.rb,
lib/rosett_ai/mcp/http_security_config.rb,
lib/rosett_ai/packaging/variant_config.rb,
lib/rosett_ai/project/template_applier.rb,
lib/rosett_ai/retrofit/secret_detector.rb,
lib/rosett_ai/smart_feedback/suggester.rb,
lib/rosett_ai/thor/tasks/documentation.rb,
lib/rosett_ai/adopter/executor_resolver.rb,
lib/rosett_ai/ai_config/config_compiler.rb,
lib/rosett_ai/config/domain_transformer.rb,
lib/rosett_ai/mcp/enforcement/validator.rb,
lib/rosett_ai/mcp/middleware/rate_limit.rb,
lib/rosett_ai/mcp/tools/provenance_tool.rb,
lib/rosett_ai/mcp/tools/schema_get_tool.rb,
lib/rosett_ai/tooling/ci_yaml_validator.rb,
lib/rosett_ai/workflow/schema_validator.rb,
lib/rosett_ai/workflow/steps/shell_step.rb,
lib/rosett_ai/composition/merge_strategy.rb,
lib/rosett_ai/composition/scope_resolver.rb,
lib/rosett_ai/git_hooks/script_generator.rb,
lib/rosett_ai/mcp/admin/schema_validator.rb,
lib/rosett_ai/mcp/settings/trust_manager.rb,
lib/rosett_ai/mcp/tools/design_list_tool.rb,
lib/rosett_ai/mcp/tools/design_show_tool.rb,
lib/rosett_ai/mcp/tools/rule_search_tool.rb,
lib/rosett_ai/workflow/steps/prompt_step.rb,
lib/rosett_ai/authorship/review_validator.rb,
lib/rosett_ai/compiler/behaviour_compiler.rb,
lib/rosett_ai/compiler/capability_checker.rb,
lib/rosett_ai/comply/checkers/cra_checker.rb,
lib/rosett_ai/composition/priority_sorter.rb,
lib/rosett_ai/licensing/license_validator.rb,
lib/rosett_ai/mcp/middleware/content_type.rb,
lib/rosett_ai/mcp/middleware/request_size.rb,
lib/rosett_ai/mcp/tools/hook_install_tool.rb,
lib/rosett_ai/mcp/tools/hook_preview_tool.rb,
lib/rosett_ai/mcp/tools/hooks_status_tool.rb,
lib/rosett_ai/package_manager/gem_backend.rb,
lib/rosett_ai/telemetry/json_lines_writer.rb,
lib/rosett_ai/validators/design_validator.rb,
lib/rosett_ai/validators/schema_validator.rb,
lib/rosett_ai/version_consistency_checker.rb,
lib/rosett_ai/authorship/disclosure_policy.rb,
lib/rosett_ai/authorship/trailer_generator.rb,
lib/rosett_ai/dbus/focus_monitor_interface.rb,
lib/rosett_ai/engines/base_config_compiler.rb,
lib/rosett_ai/mcp/resources/hooks_resource.rb,
lib/rosett_ai/mcp/resources/rules_resource.rb,
lib/rosett_ai/mcp/tools/config_status_tool.rb,
lib/rosett_ai/mcp/tools/context_query_tool.rb,
lib/rosett_ai/provenance/trailer_generator.rb,
lib/rosett_ai/thor/tasks/backfill_user_yml.rb,
lib/rosett_ai/validators/tooling_validator.rb,
lib/rosett_ai/compiler/compilation_pipeline.rb,
lib/rosett_ai/composition/conflict_detector.rb,
lib/rosett_ai/dbus/plugin_manager_interface.rb,
lib/rosett_ai/mcp/middleware/authentication.rb,
lib/rosett_ai/mcp/prompts/compliance_prompt.rb,
lib/rosett_ai/mcp/prompts/validation_prompt.rb,
lib/rosett_ai/mcp/resources/config_resource.rb,
lib/rosett_ai/mcp/resources/design_resource.rb,
lib/rosett_ai/mcp/resources/schema_resource.rb,
lib/rosett_ai/mcp/settings/server_installer.rb,
lib/rosett_ai/mcp/tools/behaviour_list_tool.rb,
lib/rosett_ai/mcp/tools/behaviour_show_tool.rb,
lib/rosett_ai/mcp/tools/compile_status_tool.rb,
lib/rosett_ai/mcp/tools/config_compile_tool.rb,
lib/rosett_ai/mcp/tools/license_status_tool.rb,
lib/rosett_ai/retrofit/round_trip_validator.rb,
lib/rosett_ai/composition/composition_result.rb,
lib/rosett_ai/config/masking_secret_resolver.rb,
lib/rosett_ai/dbus/focus_adapters/i3_adapter.rb,
lib/rosett_ai/dbus/status_notifier_interface.rb,
lib/rosett_ai/mcp/enforcement/hook_generator.rb,
lib/rosett_ai/mcp/prompts/compilation_prompt.rb,
lib/rosett_ai/mcp/prompts/diagnostics_prompt.rb,
lib/rosett_ai/migration/nncc_config_migrator.rb,
lib/rosett_ai/retrofit/parsers/claude_parser.rb,
lib/rosett_ai/retrofit/parsers/cursor_parser.rb,
lib/rosett_ai/smart_feedback/thor_middleware.rb,
lib/rosett_ai/validators/behaviour_validator.rb,
lib/rosett_ai/authorship/attribution_compiler.rb,
lib/rosett_ai/completion/shells/zsh_generator.rb,
lib/rosett_ai/comply/checkers/license_checker.rb,
lib/rosett_ai/dbus/focus_adapters/x11_adapter.rb,
lib/rosett_ai/mcp/tools/behaviour_manage_tool.rb,
lib/rosett_ai/mcp/tools/provenance_write_tool.rb,
lib/rosett_ai/mcp/tools/workflow_execute_tool.rb,
lib/rosett_ai/migration/nncc_project_migrator.rb,
lib/rosett_ai/adopter/local_analysis_collector.rb,
lib/rosett_ai/compiler/backends/claude_backend.rb,
lib/rosett_ai/completion/shells/bash_generator.rb,
lib/rosett_ai/completion/shells/fish_generator.rb,
lib/rosett_ai/dbus/focus_adapters/kwin_adapter.rb,
lib/rosett_ai/doctor/checks/cache_health_check.rb,
lib/rosett_ai/doctor/checks/ruby_version_check.rb,
lib/rosett_ai/documentation/reference_compiler.rb,
lib/rosett_ai/mcp/middleware/origin_validation.rb,
lib/rosett_ai/mcp/resources/behaviour_resource.rb,
lib/rosett_ai/mcp/tools/behaviour_display_tool.rb,
lib/rosett_ai/compiler/backends/generic_backend.rb,
lib/rosett_ai/dbus/focus_adapters/gnome_adapter.rb,
lib/rosett_ai/mcp/resources/provenance_resource.rb,
lib/rosett_ai/retrofit/parsers/agents_md_parser.rb,
lib/rosett_ai/doctor/checks/gem_dependency_check.rb,
lib/rosett_ai/compiler/backends/agents_md_backend.rb,
lib/rosett_ai/comply/checkers/spdx_header_checker.rb,
lib/rosett_ai/doctor/checks/file_permission_check.rb,
lib/rosett_ai/doctor/checks/stale_home_nncc_check.rb,
lib/rosett_ai/mcp/tools/documentation_status_tool.rb,
lib/rosett_ai/dbus/focus_adapters/hyprland_adapter.rb,
lib/rosett_ai/doctor/checks/engine_detection_check.rb,
lib/rosett_ai/doctor/checks/dbus_availability_check.rb,
lib/rosett_ai/doctor/checks/stale_config_nncc_check.rb,
lib/rosett_ai/composition/circular_dependency_detector.rb,
lib/rosett_ai/gitlab/validators/supplementary_gitlab_ci_yaml_validator.rb
Overview
SPDX-License-Identifier: GPL-3.0-only Copyright (C) 2026 Hugo Antonio Sepulveda Manriquez / NeatNerds
Defined Under Namespace
Modules: Adopter, AiConfig, Authorship, Backup, Behaviour, Compiler, Completion, Comply, Composition, Config, Content, ContentPacks, DBus, Deprecation, Desktop, Doctor, Documentation, Engines, ExitCodes, FeatureFlags, Formatting, GitHooks, Gitlab, I18n, Init, Licensing, Mcp, Migration, PackageManager, Packaging, Plugins, Policy, Project, Provenance, Quorum, Retrofit, SecretsResolver, SessionHooks, SmartFeedback, Telemetry, TextSanitizer, Thor, Tooling, Ui, Validators, Workflow, YamlLoader Classes: AdoptError, AiConfigError, AuthorshipError, BackupError, BehaviourError, BuildError, CompileError, ComplianceError, CompositionError, Configuration, ConfigurationError, ContentError, DesignError, DoctorError, DocumentationError, Error, ErrorHandler, FeatureFlagError, GemConsistencyChecker, GitHooksError, InitError, LicenseError, McpError, PathResolver, PolicyError, Profiler, ProjectContext, ProjectError, ProvenanceError, RaiConfig, ReleaseError, RetrofitError, SessionHooksError, StructuredLogger, ToolingError, ValidationError, VersionConsistencyChecker, WorkflowError
Constant Summary collapse
- VERSION =
Returns Current version of the rosett-ai gem.
'1.5.8'
Error hierarchy collapse
-
.conf_root ⇒ Pathname
Configuration root directory, scoped to the active project if present.
-
.config ⇒ RosettAi::Configuration
Global Configuration instance (settings.json hierarchy).
-
.context ⇒ RosettAi::ProjectContext
Active project context (detects
.rosett-ai/marker). -
.loader ⇒ Zeitwerk::Loader
Zeitwerk autoloader instance.
-
.logger ⇒ RosettAi::StructuredLogger
Structured logger with correlation IDs and JSON/text output.
-
.paths ⇒ RosettAi::PathResolver
Global PathResolver instance for filesystem path lookups.
-
.rai_config ⇒ RosettAi::RaiConfig
Loaded
~/.config/rosett-ai/config.ymlsettings. -
.reset_config! ⇒ void
Resets all memoized singletons.
-
.root ⇒ Pathname
Project root directory (where the gemspec lives).
-
.setup_i18n(locale: nil) ⇒ void
Initializes I18n with rosett-ai locale files, resolves the active locale, and configures fallback chains (e.g. nl_BE -> nl -> en).
Class Method Details
.conf_root ⇒ Pathname
Configuration root directory, scoped to the active project if present.
128 129 130 |
# File 'lib/rosett_ai.rb', line 128 def conf_root context.conf_root end |
.config ⇒ RosettAi::Configuration
Global Configuration instance (settings.json hierarchy).
135 136 137 |
# File 'lib/rosett_ai.rb', line 135 def config @config ||= Configuration.new end |
.context ⇒ RosettAi::ProjectContext
Active project context (detects .rosett-ai/ marker).
121 122 123 |
# File 'lib/rosett_ai.rb', line 121 def context @context ||= ProjectContext.new end |
.loader ⇒ Zeitwerk::Loader
Zeitwerk autoloader instance. Sets up inflections, ignores
deprecated stubs and optional gems, then calls setup.
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
# File 'lib/rosett_ai.rb', line 95 def loader @loader ||= begin loader = Zeitwerk::Loader.for_gem loader.inflector.inflect('cli' => 'CLI', 'dbus' => 'DBus') loader.ignore("#{__dir__}/rubocop") loader.ignore("#{__dir__}/scripts") unless gem_available?('ruby-dbus') # Ignore D-Bus interface/service files that require ruby-dbus, # but keep pure-Ruby utilities (e.g. RateLimiter) available. ['service', 'compositor_detector', 'focus_monitor_interface', 'manager_interface', 'plugin_manager_interface', 'status_notifier_interface'].each do |f| loader.ignore("#{__dir__}/rosett-ai/dbus/#{f}.rb") end loader.ignore("#{__dir__}/rosett-ai/dbus/focus_adapters/gnome_adapter.rb") loader.ignore("#{__dir__}/rosett-ai/dbus/focus_adapters/kwin_adapter.rb") loader.ignore("#{__dir__}/rosett-ai/desktop") end ignore_deprecated_stubs(loader) loader.setup loader end end |
.logger ⇒ RosettAi::StructuredLogger
Structured logger with correlation IDs and JSON/text output.
Level controlled by RAI_LOG_LEVEL, format by RAI_LOG_FORMAT.
174 175 176 |
# File 'lib/rosett_ai.rb', line 174 def logger @logger ||= StructuredLogger.new end |
.paths ⇒ RosettAi::PathResolver
Global PathResolver instance for filesystem path lookups.
142 143 144 |
# File 'lib/rosett_ai.rb', line 142 def paths @paths ||= PathResolver.new end |
.rai_config ⇒ RosettAi::RaiConfig
Loaded ~/.config/rosett-ai/config.yml settings.
149 150 151 |
# File 'lib/rosett_ai.rb', line 149 def rai_config @rai_config ||= RaiConfig.load end |
.reset_config! ⇒ void
This method returns an undefined value.
Resets all memoized singletons. Intended for test isolation.
181 182 183 184 185 186 187 |
# File 'lib/rosett_ai.rb', line 181 def reset_config! @config = nil @paths = nil @rai_config = nil @logger = nil @context = nil end |
.root ⇒ Pathname
Project root directory (where the gemspec lives).
87 88 89 |
# File 'lib/rosett_ai.rb', line 87 def root @root ||= Pathname.new(File.('..', __dir__)) end |
.setup_i18n(locale: nil) ⇒ void
This method returns an undefined value.
Initializes I18n with rosett-ai locale files, resolves the active locale, and configures fallback chains (e.g. nl_BE -> nl -> en).
158 159 160 161 162 163 164 165 166 167 168 |
# File 'lib/rosett_ai.rb', line 158 def setup_i18n(locale: nil) require 'i18n/backend/fallbacks' ::I18n::Backend::Simple.include(::I18n::Backend::Fallbacks) ::I18n.load_path += Dir[root.join('locales', '*.yml')] ::I18n.default_locale = :en ::I18n.enforce_available_locales = false resolved_locale = resolve_locale(locale) ::I18n.locale = resolved_locale.to_sym end |