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/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/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/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/middleware/rate_limit.rb,
lib/rosett_ai/mcp/tools/provenance_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/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/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/tools/config_status_tool.rb,
lib/rosett_ai/provenance/trailer_generator.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/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/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/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, 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, StructuredLogger, ToolingError, ValidationError, VersionConsistencyChecker, WorkflowError
Constant Summary collapse
- VERSION =
'1.2.0'
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.yml+ settings.
-
.reset_config!
Resets all memoized singletons.
-
.root ⇒ Pathname
Project root directory (where the gemspec lives).
-
.setup_i18n(locale: nil)
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.
126 127 128 |
# File 'lib/rosett_ai.rb', line 126 def conf_root context.conf_root end |
.config ⇒ RosettAi::Configuration
Global Configuration instance (settings.json hierarchy).
133 134 135 |
# File 'lib/rosett_ai.rb', line 133 def config @config ||= Configuration.new end |
.context ⇒ RosettAi::ProjectContext
Active project context (detects +.rosett-ai/+ marker).
119 120 121 |
# File 'lib/rosett_ai.rb', line 119 def context @context ||= ProjectContext.new end |
.loader ⇒ Zeitwerk::Loader
Zeitwerk autoloader instance. Sets up inflections, ignores deprecated stubs and optional gems, then calls +setup+.
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
# File 'lib/rosett_ai.rb', line 93 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+.
172 173 174 |
# File 'lib/rosett_ai.rb', line 172 def logger @logger ||= StructuredLogger.new end |
.paths ⇒ RosettAi::PathResolver
Global PathResolver instance for filesystem path lookups.
140 141 142 |
# File 'lib/rosett_ai.rb', line 140 def paths @paths ||= PathResolver.new end |
.rai_config ⇒ RosettAi::RaiConfig
Loaded +~/.config/rosett-ai/config.yml+ settings.
147 148 149 |
# File 'lib/rosett_ai.rb', line 147 def rai_config @rai_config ||= RaiConfig.load end |
.reset_config!
This method returns an undefined value.
Resets all memoized singletons. Intended for test isolation.
179 180 181 182 183 184 185 |
# File 'lib/rosett_ai.rb', line 179 def reset_config! @config = nil @paths = nil @rai_config = nil @logger = nil @context = nil end |
.root ⇒ Pathname
Project root directory (where the gemspec lives).
85 86 87 |
# File 'lib/rosett_ai.rb', line 85 def root @root ||= Pathname.new(File.('..', __dir__)) end |
.setup_i18n(locale: nil)
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).
156 157 158 159 160 161 162 163 164 165 166 |
# File 'lib/rosett_ai.rb', line 156 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 |