feat(cli): bootstrap global SKILLS guide and bump to 0.7.8#180
feat(cli): bootstrap global SKILLS guide and bump to 0.7.8#180charlesrhoward merged 1 commit intomainfrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fbd3aee45c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| } | ||
|
|
||
| const packageRoot = dirname(fileURLToPath(import.meta.url)); | ||
| const setupModulePath = join(packageRoot, "dist", "lib", "setup.js"); |
There was a problem hiding this comment.
Import installer from an emitted build artifact
The postinstall hook points to dist/lib/setup.js, but this package is built from a single src/index.ts entry (packages/cli/tsup.config.ts:4), so that module path is not emitted in the published bundle; the existsSync guard then exits early and global installs silently skip SKILLS.md bootstrap entirely. Point the hook at a file that is guaranteed to exist after build (or add an explicit emitted entry for the installer) so the new feature actually runs.
Useful? React with 👍 / 👎.
| } | ||
|
|
||
| const targets = globalSkillTargetsForTool(tool); | ||
| return targets.some((path) => existsSync(join(home, dirname(path)))); |
There was a problem hiding this comment.
Directory creation contaminates later tool detection fallback
Medium Severity
The fallback check in hasGlobalToolSignal detects a tool if the parent directory of its SKILLS target exists. But installGlobalSkillsGuides processes tools sequentially, and mkdir for an earlier tool can create a shared parent directory that falsely triggers detection for a later tool. Specifically, "Antigravity" creating ~/.gemini/antigravity/SKILLS.md causes ~/.gemini to exist, which then falsely detects "Gemini" and writes an unwanted ~/.gemini/SKILLS.md.
Additional Locations (1)
|
Bugbot Autofix prepared fixes for 1 of the 1 bugs found in the latest run.
|


Summary\n- add global SKILLS.md bootstrap guidance for detected tool config homes\n- wire SKILLS installer into memories setup\n- add safe global-install postinstall hook\n- bump @memories.sh/cli to 0.7.8\n\n## Validation\n- pnpm -C packages/cli typecheck\n- pnpm -C packages/cli test -- src/lib/setup.test.ts
Note
Medium Risk
Introduces filesystem writes to user home directories during
setupand globalpostinstall, which can surprise users or vary across environments despite safeguards to avoid overwriting non-generated files.Overview
Adds automatic global
SKILLS.mdbootstrapping: when tools are detected in a user’s home config dirs (or via command detection), the CLI now creates/updates a generatedSKILLS.mdwith usage guardrails, while skipping user-authored files unless they contain the memories.sh generation marker.Wires this installer into
memories setup(reporting created/updated/skipped/errors) and adds a safe npmpostinstallhook that runs only for global installs (or when forced) and never blocks installation. Bumps@memories.sh/clito0.7.8, shipspostinstall.mjs, and adds tests covering create/skip/command-detected cases; READMEs are updated to mention the new global bootstrap behavior.Written by Cursor Bugbot for commit fbd3aee. This will update automatically on new commits. Configure here.