sm-configure — SourceMonitor configuration sm-configure, source_monitor, community, SourceMonitor configuration, ide skills, sm-configure install, debugging sm-configure issues, environment-specific overrides in sm-configure, Claude Code, Cursor, Windsurf

v1.0.0
GitHub

About this Skill

Ideal for Ruby-based AI Agents requiring advanced SourceMonitor configuration and debugging capabilities. sm-configure is a configuration entry point for SourceMonitor, providing a comprehensive reference for configuring the engine via the SourceMonitor.configure block.

Features

Configures SourceMonitor via the `SourceMonitor.configure` block
Supports environment-specific overrides in `config/initializers/source_monitor.rb`
Provides a comprehensive reference for understanding configuration options
Enables debugging of configuration-related issues
Allows for adding or modifying settings in the initializer file

# Core Topics

dchuk dchuk
[0]
[0]
Updated: 3/8/2026

Agent Capability Analysis

The sm-configure skill by dchuk is an open-source community AI agent skill for Claude Code and other IDE workflows, helping agents execute tasks with better context, repeatability, and domain-specific guidance. Optimized for SourceMonitor configuration, sm-configure install, debugging sm-configure issues.

Ideal Agent Persona

Ideal for Ruby-based AI Agents requiring advanced SourceMonitor configuration and debugging capabilities.

Core Value

Empowers agents to customize SourceMonitor settings, debug configuration-related issues, and set up environment-specific overrides using the `SourceMonitor.configure` DSL, leveraging Ruby and SourceMonitor libraries.

Capabilities Granted for sm-configure

Configuring SourceMonitor for environment-specific settings
Debugging configuration-related issues in Ruby applications
Modifying settings in `config/initializers/source_monitor.rb`

! Prerequisites & Limits

  • Requires Ruby and SourceMonitor setup
  • Limited to SourceMonitor configuration and debugging
Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

sm-configure

Install sm-configure, an AI agent skill for AI agent workflows and automation. Works with Claude Code, Cursor, and Windsurf with one-command setup.

SKILL.md
Readonly

sm-configure: Engine Configuration DSL

Comprehensive reference for configuring SourceMonitor via SourceMonitor.configure.

When to Use

  • Adding or modifying settings in config/initializers/source_monitor.rb
  • Understanding what configuration options are available
  • Debugging configuration-related issues
  • Setting up environment-specific overrides

Configuration Entry Point

All configuration lives inside the configure block in the host app's initializer:

ruby
1SourceMonitor.configure do |config| 2 # settings here 3end

After the block executes, ModelExtensions.reload! runs automatically to apply any model changes. Restart web and worker processes after changes.

Configuration Sections

The config object (SourceMonitor::Configuration) has 13 sub-sections plus top-level queue/job settings:

SectionAccessorClass
Top-levelconfig.*Configuration
HTTPconfig.httpHTTPSettings
Fetchingconfig.fetchingFetchingSettings
Healthconfig.healthHealthSettings
Scrapersconfig.scrapersScraperRegistry
Retentionconfig.retentionRetentionSettings
Scrapingconfig.scrapingScrapingSettings
Eventsconfig.eventsEvents
Modelsconfig.modelsModels
Realtimeconfig.realtimeRealtimeSettings
Authenticationconfig.authenticationAuthenticationSettings
Imagesconfig.imagesImagesSettings
Faviconsconfig.faviconsFaviconsSettings

See reference/configuration-reference.md for every setting with types, defaults, and examples.

Quick Examples

Queue Configuration

ruby
1config.queue_namespace = "source_monitor" 2config.fetch_queue_name = "source_monitor_fetch" 3config.fetch_queue_concurrency = 4

HTTP Client

ruby
1config.http.timeout = 30 2config.http.proxy = ENV["HTTP_PROXY"] 3config.http.retry_max = 3

Authentication (Devise)

ruby
1config.authentication.authenticate_with :authenticate_user! 2config.authentication.authorize_with ->(c) { c.current_user&.admin? }

Image Downloads (Active Storage)

ruby
1config.images.download_to_active_storage = true 2config.images.max_download_size = 5 * 1024 * 1024 # 5 MB 3config.images.download_timeout = 15 4config.images.allowed_content_types = %w[image/jpeg image/png image/webp]

Events

