Skip to content

feat: add symlink script for Git submodule usage#64

Open
amirgeek wants to merge 3 commits intopbakaus:mainfrom
amirgeek:feat/git-submodule-script
Open

feat: add symlink script for Git submodule usage#64
amirgeek wants to merge 3 commits intopbakaus:mainfrom
amirgeek:feat/git-submodule-script

Conversation

@amirgeek
Copy link
Copy Markdown

Fixes #46.

This PR adds a convenient shell script (bin/link.sh) and documentation for using the repository as a git submodule. This allows users to keep their skills up to date with git submodule update --remote without having to manually download ZIPs or run update scripts.

The script automatically detects the provider you want and creates a relative symlink from your project's root to the submodule directory.

Usage:

git submodule add https://github.com/pbakaus/impeccable .impeccable
./.impeccable/bin/link.sh cursor

@amirgeek amirgeek requested a review from pbakaus as a code owner March 23, 2026 14:51
Copy link
Copy Markdown

@codeCraft-Ritik codeCraft-Ritik left a comment

Choose a reason for hiding this comment

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

Excellent improvement

Copy link
Copy Markdown
Owner

@pbakaus pbakaus left a comment

Choose a reason for hiding this comment

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

Thanks for your contribution! I have one suggestion that I think would make this much easier for adoption, otherwise looks promising.

bin/link.sh Outdated
echo "Linking .$PROVIDER to parent directory..."

# Check if target already exists in parent
if [ -e "$PARENT_DIR/$PROVIDER_DIR" ]; then
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

I'm assuming that a lot of people will already have e.g. a .claude folder, so this technique wouldn't work then...would it not be better to symlink the sub folders (.claude/skills/{folders in here})?

@amirgeek
Copy link
Copy Markdown
Author

Good catch — updated the script so it now creates symlinks only inside the provider's skills folder (e.g. .claude/skills/*) instead of linking the whole provider directory. That way existing .claude / .cursor setups stay intact. I also updated the README to clarify the new behavior.

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.

Git submodule support

3 participants