From 0d416926f2afdac6a19900b874f16b57e2016bf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yves=20Desgagn=C3=A9?= Date: Sat, 18 Apr 2026 07:22:59 -0400 Subject: [PATCH] Add MCP permission docs and shell script linting rules --- README.md | 44 +++++++++++++++++++++++++++++++++++++ skills/run-linters/SKILL.md | 36 ++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) diff --git a/README.md b/README.md index 4cd6257..574876c 100644 --- a/README.md +++ b/README.md @@ -217,6 +217,50 @@ Some skills require additional CLI tools: /plugin install co-dev@cloud-officer ``` +#### Recommended Permissions + +This plugin bundles several MCP servers. By default, Claude Code will prompt for permission each time an MCP tool is called. To auto-approve these tools, add the following entries to the `permissions.allow` array in your `~/.claude/settings.json`: + +```json +{ + "permissions": { + "allow": [ + "mcp__appstore__*", + "mcp__aws__*", + "mcp__context7__*", + "mcp__fetch__*", + "mcp__gcloud__*", + "mcp__github__*", + "mcp__mongodb__*", + "mcp__mysql__*", + "mcp__playstore__*", + "mcp__postgres__*", + "mcp__redis__*" + ] + } +} +``` + +If you also use remote MCP servers (see [Remote MCP Servers](#remote-mcp-servers-optional)), add their patterns too: + +```json +{ + "permissions": { + "allow": [ + "mcp__atlassian__*", + "mcp__bigquery__*", + "mcp__figma__*", + "mcp__newrelic__*", + "mcp__paypal__*", + "mcp__stripe__*", + "mcp__vercel__*" + ] + } +} +``` + +**Note:** These entries merge with your existing `allow` list — you don't need to replace it. Only add entries for the MCP servers you actually use. + ## Usage ### Commands diff --git a/skills/run-linters/SKILL.md b/skills/run-linters/SKILL.md index c1b0afc..9220088 100644 --- a/skills/run-linters/SKILL.md +++ b/skills/run-linters/SKILL.md @@ -121,3 +121,39 @@ Do NOT add these patterns to bypass linting: ``` If you encounter an issue that seems unfixable, explain the problem to the user and ask how they want to proceed. + +## Shell Script Linting Rules (SL0001, SL0002) + +When fixing shell script lint errors (e.g., from `shellcheck` or custom shell linters), apply these rules: + +### SL0001: Variables must use braces + +Always wrap shell variables in `${}` braces. This prevents ambiguity and word-splitting bugs. + +```bash +# Bad +echo "$HOME/.local/bin:$PATH" +if [ "$CURRENT_BRANCH" != "$MASTER_BRANCH" ]; then + +# Good +echo "${HOME}/.local/bin:${PATH}" +if [ "${CURRENT_BRANCH}" != "${MASTER_BRANCH}" ]; then +``` + +### SL0002: Use `==` instead of `=` for string comparison + +In `[` and `[[` test expressions, use `==` for string equality, not `=`. + +```bash +# Bad +if [ "${CONFIGURATION}" = "Debug" ]; then + +# Good +if [ "${CONFIGURATION}" == "Debug" ]; then +``` + +### General Shell Script Fixes + +- **Quote all variable expansions** — `"${VAR}"` not `$VAR` +- **Use `[[` over `[` when possible** — safer, supports `&&`, `||`, pattern matching +- **Use `$(command)` over backticks** — `` `command` `` is deprecated