ruby
1config.events.after_item_created { |e| Notifier.new_item(e.item) } 2config.events.register_item_processor ->(ctx) { Indexer.index(ctx.item) }

Model Extensions

ruby
1config.models.table_name_prefix = "sm_" 2config.models.source.include_concern "MyApp::SourceExtension" 3config.models.item.validate :custom_check

Favicons (Active Storage)

ruby
1config.favicons.enabled = true 2config.favicons.fetch_timeout = 10 3config.favicons.max_download_size = 512 * 1024 # 512 KB 4config.favicons.retry_cooldown_days = 14

Realtime

ruby
1config.realtime.adapter = :redis 2config.realtime.redis_url = ENV["REDIS_URL"]

Helper APIs

ruby
1SourceMonitor.config # Current configuration 2SourceMonitor.configure { |c| ... } # Set configuration 3SourceMonitor.reset_configuration! # Revert to defaults (for tests) 4SourceMonitor.events # Shortcut to config.events 5SourceMonitor.queue_name(:fetch) # Resolved queue name 6SourceMonitor.queue_concurrency(:scrape) # Resolved concurrency 7SourceMonitor.mission_control_dashboard_path # Resolved MC path or nil

Key Source Files

FilePurpose
lib/source_monitor/configuration.rbMain Configuration class
lib/source_monitor/configuration/http_settings.rbHTTP client settings
lib/source_monitor/configuration/fetching_settings.rbAdaptive scheduling
lib/source_monitor/configuration/health_settings.rbHealth monitoring
lib/source_monitor/configuration/scraper_registry.rbScraper adapter registry
lib/source_monitor/configuration/retention_settings.rbItem retention
lib/source_monitor/configuration/scraping_settings.rbScraping controls
lib/source_monitor/configuration/events.rbEvent callbacks
lib/source_monitor/configuration/models.rbModel extensions config
lib/source_monitor/configuration/model_definition.rbPer-model definition
lib/source_monitor/configuration/realtime_settings.rbAction Cable settings
lib/source_monitor/configuration/authentication_settings.rbAuth settings
lib/source_monitor/configuration/images_settings.rbImage download settings
lib/source_monitor/configuration/validation_definition.rbValidation wrapper

References

  • reference/configuration-reference.md -- Complete settings reference
  • docs/configuration.md -- Official configuration documentation
  • lib/generators/source_monitor/install/templates/source_monitor.rb.tt -- Initializer template

Testing

Reset configuration between tests:

ruby
1setup do 2 SourceMonitor.reset_configuration! 3end

Test custom configuration:

ruby
1test "custom queue name" do 2 SourceMonitor.configure do |config| 3 config.fetch_queue_name = "custom_fetch" 4 end 5 assert_equal "custom_fetch", SourceMonitor.queue_name(:fetch) 6end

Checklist

  • Initializer exists at config/initializers/source_monitor.rb
  • Queue names match config/queue.yml (or config/solid_queue.yml) entries
  • Dispatcher config includes recurring_schedule: config/recurring.yml (handled by install generator)
  • Authentication hooks configured for host auth system
  • HTTP timeouts appropriate for target feeds
  • Retention policy set for production
  • Workers restarted after configuration changes

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is sm-configure?

Ideal for Ruby-based AI Agents requiring advanced SourceMonitor configuration and debugging capabilities. sm-configure is a configuration entry point for SourceMonitor, providing a comprehensive reference for configuring the engine via the SourceMonitor.configure block.

How do I install sm-configure?

Run the command: npx killer-skills add dchuk/source_monitor. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for sm-configure?

Key use cases include: Configuring SourceMonitor for environment-specific settings, Debugging configuration-related issues in Ruby applications, Modifying settings in `config/initializers/source_monitor.rb`.

Which IDEs are compatible with sm-configure?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

Are there any limitations for sm-configure?

Requires Ruby and SourceMonitor setup. Limited to SourceMonitor configuration and debugging.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add dchuk/source_monitor. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use sm-configure immediately in the current project.

Related Skills

Looking for an alternative to sm-configure or another community skill for your workflow? Explore these related open-source skills.

View All

widget-generator

Logo of f
f

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

149.6k
0
AI

flags

Logo of vercel
vercel

flags is a Next.js feature management skill that enables developers to efficiently add or modify framework feature flags, streamlining React application development.

138.4k
0
Browser

zustand

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI

data-fetching

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI