Skip to content

Conversation

@WilliamBerryiii
Copy link
Member

Pull Request

Description

Added root-level ShellCheck configuration file with global SC1091 exclusion (unresolved source scripts) and MegaLinter integration via BASH_SHELLCHECK_CONFIG_FILE setting. This provides consistent ShellCheck behavior across local development and CI pipelines.

  • feat(tools): Added .shellcheckrc at repository root with documented conventions
  • feat(tools): Configured MegaLinter to use .shellcheckrc via BASH_SHELLCHECK_CONFIG_FILE

Related Issue

Fixes #116

Type of Change

  • New feature (non-breaking change which adds functionality)

Implementation Details

  1. Created .shellcheckrc with:

    • shell=bash - enforces bash dialect checking
    • disable=SC1091 - global exclusion for unresolved source commands
    • Full documentation of purpose and conventions
  2. Updated .mega-linter.yml with:

    • BASH_SHELLCHECK_CONFIG_FILE: .shellcheckrc to ensure CI uses the same config

Testing Performed

  • Manual validation
  • Other: Verified ShellCheck v0.9.0-1 auto-detects .shellcheckrc

Validation Steps

  1. Run shellcheck scripts/*.sh and verify no SC1091 warnings
  2. Run MegaLinter and verify BASH_SHELLCHECK uses .shellcheckrc config

Checklist

  • I have updated the documentation accordingly
  • I have checked for any sensitive data/tokens that should not be committed

Additional Notes

Follow-up work tracked for:

  • Enabling require-variable-braces optional check (444 edits across 28 scripts)
  • Removing redundant inline SC1091 directives from 9 scripts
  • Investigating source-path=SCRIPTDIR directive for common sourcing pattern

🔧 - Generated by Copilot

- add root-level .shellcheckrc with SC1091 global exclusion
- configure MegaLinter BASH_SHELLCHECK_CONFIG_FILE

🔧 - Generated by Copilot
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds centralized ShellCheck configuration for the edge-ai repository by introducing a .shellcheckrc file and integrating it with MegaLinter. The changes establish consistent shell script linting behavior across local development and CI pipelines, with a conservative initial configuration that disables SC1091 (unresolved source scripts) globally while setting bash as the default shell dialect. Follow-up work is tracked for enabling additional optional checks and removing redundant inline directives.

Changes:

  • Added .shellcheckrc configuration file with shell=bash and global disable=SC1091 settings
  • Configured MegaLinter to use .shellcheckrc via BASH_SHELLCHECK_CONFIG_FILE setting

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
.shellcheckrc New ShellCheck configuration file enforcing bash dialect and disabling SC1091 globally with comprehensive documentation
.mega-linter.yml Added ShellCheck configuration file reference for MegaLinter integration

Bill Berry added 2 commits February 2, 2026 18:29
🔧 - Generated by Copilot
🔒 - Generated by Copilot
Copilot AI review requested due to automatic review settings February 3, 2026 03:33
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.

🔧 - Generated by Copilot
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Add .shellcheckrc for ShellCheck configuration

3 participants