
Security News
/Research
Fake Corepack Site Distributes Infostealer and Proxyware to Developers
A fake corepack.org site is impersonating the Node.js tool and delivers an infostealer and proxyware to developers who download it.
@lucassantana/sharekit
Advanced tools
Share your AI coding setup with anyone — one command to install, one to rollback.

Share your entire AI coding setup in one command.
Distribute your CLAUDE.md, skills, cursorrules, and dotfiles to team members, colleagues, or the public. One command to install. One command to rollback. Built for Claude Code, Cursor, Windsurf, Codex, and more.
Install a profile from GitHub in seconds:
npx @lucassantana/sharekit install <github-user>
That's it. sharekit will:
github.com/<github-user>/sharekit-profileUndo anytime:
npx @lucassantana/sharekit rollback <github-user>
| Command | Purpose |
|---|---|
install <user> | Install a profile and apply its configuration |
preview <user> | See what would change without applying anything |
rollback <user> | Restore the last backup for a profile |
list | View all installed profiles with versions and dates |
update <user> | Sync an installed profile to its latest version |
search [keyword] | Discover published profiles on GitHub |
init [skills...] | Create a profile from your current ~/.claude |
scan | Detect secrets before publishing a profile |
sharekit copies files from a profile into your local environment:
claude/ → ~/.claude/ — CLAUDE.md, skills, settings, hooks, standardscursor/ → ~/.cursor/ — Cursor IDE configurationopencode/ → ~/.config/opencode/ — OpenCode configurationgjc/ → ~/.gjc/ — gajae-code configurationshared/ → ~/ — Root dotfiles and shared configFiles are copied as-is (TOML, text, binary). Use preview to spot conflicts before applying.
Track a specific version or branch instead of HEAD:
npx @lucassantana/sharekit install <github-user>@v1.0 # tag
npx @lucassantana/sharekit install <github-user>@stable # branch
Update only works on HEAD-tracked profiles. Pinned refs are skipped.
Sharekit gates two types of executable files by default: hooks in .claude/settings.json and shell startup files in shared/. Both are flagged but not installed by default because they run commands under your account and require explicit trust.
settings.jsonSettings files (.claude/settings.json) may define hooks that run shell commands. After reviewing a profile in preview, install hooks with:
npx @lucassantana/sharekit install <github-user> --include-hooks
You'll get a second confirmation before the settings file is written.
shared/Shell startup files in shared/ like .zshrc, .bashrc, .profile, .xinitrc and similar files are automatically skipped for security — these are sourced on every shell startup and could execute arbitrary code when you open a terminal. Review the profile in preview, then optionally include them:
npx @lucassantana/sharekit install <github-user> --include-dotfiles
You'll get a second confirmation before dotfiles are written.
Both flags also work with update and are independent—you can install hooks without dotfiles, dotfiles without hooks, or both.
GitHub is the registry. Find published profiles by searching for repos named sharekit-profile:
npx @lucassantana/sharekit search # list all profiles
npx @lucassantana/sharekit search react # filter by keyword
Each result includes the one-liner to install it.
Manage installed profiles:
npx @lucassantana/sharekit list # see installed profiles + versions
npx @lucassantana/sharekit update user # sync to latest (HEAD-tracked only)
Create a GitHub repository named sharekit-profile with this structure:
sharekit-profile/
├── sharekit.toml
├── .gitignore
├── claude/ (→ ~/.claude/)
│ ├── CLAUDE.md
│ ├── skills/
│ │ ├── skill-1/SKILL.md
│ │ └── skill-2/SKILL.md
│ ├── settings.json
│ └── standards/
├── cursor/ (→ ~/.cursor/)
│ └── settings.json
├── opencode/ (→ ~/.config/opencode/)
├── gjc/ (→ ~/.gjc/)
└── shared/ (→ ~/)
└── .cursorrules
sharekit.toml[profile]
name = "My Setup"
version = "1.0.0"
description = "Claude Code + Cursor config with custom skills and standards"
Subdirectories automatically mirror to their targets: claude/ → ~/.claude/, cursor/ → ~/.cursor/, opencode/ → ~/.config/opencode/, gjc/ → ~/.gjc/, shared/ → ~/.
Bootstrap a profile repo from your current setup:
npx @lucassantana/sharekit init # copy CLAUDE.md + all skills
npx @lucassantana/sharekit init skill-1 skill-2 # copy specific skills only
This creates a ready-to-push sharekit-profile/ directory.
Always scan for secrets before pushing:
npx @lucassantana/sharekit scan ./sharekit-profile
The scanner detects:
Override a block (after manual review) with:
npx @lucassantana/sharekit scan ./sharekit-profile --force
You are responsible for ensuring no real secrets escape. The scanner is best-effort. Always review the profile and .gitignore sensitive files before git push.
sharekit works with any tool that stores config in ~/, ~/.claude/, ~/.cursor/, or similar:
shared/ dotfilesshared/ dotfilespreview and skipped. Merge them manually after reviewing.sharekit preview shows exact diffs (new/changed/unchanged counts, file paths) — inspect before any write.~/.sharekit/backups/<user>-<timestamp>/ before apply. rollback restores them instantly.For the full trust model, path assumptions, and responsible disclosure policy, see SECURITY.md.
File-copy only for now—no smart merging. Use preview to spot conflicts.
MIT — Share freely.
Made with ❤️ by Lucas Santana. Contribute on GitHub.
FAQs
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
/Research
A fake corepack.org site is impersonating the Node.js tool and delivers an infostealer and proxyware to developers who download it.

Research
/Security News
A large-scale campaign abused GitHub Actions in compromised repositories to exploit CVE-2026-41940 in cPanel and WHM and steal server credentials.

Security News
Five frontier LLMs generated the same nonexistent package names, leaving 53 available for potential slopsquatting across PyPI and npm.