Skip to content

Clean up permissions and add settings.local.json.example#31

Merged
sebastientaggart merged 4 commits into
devfrom
feature/clean-permissions
Mar 26, 2026
Merged

Clean up permissions and add settings.local.json.example#31
sebastientaggart merged 4 commits into
devfrom
feature/clean-permissions

Conversation

@sebastientaggart

Copy link
Copy Markdown
Member

Replace 61 accumulated one-off permission entries with 9 clean wildcard patterns
covering all commands used by shipped skills. Ship as a .claude/settings.local.json.example
that users can copy to get a smooth experience where all skills just work.

Also fixes CodeCanonCodeCannon typo in AGENTS.md template.

Issue #30

sebastientaggart and others added 3 commits March 26, 2026 11:37
…ills

Replace 61 accumulated one-off permission entries with 9 clean wildcard
patterns covering all commands used by shipped skills. Also fix CodeCanon
typo in AGENTS.md template.

Issue #30

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
…ills

Provides a reference permission set that users can copy to their local
settings.local.json. Covers all commands used by shipped skills (start,
ship, review, version, release, status, qa, setup) with 9 clean wildcard
patterns instead of per-command entries.

Issue #30

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
@sebastientaggart

Copy link
Copy Markdown
Member Author

Code Review — PR #31

Findings

  1. [SUGGESTION] Missing Bash(cp:*) in the allow list — The /setup skill uses cp to copy the config template (cp CodeCannon/templates/codecannon.yaml .codecannon.yaml at lines 74 and 142 of setup.md), but cp is not included in the settings.local.json.example permission patterns. Users who adopt this example as-is will get a permission prompt when running /setup. Consider adding "Bash(cp:*)" to the allow list.

  2. [NIT] settings.local.json is tracked in git alongside the new .example file — The actual settings.local.json is currently tracked in git in this repo. Since the .example file is the one meant to be committed and copied by users, you may want to add .claude/settings.local.json to .gitignore so users (or contributors to CodeCannon itself) do not accidentally commit their personal local settings. This is minor since the current contents are identical to the example, but could diverge over time.

  3. [NIT] AGENTS.md template typo fix is correct — The CodeCanon to CodeCannon rename on lines 40-41 of the template is accurate and matches the actual directory name used everywhere else in the project.

  4. [NIT] No documentation pointer to the example file — There is no README or setup instruction that tells users "copy .claude/settings.local.json.example to .claude/settings.local.json". The /setup skill does not appear to reference it either. Consider mentioning it in the setup flow or in a project README so users actually discover it.

Verdict

APPROVE — The changes are clean and low-risk. The wildcard permission patterns are a clear improvement over 61 individual entries. The typo fix is correct. The suggestions above (especially the missing cp permission) are worth addressing but are not blocking.

The setup skill uses cp for copying files, and grep is used for
codebase searches. Both need explicit permission entries.

Issue #30

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
@sebastientaggart
sebastientaggart merged commit 66772ad into dev Mar 26, 2026
2 checks passed
This was referenced Mar 26, 2026
@sebastientaggart
sebastientaggart deleted the feature/clean-permissions branch April 8, 2026 14:44
sebastientaggart added a commit that referenced this pull request Apr 8, 2026
Clean up permissions and add settings.local.json.example
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.

1 participant