Compare commits

...

104 Commits

Author SHA1 Message Date
Jim Myhrberg
15cb9608fe chore(mcp): remove deepwiki server from MCP configs
DeepWiki MCP is now managed via the agentic repo rather than
editor-level MCP configs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 10:23:51 +00:00
Jim Myhrberg
48892628f9 chore(cursor): update extension lock file
Bump Cursor to 2.5.17 and update extensions including claude-code,
rust-analyzer, glaze, and emacs-mcx. Add actionlint extension.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 10:22:24 +00:00
43e54612b4 refactor(agents): rewrite AGENTS.md for concision and progressive disclosure
Verbose descriptions and architecture sections duplicated info easily
gleaned from the code itself. Replaced with a compact format covering
key commands, conventions, and scope — including a note that AI agent
configs live in a separate repo (jimeh/agentic).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 10:18:37 +00:00
fe33938b2f feat(settings): add Claude terminal profile for Linux
Enables quick access to Claude CLI as a terminal profile on Linux,
matching the existing macOS configuration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 23:38:06 +00:00
28cb57e9c7 chore(dictionaries): add agentic, OVSX, pipefail, and Context7 to spell check dictionaries
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 23:36:52 +00:00
a7b959c8fc refactor: remove AI agent config management from siren script
Agent configurations (CLAUDE.md, commands, skills, cursor rules) have
been extracted to a separate repo (jimeh/agentic). Remove all related
symlink logic, helper functions, and stale-link cleanup from siren.

- Delete claude/ directory (CLAUDE.md, settings, statusline, commands,
  skills)
- Delete cursor/user-rules.md and cursor commands
- Delete ai/references/ directory
- Remove _add_command_symlinks, _add_skill_symlinks,
  _cleanup_stale_commands, _cleanup_stale_skills functions
- Remove Claude conditional block from define_settings()
- Trim Cursor conditional block to only mcp.json symlink
- Remove stale-symlink cleanup calls from do_config()

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 23:35:28 +00:00
95516fc615 fix(claude): remove hardcoded model override from settings
Let the model be determined by context/defaults rather than forcing
opus globally.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 13:20:09 +00:00
6b3170fea6 fix(commands): handle CLAUDE.md symlink in claude-to-agents command
Some projects use a symlink from CLAUDE.md to AGENTS.md instead of an
@-reference. Add a symlink check as the first precondition so these
are detected and replaced with a proper @AGENTS.md reference file.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 20:17:39 +00:00
136114db1f feat(settings): enable shell keybindings passthrough and JSON schema downloads
Allow terminal to forward keybindings to the shell for better
compatibility with shell programs. Enable JSON schema downloads for
improved JSON validation support.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 12:12:19 +00:00
15871f959c chore(dictionaries): add oxfmt, oxlint, and pyflakes to spell check dictionary
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 12:10:55 +00:00
Jim Myhrberg
d353467489 chore(dictionaries): add https to Harper spell check dictionary
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 12:07:26 +00:00
Jim Myhrberg
ef4b8e2a1b fix(settings): add missing trailing comma after Git Graph setting
Prevents JSON parse errors when additional settings follow.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 12:06:53 +00:00
Jim Myhrberg
de9ee266ba refactor(keybindings): swap Claude terminal shortcut bindings
Make Shift+Cmd+C open the beside editor tab (more common use case) and
move the plain terminal profile opener to Alt+Shift+Cmd+C.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 09:50:35 +00:00
Jim Myhrberg
42f420a6fb chore(extensions): update Cursor extension lock file
Bump Cursor to 2.4.35 and update extensions: claude-code, harper,
terraform, kilo-code, chatgpt, oxc, rust-analyzer, code-spell-checker,
vitest. Add new extensions: gemini-cli-vscode-ide-companion, glaze.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 09:48:46 +00:00
Jim Myhrberg
bcee57eca0 feat(settings): add Git Graph extension settings with prune on fetch
Enable pruning of deleted remote branches when fetching via Git Graph.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 09:47:30 +00:00
Jim Myhrberg
fb6baed4dc feat(settings): add Glaze window decoration settings
Enable the Glaze extension for custom window decorations while keeping
status bar and activity bar unaffected.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 09:47:11 +00:00
acb2374aa5 refactor(settings): move icon theme setting after color theme preferences
Group workbench theme settings more logically by placing the icon theme
after color theme preferences rather than between them.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 23:43:07 +00:00
Jim Myhrberg
21411d37b0 feat(settings): improve terminal tab titles and enable kitty keyboard protocol
Use sequence-based tab titles for better terminal identification,
enable kitty keyboard protocol for improved key handling, and
drop overrideName from Claude profile.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 15:06:29 +00:00
Jim Myhrberg
6b92a80915 feat(settings): update Claude terminal profile icon and name override
Use sparkle icon instead of generic terminal icon, and enable
overrideName to display "Claude" as the terminal tab title.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 11:40:23 +00:00
Jim Myhrberg
c06e69e9b6 feat(keybindings): add Claude CLI terminal profile and rework keybindings
Replace Cursor-specific composerMode bindings with Claude Code focused
keybindings. The shift+cmd+c shortcut now opens a Claude CLI terminal
instead of toggling the extension sidebar, and cmd+i toggles the Claude
Code sidebar focus.

- Add "Claude" terminal profile (settings) to launch claude CLI
- Add shift+cmd+c to open Claude terminal in panel
- Add alt+shift+cmd+c macro to open Claude terminal in locked side editor
- Remap cmd+i to toggle Claude Code sidebar focus/blur
- Remove Cursor composerMode keybindings (agent, plan, chat)
- Fix shift+enter newline in terminal using kitty keyboard protocol
- Disable sendKeybindingsToShell for proper keybinding interception
- Move Claude Code preferred location to sidebar

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 11:28:50 +00:00
Jim Myhrberg
25343d5e72 feat(settings): add git autofetch and reorganize GitHub settings
Move GitHub-related settings into their own MARK section for better
organization, and enable git.autofetch and
githubRepositories.autoFetch for automatic repository syncing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 10:19:05 +00:00
a85d46ed5e chore(dictionaries): add DMARC, endor, and kira to spell check dictionary
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 09:24:53 +00:00
Jim Myhrberg
cf234acc87 chore(dictionaries): add Typesense and Vitest to spell check dictionaries
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 20:35:13 +00:00
Jim Myhrberg
1b19cc450e fix(claude/commands): standardize progressive disclosure dir to docs/agents/
Both generate-agents.md and refactor-agents.md referenced inconsistent
directory conventions for progressive disclosure docs (docs/*.md,
.agents/docs/). Standardize all references to docs/agents/.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 20:33:56 +00:00
c27f891365 fix(claude/commands): add missing tool permissions to rebase command
Context template commands go through the tool permission system, so
all git subcommands used in context and task steps need allowed-tools
entries. Add git status, git branch, and git rev-parse. Replace piped
git symbolic-ref|sed with git rev-parse --abbrev-ref to avoid needing
a sed permission.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 00:12:16 +00:00
7d3af85adb refactor(claude/commands): clarify PR description expectations in commit-push-pr
The previous instructions were vague about what the PR description should
contain, leading to redundant commit lists in PR bodies. Now explicitly
instructs the agent to use git diff alongside git log, write a cohesive
summary of purpose and impact, and avoid listing commits since the PR
already shows those.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 00:00:29 +00:00
52aef8b07d feat(claude/commands): add rebase command
Automate rebasing onto upstream default branch with auto-stash,
conflict resolution, and clean abort/restore on low confidence.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 23:34:57 +00:00
745535eb84 feat(claude/commands): add recent commits to commit-push-pr context
Give the agent visibility into recent commit history so it can
follow the project's commit message conventions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 23:13:27 +00:00
bcefc18e51 refactor(claude/commands): defer file reads to agent in commit-push-pr
Avoid bloating the prompt context with file contents that may not be
needed. Instead of injecting AGENTS.md, CLAUDE.md, and PR template
via shell commands, instruct the agent to read them on demand. Also
tighten allowed-tools (git branch -m instead of wildcard), add git
log permission, and require PR descriptions to cover all branch
commits.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 22:47:31 +00:00
250279b40f feat(claude/commands): add AGENTS.md/CLAUDE.md review step to commit-push-pr
Ensure agent documentation stays in sync with code changes by
having the command review AGENTS.md and CLAUDE.md before committing.
Adds both files to the context section and inserts a new first step
that checks whether changes warrant documentation updates.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 22:41:23 +00:00
ff68d87edb chore(extensions): update extension lock files for Cursor and VSCode
Refresh lock files to latest installed versions. Notable updates
include claude-code, harper, emacs-mcx, kilo-code, vitest, and
new extensions (hashicorp.hcl, jimeh.patina, oxc.oxc-vscode).
Removes github.copilot from VSCode.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 19:45:49 +00:00
6297f5b61d feat(claude/commands): improve commit-push-pr with PR template and master branch support
Add PR template auto-detection context, handle master as a default
branch alongside main, and use template content for PR body when
available.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 19:26:02 +00:00
3f25c7e4fe feat(claude/commands): add description front matter to AGENTS.md commands
Makes commands discoverable in skill listings by adding description
fields to claude-to-agents, generate-agents.md, and refactor-agents.md.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 19:25:29 +00:00
015ad895b4 feat(siren): add skills symlink support
Skills are directories (containing SKILL.md) rather than flat files,
so this adds dedicated _add_skill_symlinks() and _cleanup_stale_skills()
functions mirroring the existing command symlink pattern. Only symlinks
pointing into our source tree are managed; skills from other sources
(e.g. ~/.agents/skills/) are left untouched.

Also adds the frontend-design-systems skill for systematic visual
design consistency rules.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 19:19:21 +00:00
7c30b6c405 chore(cspell): add clippy to user dictionary
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 17:51:57 +00:00
a27485baa3 chore(dictionaries): add new words to spell checker dictionaries
Add Turborepo, colocated, markdown, md, pnpm, typecheck, and worktree
to harper-ls dictionary. Add Turborepo to cspell dictionary.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 17:31:57 +00:00
27330ceae1 feat(claude/commands): support staged-only commits and add git diff permission
Allow commit commands to operate on only staged changes when requested,
rather than always staging everything. This enables more granular control
over what gets committed.

- Add `Bash(git diff:*)` to allowed-tools in both commit and
  commit-push-pr commands
- Add instructions to check staged changes with `git diff --staged`
  and skip staging additional files when asked for staged-only commits
- Restructure commit.md flow to clarify staged-only vs full commit

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 17:30:35 +00:00
40903707e7 feat(settings): add harper-ls spell checker config
Add harper-ls as a second spell checker alongside cSpell. Update the
section header to "Spell Checkers" (plural) and list both extensions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 17:26:09 +00:00
623e3896e6 fix(claude/commands): improve line wrapping for 80-char line length
Reflow long lines in command files to stay within 80 characters,
matching the project's line length convention. Also fix lowercase
"markdown" to "Markdown" in refactor-agents.md.md.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 17:22:22 +00:00
d84f91ba3a refactor(claude/settings): move env and teammateMode to canonical positions
Move `env` block to the top of settings and `teammateMode` to the end,
keeping the file organized with related settings grouped together.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 17:03:03 +00:00
9dca4582d0 fix(claude/commands): handle AGENTS.md-only projects in claude-to-agents
Previously the command required CLAUDE.md to exist and AGENTS.md to not
exist. Now it handles the case where only AGENTS.md exists by creating
a CLAUDE.md reference file pointing to it, and clarifies the
precondition logic with explicit branching.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 17:02:07 +00:00
3e31f7f100 feat(claude): add documenting discoveries instructions
Agents should capture surprising or non-obvious findings in the
project's AGENTS.md or CLAUDE.md to prevent future sessions from
re-discovering the same gotchas. Also removes the tongue-in-cheek
"Quality Work" section that was previously added as a joke.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 17:34:54 +00:00
cf43434200 fix(claude/statusline): update default model check to Opus 4.6
Reflect the latest default model version in the statusline script
so the model name is only displayed for non-default models.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 16:57:25 +00:00
254fce8292 feat(claude/settings): enable agent teams and use local commands
Enable experimental agent teams support and switch to local commit
commands, disabling the official commit-commands plugin now that
equivalent commands exist in claude/commands/.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 14:24:28 +00:00
46b6b051c8 feat(claude/commands): add commit and branch cleanup commands
Bring in three slash commands from the official claude-plugins repo
to streamline common git workflows directly from Claude.

- clean-gone-branches: remove local branches deleted on remote
- commit-push-pr: commit, push, and open a PR in one step
- commit: create a git commit from current changes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 14:23:17 +00:00
839c0026cd chore(claude/settings): allow git branch command
Add git branch to the list of auto-allowed Bash commands so Claude
can inspect and manage branches without prompting for permission.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 14:34:37 +00:00
cc79b5eb88 chore(claude/settings): disable security-guidance plugin
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-05 23:43:39 +00:00
7b7d2b1dff chore(cspell): add OKLCH to user dictionary
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-05 23:43:15 +00:00
da793359de feat(claude/commands): generalize agent language in claude-to-agents
The conversion command now rewrites Claude-specific agent language
(e.g. "Claude should..." → "Agents should...") to be agent-agnostic,
while preserving "Claude Code" as a proper product name. Also minor
line-wrapping cleanup in generate-agents command.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-05 23:42:29 +00:00
59d4a997e2 fix(claude): clarify git working directory instruction
Be explicit about avoiding the `-C` flag rather than the vague
"flags to specify a working directory" phrasing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-05 19:56:30 +00:00
380f4b8d19 chore(extensions): update vscode extension lock file
Bump to VSCode 1.108.2. Updates versions for many extensions and adds
new ones: git-worktree-manager, rbs-syntax, steep-vscode, stylelint,
vscode-mdx, and vscode-zig.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 13:02:27 +00:00
7e88bc7b29 feat(settings): add git-worktree-manager copy patterns
Copy local config files when creating new worktrees to preserve
per-worktree settings across checkouts.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 12:28:40 +00:00
c2625efb78 feat(claude/settings): add npm, helm, and context7 permissions
Add Bash permissions for npm run, go mod download, and helm create.
Allow mcp__context7__get-library-docs tool.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 12:25:23 +00:00
b32c1ed5d3 chore(extensions): update cursor extension lock file
Bump extension versions and add stylelint, vscode-zig, and vitest.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 12:24:51 +00:00
7e93010cdb chore(extensions): update vscode-insiders extension lock file
Bump extension versions and add vscode-color-picker.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 12:23:46 +00:00
4086bf5140 feat(claude/settings): toggle rust-analyzer-lsp and sentry plugins
Enable rust-analyzer-lsp plugin for Rust development support and
disable sentry plugin as it's not currently needed.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 19:02:09 +00:00
8969997846 feat(claude/settings): expand permissions and update plugin config
Add new Bash allow rules (awk, bat, cat, du, git diff, git fetch,
tail, tree, and additional pnpm shortcuts), WebSearch, and context7
MCP permissions. Sort enabledPlugins alphabetically, toggle swift-lsp
off, and remove plansDirectory setting.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 18:57:38 +00:00
b738a9bb18 fix(claude/commands): update suggested docs folder path in refactor-agents
Suggest .agents/docs/ as an alternative to docs/ for the refactored
AGENTS.md file structure, keeping the output more flexible.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 18:57:12 +00:00
c1844bead4 feat(claude/commands): add claude-to-agents conversion command
Provide a reusable command to convert a project's CLAUDE.md into an
AGENTS.md file while replacing the original with a thin @-reference.
Includes precondition checks, self-reference updating, and summary
reporting steps.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 18:56:46 +00:00
5892d9692a feat(settings): add JSON to color picker languages
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 18:44:47 +00:00
8fca905918 feat(settings): update window settings
- Adjusted window settings to clarify dependencies between nativeTabs and fullscreen modes.
2026-01-30 18:42:48 +00:00
Jim Myhrberg
9f0fc051b8 feat(claude/settings): add commit command option to Bash plugin toggles 2026-01-30 17:47:27 +00:00
Jim Myhrberg
370bc98eec feat(claude/CLAUDE.md): expand git commits and add pull requests section
Commit messages and PR descriptions that explain "why" lead to better
code review and future archaeology. This adds guidance to prioritize
motivation over technical details, and asks for clarification when the
reason for a change isn't clear.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 15:06:32 +00:00
Jim Myhrberg
001986e831 feat(claude/settings): add mkdir command option to Bash plugin toggles 2026-01-30 10:38:20 +00:00
Jim Myhrberg
e15ed6d4ea feat(claude/settings): update plugin toggles and remove curl deny rule
Disable unused plugins (playwright, ralph-loop, pr-review-toolkit,
rust-analyzer-lsp, lua-lsp), enable sentry plugin, and remove the
curl deny rule from permissions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 17:00:28 +00:00
Jim Myhrberg
ee6bb514e0 feat(claude/settings): add new Bash command options for fd and rg 2026-01-26 09:44:12 +00:00
Jim Myhrberg
21393f71aa fix(settings): change preferred location for Claude Code from sidebar to panel 2026-01-26 09:43:53 +00:00
Jim Myhrberg
39964de5f9 fix(settings): update inline chat configuration and preferred location for Claude Code 2026-01-26 09:38:49 +00:00
Jim Myhrberg
7048c6b297 chore(extensions): update extension versions for cursor and vscode-insiders
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 09:38:48 +00:00
b8f554f5b9 feat(settings): add diff editor display settings
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 09:29:38 +00:00
bd6692d06c docs(ai): add AGENTS.md reference articles
Add two reference articles about AGENTS.md best practices:
- Guide on keeping AGENTS.md files small and using progressive disclosure
- Plan loop methodology for effective AI code generation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 19:26:49 +00:00
f6f64a3ca6 feat(claude): require testing in plan mode
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 19:13:02 +00:00
4efe626609 chore(claude): add bash permissions for gh, git, and pnpm commands
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 14:30:25 +00:00
dc96333cfc feat(claude): add git commits and dependencies guidelines
Move "Importance of Quality Work" to top of file. Add sections for
conventional commits preference and dependency philosophy.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 14:29:51 +00:00
dadc194812 refactor(claude): reorganize and clarify CLAUDE.md instructions
Restructure flat rule list into logical sections (Communication Style,
Code Style, Code Comments, Code Quality, Technical Considerations).
Fix typos, improve clarity, and remove weak examples.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 14:21:22 +00:00
2b91aa44b7 chore(dictionary): update user dictionary with new terms
Add reqwest, rustls, serde, and wiremock to the VSCode user dictionary.
2026-01-24 01:20:50 +00:00
daeda663a4 feat(claude): add AGENTS.md commands and refactor symlink handling
Add two new Claude Code slash commands:
- generate-agents.md.md: Generate hierarchical AGENTS.md structures
- refactor-agents.md.md: Refactor existing AGENTS.md files

Changes to siren script:
- Make Claude symlinks conditional on CLI installation
- Extract _add_command_symlinks() for reusable command symlinking
- Extract _cleanup_stale_commands() for generic stale link cleanup
- Add plan mode instructions to CLAUDE.md

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 01:17:30 +00:00
Jim Myhrberg
717cc6f333 chore(harper-ls): update dictionary with new terms
Add FactoryBot, OAuth2, ViewComponent, ai, claude; remove CLAUDE duplicate.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 15:00:23 +00:00
Jim Myhrberg
91bcb7d67c claude: update settings with new permissions and reorder keys 2026-01-22 14:58:39 +00:00
1172b49dbc feat(settings): add Zig language configuration
Enable ZLS (Zig Language Server) by default.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 09:07:01 +00:00
05b3ce18a1 feat(claude): allow ls command in bash tools
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 09:05:56 +00:00
Jim Myhrberg
efc1e30b0d feat(claude): deny reading mcp.json files
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 19:53:36 +00:00
Jim Myhrberg
e56be55e5b chore(extensions): update extension versions for cursor and vscode-insiders
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 19:51:16 +00:00
Jim Myhrberg
8774eb2452 feat(claude): add new allowed tools for gh, git, helm, and wc
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 19:36:20 +00:00
Jim Myhrberg
a2900fc246 fix(settings): correct chat and extension configuration settings
- Swapped values for 'chat.agentsControl.enabled' and 'chat.agentSessionProjection.enabled'.
- Updated 'claudeCode.preferredLocation' from 'sidebar' to 'panel'.
- Ensured consistency in terminal settings and added new command configurations for chat tools.
2026-01-21 19:33:39 +00:00
Jim Myhrberg
0ecca375f4 feat(settings/vscode): tweak various chat/agent settings 2026-01-21 13:07:08 +00:00
Jim Myhrberg
59bc6b14be chore(extensions): update extension versions and regenerate lock files 2026-01-21 10:06:22 +00:00
96f148f081 feat(claude): add Claude Code settings and statusline configuration
Add global Claude Code configuration with permission allowlists for
common build/test commands, statusline script showing git status,
context usage, token counts, and cost. Update siren to symlink these
files to ~/.claude/ directory.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 22:56:15 +00:00
Jim Myhrberg
7e2c842a3c chore(dictionary): add 'cgroups' entry to dictionary.txt 2026-01-19 19:27:26 +00:00
Jim Myhrberg
95405c3f3c chore(extensions): update lock files with new extension versions and timestamps
- Updated timestamps and versions for extensions in both extensions.cursor.lock and extensions.vscode-insiders.lock, including rust-lang.rust-analyzer and streetsidesoftware.code-spell-checker.
2026-01-19 10:27:28 +00:00
66868677a9 chore(settings): set default formatter for Rust to rust-analyzer
- Added configuration to specify 'rust-lang.rust-analyzer' as the default formatter for Rust files in settings.json.
2026-01-19 09:22:50 +00:00
59f2a35962 chore(keybindings): remap cmd+b to toggle auxiliary bar
Swaps cmd+b and alt+cmd+b behavior so cmd+b toggles the secondary
sidebar instead of the primary. Disables conflicting cmd+b bindings
from mdx extension and emacs-mcx.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 22:47:57 +00:00
7a2ca2f180 chore(settings): modify accessibility settings in settings.json
- Changed accessibility support from 'auto' to 'on'.
- Added 'accessibility.windowTitleOptimized' setting and set it to false.
2026-01-18 22:46:43 +00:00
656ac8bda4 chore(claude): add reference to AGENTS.md in CLAUDE.md 2026-01-18 22:46:12 +00:00
af63d08042 chore(settings/vscode): add chat terminal output location configuration
- Introduced a new setting for terminal output location, specifying it as 'chat' in settings.json.
2026-01-18 22:14:43 +00:00
6501714d80 chore(insiders/ext): update extensions.vscode-insiders.lock with new versions
- Updated timestamps and versions for several extensions, including anthropic.claude-code@2.1.11 and esbenp.prettier-vscode@12.1.1.
- Added new extension jackiotyu.git-worktree-manager@3.22.0.
2026-01-18 22:14:04 +00:00
9cb4c592eb chore(dictionary): update user dictionaries
- Added new entries: 'lockfiles', 'Trae', and 'vscm' to the cspell user dictionaries in both vscode-user-dictionary.txt and harper-ls/dictionary.txt.
2026-01-18 22:05:28 +00:00
3845d103c3 chore(settings): update line length settings for code blocks
- Added configurations to manage line length for code blocks, including options to ignore code blocks and set a specific line length for them.
2026-01-18 22:01:11 +00:00
1128b24d65 chore(settings): update Claude Code preferred location and remove ruler setting
- Changed the preferred location for Claude Code from 'panel' to 'sidebar'.
- Removed the ruler setting for 72 from the editor configuration.
2026-01-18 18:15:16 +00:00
da292a265d chore(cursor/ext): update cursor.lock with new extension versions and timestamps 2026-01-18 18:14:26 +00:00
f82384beac chore(dictionary): add 'worktree' to user dictionaries for cspell 2026-01-18 16:59:42 +00:00
30fc1f3cad chore(keybindings): update Claude Code keybindings and add extension reference
- Renamed section for Claude Code in keybindings.json.
- Added new keybindings for disabling the native console and focusing/blurring Claude Code.
- Included a reference to the Claude Code extension in the comments.
2026-01-18 16:59:30 +00:00
dd3ecc8be3 chore(settings): enhance worktree and accessibility configurations
- Updated accessibility settings to silence signal noises and adjusted the accessibility support option.
- Introduced configurations for Claude Code and Git Worktree Manager extensions.
2026-01-18 16:58:01 +00:00
361d82c000 chore(cursor/ext): update cursor.lock with new extension versions 2026-01-16 00:01:50 +00:00
15 changed files with 419 additions and 600 deletions

View File

@@ -1,73 +1,41 @@
# AGENTS.md
This file provides guidance to LLM agents when working with code in this
repository.
## Project Overview
This is a personal VSCode configuration repository (vscode-siren) that
provides a unified configuration for VSCode-based editors including Cursor,
VSCode, VSCode Insiders, Windsurf, and Antigravity. It focuses on recreating
an Emacs-like text editor experience with custom keybindings, settings, and
extensions.
Unified VSCode configuration repo — manages settings, keybindings, extensions,
and tool configs for multiple VSCode-compatible editors via symlinks.
## Key Commands
### Configuration Management
- `./siren <editor> config` - Create symlinks for editor config files
- `./siren <editor> extensions` - Install extensions from lock file
- `./siren <editor> extensions --latest` - Install latest versions of extensions
- `./siren <editor> dump-extensions` - Export installed extensions to lock file
### Makefile Shortcuts
- `make cursor-config` - Configure Cursor editor
- `make cursor-extensions` - Install Cursor extensions
- `make all-config` - Configure all editors
- `make all-extensions` - Install extensions for all editors
```bash
./siren <editor> config # Symlink config files to editor
./siren <editor> extensions # Install extensions from lock file
./siren <editor> extensions --latest # Install latest extension versions
./siren <editor> dump-extensions # Export installed extensions to lock file
make all-config # Configure all editors
make all-extensions # Install extensions for all editors
```
### Supported Editors
- `antigravity` (agy, a) - Antigravity editor (VSCode-compatible, prefers OpenVSX)
- `cursor` (c) - Cursor editor
- `vscode` (code, vsc, v) - Visual Studio Code
- `vscode-insiders` (vsci, i) - Visual Studio Code Insiders
- `windsurf` (surf, w) - Windsurf editor
antigravity (agy, a), cursor (c), kiro (k), vscode (code, vsc, v),
vscode-insiders (vsci, i), windsurf (surf, w)
## Architecture
## Conventions
### Core Components
- **Config files** are symlinked from this repo into each editor's config dir.
The siren script handles backup and linking per OS (macOS/Linux).
- **Extension lock files** (`extensions.<editor>.lock`) pin versions in
`publisher.name@version` format. Dual registry: OpenVSX primary, VS
Marketplace fallback, `.vsix` download as last resort.
- **settings.json and keybindings.json** are large files (~1200+ lines each)
organized with `// MARK:` comment sections. Search for `MARK:` to navigate.
- **Keybindings** follow Emacs conventions — heavy use of `ctrl+x` and `ctrl+c`
chord prefixes.
- **Siren script** (bash): uses `set -o pipefail`, requires bash 4+ (assoc
arrays), depends on `jq` and `curl`. Functions use `snake_case`.
- **siren script** - Main configuration management tool (bash script)
- **settings.json** - VSCode settings configuration
- **keybindings.json** - Custom keybindings (Emacs-inspired)
- **snippets/** - Code snippets for Go and Ruby
- **extensions.*.lock** - Extension lock files for each editor
## Scope
### Configuration Structure
- Config files are symlinked to appropriate editor directories based on OS
- Extensions are managed via lock files with version pinning
- Extensions install directly by ID with fallback to .vsix when needed
- Static symlinks for additional files like cspell dictionary and MCP config
### Key Features
- Cross-platform support (macOS/Linux)
- Version-locked extensions with fallback to .vsix downloads
- Automatic backup of existing configurations
- Emacs-inspired keybindings and workflow
- Dark/light theme switching based on system preferences
## Development Guidelines
Based on cursor/user-rules.md:
- Keep line length to 80 characters when possible
- Check Makefile for common project tasks
- Be direct and terse in communication
- Provide code solutions rather than general advice
- Include robust error handling
- Consider cross-platform compatibility
- Respect existing code comments
AI agent configurations (CLAUDE.md, commands, skills, cursor rules) are managed
in a separate repo ([jimeh/agentic](https://github.com/jimeh/agentic)). This
repo only handles editor settings, keybindings, extensions, and tool configs
(cspell, harper-ls, MCP).

1
CLAUDE.md Normal file
View File

@@ -0,0 +1 @@
@AGENTS.md

View File

@@ -1,54 +0,0 @@
# Rules to Always Follow
Below are a set of rules you should always try to strive for and follow with
everything you do.
- Try and keep line length to 80 characters or fewer when possible.
- Check and fix linting errors.
- Follow code style and conventions already present in the project when
reasonable, including choice of libraries, test frameworks, etc.
- Do break from project conventions when it fully makes sense to do, for
example, don't copy a pattern from integration-style tests into a unit test,
instead let the unit test be narrower in scope.
- Check Makefile and similar for common project tasks like lint, format, test,
etc.
- When told how to perform certain actions by executing a command, the user
means for the command to be run from the root of the project. DO NOT attempt
to modify the command to an absolute path, instead just execute the command as
instructed. There is no need to change directory into the root of the project,
as your commands already run from there.
- When I ask for a fix or explanation, please provide direct code solutions or
detailed technical explanations rather than general advice. I prefer
straightforward answers without introductory phrases like "Here's how you
can..."
- When investigating third-party libraries, use deepwiki to lookup information
about it if available.
- Include robust error handling in code examples and highlight potential edge
cases
- Flag security concerns and performance impacts in solutions
- Suggest appropriate naming conventions and code structure improvements
- Handle changes across multiple files with proper import/dependency management
- Consider version constraints and backward compatibility of
libraries/frameworks
- Generate or update docstrings/comments for new code
- Provide test examples for new functionality when relevant
- Consider build environment constraints and platform-specific issues
- If clarification is needed, make reasonable assumptions and note them
- Be casual unless otherwise specified.
- Be terse.
- Be accurate and thorough.
- Give the answer immediately. Provide detailed explanations afterward if
needed.
- Value good arguments over authorities, the source is irrelevant.
- If your content policy is an issue, provide the closest acceptable response
and explain the content policy issue afterward.
- Cite sources whenever possible at the end, not inline.
- No need to mention your knowledge cutoff.
- No need to disclose you're an AI.
- Respect my formatting preferences when you provide code.
- Respect all code comments, they're usually there for a reason. Remove them
ONLY if they're completely irrelevant after a code change. If unsure, do not
remove the comment.
- When adding new comments, they must be relevant and specific to the code in
question. They should NOT refer to any specific instructions like "use new X
function".

View File

@@ -1,6 +1,7 @@
# Custom VSCode Dictionary Words
actionnav
actool
agentic
aker
amazonses
Aonuma
@@ -31,6 +32,7 @@ chgrp
chromedriver
clipcopy
clippaste
clippy
codeium
commonmarker
compinit
@@ -51,6 +53,7 @@ deepwiki
digg
dired
direnv
DMARC
Dockerfiles
dotenv
Dreamcast
@@ -61,6 +64,7 @@ Elon
elpaca
Elric
emacsclient
endor
ENIAC
envctl
errgroup
@@ -153,6 +157,7 @@ keybase
keymap
keypair
khvagent
kira
Kiro
klogger
kluster
@@ -181,6 +186,7 @@ LIGO
Linuxbrew
Loadbalancers
localtime
lockfiles
MADR
Magento
magick
@@ -212,6 +218,7 @@ nokogiri
nolint
NTFS
nvmrc
OKLCH
Ollama
omniauth
onepassword
@@ -221,11 +228,15 @@ opentofu
openvsx
Orbstack
otelprom
OVSX
oxfmt
oxlint
pagy
pandoc
passhash
pgformatter
PGID
pipefail
pipx
PKCE
powerline
@@ -237,6 +248,7 @@ promhttp
propshaft
protoc
PUID
pyflakes
QUIC
Quiksilver
Rackup
@@ -245,6 +257,7 @@ rclone
redcarpet
Redistat
renderable
reqwest
Resolutionator
restish
rgba
@@ -254,6 +267,7 @@ romdo
Rossum
rubocop
rubygems
rustls
rustup
SAVEHIST
scaleway
@@ -261,6 +275,7 @@ sccache
schedulable
schro
scrollback
serde
setuptools
shellcheck
shfmt
@@ -298,12 +313,15 @@ tmdb
tmpl
tmuxifier
TOOLDIR
Trae
traefik
Triforce
trimpath
Truef
trunc
Turborepo
tweakable
Typesense
tzdata
ubersicht
unaliased
@@ -318,6 +336,7 @@ vcard
vcards
vitest
VPSA
vscm
vterm
Waluigi
Wario
@@ -325,6 +344,8 @@ webmock
websecure
weechat
WHMCS
wiremock
worktree
worktrees
xbar
xcrun

View File

@@ -1,265 +0,0 @@
---
source: https://github.com/RayFernando1337/llm-cursor-rules/blob/main/generate-agents.md
---
# Task: Analyze this codebase and generate a hierarchical AGENTS.md structure
## Context & Principles
You are going to help me create a **hierarchical AGENTS.md system** for this codebase. This is critical for AI coding agents to work efficiently with minimal token usage.
### Core Principles
1. **Root AGENTS.md is LIGHTWEIGHT** - Only universal guidance, links to sub-files
2. **Nearest-wins hierarchy** - Agents read the closest AGENTS.md to the file being edited
3. **JIT (Just-In-Time) indexing** - Provide paths/globs/commands, NOT full content
4. **Token efficiency** - Small, actionable guidance over encyclopedic documentation
5. **Sub-folder AGENTS.md files have MORE detail** - Specific patterns, examples, commands
## Your Process
### Phase 1: Repository Analysis
First, analyze the codebase structure and provide me with:
1. **Repository type**: Monorepo, multi-package, or simple single project?
2. **Primary technology stack**: Languages, frameworks, key tools
3. **Major directories/packages** that should have their own AGENTS.md:
- Apps (e.g., `apps/web`, `apps/api`, `apps/mobile`)
- Services (e.g., `services/auth`, `services/transcribe`)
- Packages/libs (e.g., `packages/ui`, `packages/shared`)
- Workers/jobs (e.g., `workers/queue`, `workers/cron`)
4. **Build system**: pnpm/npm/yarn workspaces? Turborepo? Lerna? Or simple?
5. **Testing setup**: Jest, Vitest, Playwright, pytest? Where are tests?
6. **Key patterns to document**:
- Code organization patterns
- Important conventions (naming, styling, commits)
- Critical files that serve as good examples
- Anti-patterns to avoid
Present this as a **structured map** before generating any AGENTS.md files.
---
### Phase 2: Generate Root AGENTS.md
Create a **lightweight root AGENTS.md** (~100-200 lines max) that includes:
#### Required Sections
**1. Project Snapshot** (3-5 lines)
- Repo type (monorepo/simple)
- Primary tech stack
- Note that sub-packages have their own AGENTS.md files
**2. Root Setup Commands** (5-10 lines)
- Install dependencies (root level)
- Build all
- Typecheck all
- Test all
**3. Universal Conventions** (5-10 lines)
- Code style (TypeScript strict? Prettier? ESLint?)
- Commit format (Conventional Commits?)
- Branch strategy
- PR requirements
**4. Security & Secrets** (3-5 lines)
- Never commit tokens
- Where secrets go (.env patterns)
- PII handling if applicable
**5. JIT Index - Directory Map** (10-20 lines)
Structure like:
```
## JIT Index (what to open, not what to paste)
### Package Structure
- Web UI: `apps/web/` → [see apps/web/AGENTS.md](apps/web/AGENTS.md)
- API: `apps/api/` → [see apps/api/AGENTS.md](apps/api/AGENTS.md)
- Auth service: `services/auth/` → [see services/auth/AGENTS.md](services/auth/AGENTS.md)
- Shared packages: `packages/**/` → [see packages/README.md for details]
### Quick Find Commands
- Search for a function: `rg -n "functionName" apps/** packages/**`
- Find a component: `rg -n "export.*ComponentName" apps/web/src`
- Find API routes: `rg -n "export const (GET|POST)" apps/api`
```
**6. Definition of Done** (3-5 lines)
- What must pass before a PR is ready
- Minimal checklist
---
### Phase 3: Generate Sub-Folder AGENTS.md Files
For EACH major package/directory identified in Phase 1, create a **detailed AGENTS.md** that includes:
#### Required Sections
**1. Package Identity** (2-3 lines)
- What this package/app/service does
- Primary tech/framework for THIS package
**2. Setup & Run** (5-10 lines)
- Install command (if different from root)
- Dev server command
- Build command
- Test command
- Lint/typecheck commands
**3. Patterns & Conventions** (10-20 lines)
**THIS IS THE MOST IMPORTANT SECTION**
- File organization rules (where things go)
- Naming conventions specific to this package
- Preferred patterns with **file examples**:
```
- ✅ DO: Use functional components like `src/components/Button.tsx`
- ❌ DON'T: Use class components like `src/legacy/OldButton.tsx`
- ✅ Forms: Copy pattern from `src/components/forms/ContactForm.tsx`
- ✅ API calls: Use `src/lib/api/client.ts` wrapper, see example in `src/hooks/useUser.ts`
```
**4. Touch Points / Key Files** (5-10 lines)
Point to the most important files to understand this package:
```
- Auth logic: `src/auth/provider.tsx`
- API client: `src/lib/api.ts`
- Types: `src/types/index.ts`
- Config: `src/config.ts`
```
**5. JIT Index Hints** (5-10 lines)
Specific search commands for this package:
```
- Find a React component: `rg -n "export function .*" src/components`
- Find a hook: `rg -n "export const use" src/hooks`
- Find route handlers: `rg -n "export async function (GET|POST)" src/app`
- Find tests: `find . -name "*.test.ts"`
```
**6. Common Gotchas** (3-5 lines, if applicable)
- "Auth requires `NEXT_PUBLIC_` prefix for client-side use"
- "Always use `@/` imports for absolute paths"
- "Database migrations must be run before tests: `pnpm db:migrate`"
**7. Pre-PR Checks** (2-3 lines)
Package-specific command to run before creating a PR:
```
pnpm --filter @repo/web typecheck && pnpm --filter @repo/web test && pnpm --filter @repo/web build
```
---
### Phase 4: Special Considerations
For each AGENTS.md file, also consider:
**A. Design System / UI Package**
If there's a design system or UI library:
```markdown
## Design System
- Components: `packages/ui/src/components/**`
- Use design tokens from `packages/ui/src/tokens.ts` (never hardcode colors)
- See component gallery: `pnpm --filter @repo/ui storybook`
- Examples:
- Buttons: Copy `packages/ui/src/components/Button/Button.tsx`
- Forms: Copy `packages/ui/src/components/Input/Input.tsx`
```
**B. Database / Data Layer**
If there's a database service:
```markdown
## Database
- ORM: Prisma / Drizzle / TypeORM
- Schema: `prisma/schema.prisma`
- Migrations: `pnpm db:migrate`
- Seed: `pnpm db:seed`
- **NEVER** run migrations in tests; use `test-db` script
- Connection: via `src/lib/db.ts` singleton
```
**C. API / Backend Service**
```markdown
## API Patterns
- REST routes: `src/routes/**/*.ts`
- Auth middleware: `src/middleware/auth.ts` (apply to protected routes)
- Validation: Use Zod schemas in `src/schemas/**`
- Error handling: All errors thrown as `ApiError` from `src/lib/errors.ts`
- Example endpoint: See `src/routes/users/get.ts` for full pattern
```
**D. Testing Package**
```markdown
## Testing
- Unit tests: `*.test.ts` colocated with source
- Integration tests: `tests/integration/**`
- E2E tests: `tests/e2e/**` (Playwright)
- Run single test: `pnpm test -- path/to/file.test.ts`
- Coverage: `pnpm test:coverage` (aim for >80%)
- Mock external APIs using `src/test/mocks/**`
```
---
## Output Format
Provide the files in this order:
1. **Analysis Summary** (from Phase 1)
2. **Root AGENTS.md** (complete, ready to copy)
3. **Each Sub-Folder AGENTS.md** (one at a time, with file path)
For each file, use this format:
```
---
File: `AGENTS.md` (root)
---
[full content here]
---
File: `apps/web/AGENTS.md`
---
[full content here]
---
File: `services/auth/AGENTS.md`
---
[full content here]
```
---
## Constraints & Quality Checks
Before generating, verify:
- [ ] Root AGENTS.md is under 200 lines
- [ ] Root links to all sub-AGENTS.md files
- [ ] Each sub-file has concrete examples (actual file paths)
- [ ] Commands are copy-paste ready (no placeholders unless unavoidable)
- [ ] No duplication between root and sub-files
- [ ] JIT hints use actual patterns from the codebase (ripgrep, find, glob)
- [ ] Every "✅ DO" has a real file example
- [ ] Every "❌ DON'T" references a real anti-pattern or legacy file
- [ ] Pre-PR checks are single copy-paste commands

View File

@@ -1,7 +1,3 @@
{
"mcpServers": {
"deepwiki": {
"url": "https://mcp.deepwiki.com/mcp"
}
}
"mcpServers": {}
}

View File

@@ -1 +0,0 @@
../claude/CLAUDE.md

View File

@@ -1,19 +1,19 @@
# cursor Extensions
# Generated on Thu Jan 15 21:31:02 GMT 2026
# Version: 2.3.35 (cf8353edc265f5e46b798bfb276861d0bf3bf120, arm64)
# Generated on Wed Feb 18 10:21:18 GMT 2026
# Version: 2.5.17 (7b98dcb824ea96c9c62362a5e80dbf0d1aae4770, arm64)
ahmadalli.vscode-nginx-conf@0.3.5
alefragnani.project-manager@13.0.0
anthropic.claude-code@2.1.7
anthropic.claude-code@2.1.45
antiantisepticeye.vscode-color-picker@0.0.4
antyos.openscad@1.3.2
anysphere.cpptools@2.0.2
anysphere.csharp@1.0.1
anysphere.cursor-lsp-profiler@1.0.0
anysphere.cursorpyright@1.0.10
anysphere.remote-containers@1.0.30
anysphere.remote-ssh@1.0.38
anysphere.remote-wsl@1.0.12
anysphere.remote-containers@1.0.32
anysphere.remote-ssh@1.0.39
anysphere.remote-wsl@1.0.13
arrterian.nix-env-selector@1.1.0
arturodent.command-alias@0.6.2
astro-build.astro-vscode@2.16.8
@@ -29,7 +29,7 @@ bierner.markdown-yaml-preamble@0.1.0
bmarkovic.haproxy@0.1.2
bodil.file-browser@0.2.11
britesnow.vscode-toggle-quotes@0.3.6
bufbuild.vscode-buf@0.8.1
bufbuild.vscode-buf@0.8.13
carlos-algms.make-task-provider@2.4.2
christian-kohler.path-intellisense@2.8.0
connor4312.esbuild-problem-matchers@0.0.3
@@ -37,12 +37,12 @@ ctf0.macros@1.1.1
davidanson.vscode-markdownlint@0.61.1
dbaeumer.vscode-eslint@3.0.20
deerawan.vscode-faker@2.0.0
dnut.rewrap-revived@1.16.3
dnut.rewrap-revived@17.9.0
drblury.protobuf-vsc@1.4.28
editorconfig.editorconfig@0.17.4
elijah-potter.harper@1.4.1
elijah-potter.harper@1.7.0
emeraldwalk.runonsave@0.3.2
esbenp.prettier-vscode@11.0.2
esbenp.prettier-vscode@12.3.0
exiasr.hadolint@1.1.2
expo.vscode-expo-tools@1.6.2
fogio.inline-go-struct-tags-syntax-highlight@1.0.0
@@ -51,28 +51,33 @@ github.vscode-github-actions@0.29.1
github.vscode-pull-request-github@0.120.2
gofenix.go-lines@0.0.10
golang.go@0.52.1
google.gemini-cli-vscode-ide-companion@0.20.0
gruntfuggly.todo-tree@0.0.215
hashicorp.terraform@2.37.6
hashicorp.hcl@0.5.0
hashicorp.terraform@2.37.7
hoovercj.vscode-settings-cycler@1.0.1
humao.rest-client@0.25.0
hverlin.mise-vscode@1.3.0
jackiotyu.git-worktree-manager@3.23.0
jakearl.search-editor-apply-changes@0.1.1
jimeh.actionlint@0.1.3
jimeh.executable-on-save@0.2.5
jimeh.glaze@0.1.4
jnoortheen.nix-ide@0.5.5
joshbolduc.commitlint@2.6.3
joshmu.periscope@1.15.1
joshmu.periscope@1.16.1
kahole.magit@0.6.68
karunamurti.haml@1.4.1
kilocode.kilo-code@4.143.2
kilocode.kilo-code@5.7.0
koichisasada.vscode-rdbg@0.2.1
letrieu.expand-region@0.1.4
llvm-vs-code-extensions.lldb-dap@0.4.1
llvm-vs-code-extensions.vscode-clangd@0.2.0
llvm-vs-code-extensions.vscode-clangd@0.4.0
m4ns0ur.base64@1.0.0
mads-hartmann.bash-ide-vscode@1.43.0
matthewpi.caddyfile-support@0.4.0
mattn.lisp@0.1.12
mermaidchart.vscode-mermaid-chart@2.3.0
mermaidchart.vscode-mermaid-chart@2.5.8
mhutchie.git-graph@1.30.0
mkhl.direnv@0.17.0
mrmlnc.vscode-duplicate@1.2.1
@@ -88,39 +93,42 @@ ms-vscode.remote-repositories@0.43.2025081801
ms-vscode.vscode-speech@0.16.0
ms-vsliveshare.vsliveshare@1.0.5959
ninoseki.vscode-mogami@0.1.6
openai.chatgpt@0.4.60
openai.chatgpt@0.4.76
orta.vscode-jest@6.4.4
oxc.oxc-vscode@1.45.0
pflannery.vscode-versionlens@1.22.4
pkief.material-icon-theme@5.30.0
pkief.material-icon-theme@5.31.0
pomdtr.excalidraw-editor@3.9.0
qingpeng.common-lisp@1.2.11
redhat.vscode-xml@0.29.0
redhat.vscode-yaml@1.19.1
repreng.csv@1.2.2
redhat.vscode-yaml@1.20.0
repreng.csv@1.3.0
romanpeshkov.vscode-text-tables@0.1.5
rrudi.vscode-dired@0.0.9
runem.lit-plugin@1.2.1
rust-lang.rust-analyzer@0.3.2753
rust-lang.rust-analyzer@0.3.2795
shopify.ruby-extensions-pack@0.1.13
shopify.ruby-lsp@0.9.32
shopify.ruby-lsp@0.10.0
sidneys1.gitconfig@2.0.1
sorbet.sorbet-vscode-extension@0.3.46
soutaro.rbs-syntax@0.3.1
soutaro.steep-vscode@0.10.0
streetsidesoftware.code-spell-checker@4.4.0
streetsidesoftware.code-spell-checker@4.5.6
stuart.unique-window-colors@1.0.51
sumneko.lua@3.16.4
svelte.svelte-vscode@109.12.1
stylelint.vscode-stylelint@2.0.0
sumneko.lua@3.17.1
svelte.svelte-vscode@109.13.0
swellaby.workspace-config-plus@0.2.5
swiftlang.swift-vscode@2.14.3
swiftlang.swift-vscode@2.16.1
tamasfe.even-better-toml@0.21.2
tootone.org-mode@0.5.0
tuttieee.emacs-mcx@0.93.0
tuttieee.emacs-mcx@0.107.2
tyriar.sort-lines@1.9.1
unifiedjs.vscode-mdx@1.8.17
vadimcn.vscode-lldb@1.12.1
viktorzetterstrom.non-breaking-space-highlighter@0.0.3
vitest.explorer@1.38.0
vitest.explorer@1.44.0
wenhoujx.swiper@2.1.2
zhuangtongfa.material-theme@3.19.0
ziglang.vscode-zig@0.6.17
ziyasal.vscode-open-in-github@1.3.6

View File

@@ -1,10 +1,11 @@
# vscode-insiders Extensions
# Generated on Thu Jan 15 21:54:07 GMT 2026
# Version: 1.108.0-insider (31de8ea351f73eb2071e36e415ae1970749f91fd, arm64)
# Generated on Mon Feb 2 12:16:21 GMT 2026
# Version: 1.109.0-insider (f3d99dee2f4c63061a08f828e0ca6b6acf6ac0f8, arm64)
ahmadalli.vscode-nginx-conf@0.3.5
alefragnani.project-manager@13.0.1
anthropic.claude-code@2.1.7
anthropic.claude-code@2.1.29
antiantisepticeye.vscode-color-picker@0.0.4
antyos.openscad@1.3.2
arrterian.nix-env-selector@1.1.0
arturodent.command-alias@0.6.2
@@ -15,13 +16,13 @@ bierner.github-markdown-preview@0.3.0
bierner.markdown-checkbox@0.4.0
bierner.markdown-emoji@0.3.1
bierner.markdown-footnotes@0.1.1
bierner.markdown-mermaid@1.29.0
bierner.markdown-mermaid@1.31.0
bierner.markdown-preview-github-styles@2.2.0
bierner.markdown-yaml-preamble@0.1.0
bmarkovic.haproxy@0.1.2
bodil.file-browser@0.2.11
britesnow.vscode-toggle-quotes@0.3.6
bufbuild.vscode-buf@0.8.1
bufbuild.vscode-buf@0.8.13
carlos-algms.make-task-provider@2.5.1
christian-kohler.path-intellisense@2.10.0
connor4312.esbuild-problem-matchers@0.0.3
@@ -31,25 +32,26 @@ dbaeumer.vscode-eslint@3.0.21
deerawan.vscode-faker@2.0.0
dnut.rewrap-revived@17.9.0
drblury.protobuf-vsc@1.4.28
editorconfig.editorconfig@0.17.4
elijah-potter.harper@1.4.1
editorconfig.editorconfig@0.18.1
elijah-potter.harper@1.5.1
emeraldwalk.runonsave@1.1.5
esbenp.prettier-vscode@11.0.2
esbenp.prettier-vscode@12.3.0
exiasr.hadolint@1.1.2
expo.vscode-expo-tools@1.6.2
fogio.inline-go-struct-tags-syntax-highlight@1.0.0
github.copilot@1.388.0
github.copilot-chat@0.36.2026010701
github.remotehub@0.65.2025081801
github.vscode-github-actions@0.29.1
github.vscode-pull-request-github@0.127.2026011304
github.copilot-chat@0.37.2026013101
github.remotehub@0.65.2026012801
github.vscode-github-actions@0.31.0
github.vscode-pull-request-github@0.127.2026013004
gofenix.go-lines@0.0.10
golang.go@0.53.0
golang.go@0.53.1
gruntfuggly.todo-tree@0.0.226
hashicorp.terraform@2.37.2025092217
hoovercj.vscode-settings-cycler@1.0.1
humao.rest-client@0.25.1
hverlin.mise-vscode@1.3.0
jackiotyu.git-worktree-manager@3.22.3
jakearl.search-editor-apply-changes@0.1.1
jimeh.executable-on-save@0.2.5
jnoortheen.nix-ide@0.5.5
@@ -57,72 +59,72 @@ joshbolduc.commitlint@2.6.3
joshmu.periscope@1.15.1
kahole.magit@0.6.68
karunamurti.haml@1.4.1
kilocode.kilo-code@4.147.0
kilocode.kilo-code@5.2.1
koichisasada.vscode-rdbg@0.2.2
letrieu.expand-region@0.1.4
llvm-vs-code-extensions.lldb-dap@0.5.20260107
llvm-vs-code-extensions.vscode-clangd@0.3.2
llvm-vs-code-extensions.lldb-dap@0.5.20260201
llvm-vs-code-extensions.vscode-clangd@0.4.0
m4ns0ur.base64@1.0.0
mads-hartmann.bash-ide-vscode@1.43.0
matthewpi.caddyfile-support@0.4.0
mattn.lisp@0.1.12
mermaidchart.vscode-mermaid-chart@2.5.7
mermaidchart.vscode-mermaid-chart@2.5.8
mhutchie.git-graph@1.30.0
mkhl.direnv@0.17.0
mrmlnc.vscode-duplicate@1.2.1
ms-azuretools.vscode-containers@2.3.0
ms-azuretools.vscode-containers@2.4.0
ms-dotnettools.vscode-dotnet-runtime@3.0.0
ms-kubernetes-tools.vscode-kubernetes-tools@1.3.29
ms-python.debugpy@2025.19.2026011501
ms-python.python@2026.1.2026011501
ms-python.debugpy@2025.19.2026012701
ms-python.python@2026.1.2026012801
ms-python.vscode-pylance@2025.10.4
ms-python.vscode-python-envs@1.17.10151015
ms-vscode-remote.remote-containers@0.439.0
ms-vscode-remote.remote-ssh@0.123.2025121615
ms-python.vscode-python-envs@1.17.10291014
ms-vscode-remote.remote-containers@0.441.0
ms-vscode-remote.remote-ssh@0.123.2026012215
ms-vscode-remote.remote-ssh-edit@0.87.0
ms-vscode.azure-repos@0.41.2025081801
ms-vscode.cmake-tools@1.22.23
ms-vscode.azure-repos@0.41.2026012801
ms-vscode.cmake-tools@1.23.1
ms-vscode.extension-test-runner@0.0.14
ms-vscode.hexeditor@1.11.1
ms-vscode.remote-explorer@0.6.2025081809
ms-vscode.remote-repositories@0.43.2025081801
ms-vscode.remote-repositories@0.43.2026012801
ms-vscode.remote-server@1.6.2026011209
ms-vscode.vscode-speech@0.16.0
ms-vsliveshare.vsliveshare@1.0.5959
ninoseki.vscode-mogami@0.1.9
openai.chatgpt@0.5.60
openai.chatgpt@0.5.68
orta.vscode-jest@6.4.4
pflannery.vscode-versionlens@1.22.4
pkief.material-icon-theme@5.30.0
pkief.material-icon-theme@5.31.0
pomdtr.excalidraw-editor@3.9.0
qingpeng.common-lisp@1.2.11
redhat.vscode-xml@0.29.2025112508
redhat.vscode-yaml@1.20.2026011408
redhat.vscode-yaml@1.20.2026013108
repreng.csv@1.2.2
romanpeshkov.vscode-text-tables@0.1.5
rrudi.vscode-dired@0.0.9
runem.lit-plugin@1.4.3
rust-lang.rust-analyzer@0.4.2756
rust-lang.rust-analyzer@0.4.2776
shopify.ruby-extensions-pack@0.1.13
shopify.ruby-lsp@0.9.32
shopify.ruby-lsp@0.10.0
sidneys1.gitconfig@2.0.1
sorbet.sorbet-vscode-extension@0.3.46
soutaro.rbs-syntax@0.3.1
soutaro.steep-vscode@0.10.0
streetsidesoftware.code-spell-checker@4.4.0
stuart.unique-window-colors@1.0.51
sumneko.lua@3.16.4
svelte.svelte-vscode@109.12.1
sumneko.lua@3.17.1
svelte.svelte-vscode@109.13.0
swellaby.workspace-config-plus@0.2.5
swiftlang.swift-vscode@2.14.3
swiftlang.swift-vscode@2.16.0
tamasfe.even-better-toml@0.21.2
tootone.org-mode@0.5.0
tuttieee.emacs-mcx@0.105.0
tuttieee.emacs-mcx@0.106.0
tyriar.sort-lines@1.12.0
unifiedjs.vscode-mdx@1.8.17
vadimcn.vscode-lldb@1.12.1
viktorzetterstrom.non-breaking-space-highlighter@0.0.3
vitest.explorer@1.38.0
vitest.explorer@1.38.1
wenhoujx.swiper@2.1.2
zhuangtongfa.material-theme@3.19.0
ziyasal.vscode-open-in-github@1.3.6

View File

@@ -1,27 +1,27 @@
# vscode Extensions
# Generated on Thu Jan 8 14:02:07 GMT 2026
# Version: 1.107.1 (994fd12f8d3a5aa16f17d42c041e5809167e845a, arm64)
# Generated on Sun Feb 8 19:45:04 GMT 2026
# Version: 1.109.0 (bdd88df003631aaa0bcbe057cb0a940b80a476fa, arm64)
ahmadalli.vscode-nginx-conf@0.3.5
alefragnani.project-manager@13.0.1
anthropic.claude-code@2.1.1
anthropic.claude-code@2.1.37
antyos.openscad@1.3.2
arrterian.nix-env-selector@1.1.0
arturodent.command-alias@0.6.2
astro-build.astro-vscode@2.16.5
astro-build.astro-vscode@2.16.8
benspaulding.procfile@1.1.7
bibhasdn.unique-lines@1.0.0
bierner.github-markdown-preview@0.3.0
bierner.markdown-checkbox@0.4.0
bierner.markdown-emoji@0.3.1
bierner.markdown-footnotes@0.1.1
bierner.markdown-mermaid@1.29.0
bierner.markdown-mermaid@1.31.1
bierner.markdown-preview-github-styles@2.2.0
bierner.markdown-yaml-preamble@0.1.0
bmarkovic.haproxy@0.1.2
bodil.file-browser@0.2.11
britesnow.vscode-toggle-quotes@0.3.6
bufbuild.vscode-buf@0.8.1
bufbuild.vscode-buf@0.8.13
carlos-algms.make-task-provider@2.5.1
christian-kohler.path-intellisense@2.10.0
connor4312.esbuild-problem-matchers@0.0.3
@@ -30,58 +30,59 @@ davidanson.vscode-markdownlint@0.61.1
dbaeumer.vscode-eslint@3.0.20
deerawan.vscode-faker@2.0.0
dnut.rewrap-revived@1.16.3
drblury.protobuf-vsc@1.4.28
editorconfig.editorconfig@0.17.4
elijah-potter.harper@1.4.0
drblury.protobuf-vsc@1.6.0
editorconfig.editorconfig@0.18.1
elijah-potter.harper@1.6.0
emeraldwalk.runonsave@1.0.3
esbenp.prettier-vscode@11.0.2
esbenp.prettier-vscode@12.3.0
exiasr.hadolint@1.1.2
expo.vscode-expo-tools@1.6.2
fogio.inline-go-struct-tags-syntax-highlight@1.0.0
github.copilot@1.388.0
github.copilot-chat@0.35.3
github.copilot-chat@0.37.1
github.remotehub@0.64.0
github.vscode-github-actions@0.29.1
github.vscode-pull-request-github@0.124.1
github.vscode-github-actions@0.31.0
github.vscode-pull-request-github@0.128.0
gofenix.go-lines@0.0.10
golang.go@0.52.1
golang.go@0.52.2
gruntfuggly.todo-tree@0.0.226
hashicorp.hcl@0.6.0
hashicorp.terraform@2.37.6
hoovercj.vscode-settings-cycler@1.0.1
humao.rest-client@0.25.1
hverlin.mise-vscode@1.2.0
hverlin.mise-vscode@1.3.0
jackiotyu.git-worktree-manager@3.22.3
jakearl.search-editor-apply-changes@0.1.1
jimeh.executable-on-save@0.2.5
jnoortheen.nix-ide@0.5.5
joshbolduc.commitlint@2.6.3
joshmu.periscope@1.15.1
joshmu.periscope@1.16.1
kahole.magit@0.6.68
karunamurti.haml@1.4.1
kilocode.kilo-code@4.143.2
kilocode.kilo-code@5.4.1
koichisasada.vscode-rdbg@0.2.2
letrieu.expand-region@0.1.4
llvm-vs-code-extensions.lldb-dap@0.4.1
llvm-vs-code-extensions.vscode-clangd@0.2.0
llvm-vs-code-extensions.vscode-clangd@0.4.0
m4ns0ur.base64@1.0.0
mads-hartmann.bash-ide-vscode@1.43.0
matthewpi.caddyfile-support@0.4.0
mattn.lisp@0.1.12
mermaidchart.vscode-mermaid-chart@2.5.6
mermaidchart.vscode-mermaid-chart@2.5.8
mhutchie.git-graph@1.30.0
mkhl.direnv@0.17.0
mrmlnc.vscode-duplicate@1.2.1
ms-azuretools.vscode-containers@2.3.0
ms-azuretools.vscode-containers@2.4.1
ms-dotnettools.vscode-dotnet-runtime@3.0.0
ms-kubernetes-tools.vscode-kubernetes-tools@1.3.28
ms-kubernetes-tools.vscode-kubernetes-tools@1.3.29
ms-python.debugpy@2025.18.0
ms-python.python@2025.20.1
ms-python.python@2026.0.0
ms-python.vscode-pylance@2025.10.4
ms-python.vscode-python-envs@1.14.0
ms-vscode-remote.remote-containers@0.434.0
ms-python.vscode-python-envs@1.16.0
ms-vscode-remote.remote-containers@0.442.0
ms-vscode-remote.remote-ssh@0.122.0
ms-vscode-remote.remote-ssh-edit@0.87.0
ms-vscode.azure-repos@0.40.0
ms-vscode.cmake-tools@1.21.36
ms-vscode.cmake-tools@1.22.27
ms-vscode.extension-test-runner@0.0.14
ms-vscode.hexeditor@1.11.1
ms-vscode.remote-explorer@0.5.0
@@ -90,36 +91,42 @@ ms-vscode.remote-server@1.5.3
ms-vscode.vscode-speech@0.16.0
ms-vsliveshare.vsliveshare@1.0.5959
ninoseki.vscode-mogami@0.1.9
openai.chatgpt@0.4.58
openai.chatgpt@0.4.71
orta.vscode-jest@6.4.4
oxc.oxc-vscode@1.44.0
pflannery.vscode-versionlens@1.22.4
pkief.material-icon-theme@5.30.0
pomdtr.excalidraw-editor@3.9.0
pkief.material-icon-theme@5.31.0
pomdtr.excalidraw-editor@3.9.1
qingpeng.common-lisp@1.2.11
redhat.vscode-xml@0.29.0
redhat.vscode-yaml@1.19.1
repreng.csv@1.2.2
repreng.csv@1.3.0
romanpeshkov.vscode-text-tables@0.1.5
rrudi.vscode-dired@0.0.9
runem.lit-plugin@1.4.3
rust-lang.rust-analyzer@0.3.2743
rust-lang.rust-analyzer@0.3.2777
shopify.ruby-extensions-pack@0.1.13
shopify.ruby-lsp@0.9.32
shopify.ruby-lsp@0.10.0
sidneys1.gitconfig@2.0.1
sorbet.sorbet-vscode-extension@0.3.46
soutaro.rbs-syntax@0.3.1
soutaro.steep-vscode@0.10.0
streetsidesoftware.code-spell-checker@4.4.0
stuart.unique-window-colors@1.0.51
sumneko.lua@3.16.4
svelte.svelte-vscode@109.12.1
stylelint.vscode-stylelint@2.0.2
sumneko.lua@3.17.1
svelte.svelte-vscode@109.13.0
swellaby.workspace-config-plus@0.2.5
swiftlang.swift-vscode@2.14.2
swiftlang.swift-vscode@2.16.1
tamasfe.even-better-toml@0.21.2
tootone.org-mode@0.5.0
tuttieee.emacs-mcx@0.103.0
tuttieee.emacs-mcx@0.107.1
tyriar.sort-lines@1.12.0
unifiedjs.vscode-mdx@1.8.17
vadimcn.vscode-lldb@1.12.1
viktorzetterstrom.non-breaking-space-highlighter@0.0.3
vitest.explorer@1.36.0
vitest.explorer@1.42.1
wenhoujx.swiper@2.1.2
zhuangtongfa.material-theme@3.19.0
ziglang.vscode-zig@0.6.17
ziyasal.vscode-open-in-github@1.3.6

View File

@@ -22,6 +22,7 @@ Cascadea
Castlevania
ClassLength
CommandError
Context7
ControllerDelegate
Cron
Crysis
@@ -44,6 +45,7 @@ Elric
Evernote
Excalidraw
FQDN
FactoryBot
Falsef
Fightstar
Fukushima
@@ -115,6 +117,7 @@ NFS
NeXTSTEP
Neumann
Niantic
OAuth2
OIDC
OPENSTEP
Oculus
@@ -157,13 +160,18 @@ TMPDIR
TOML
TOOLDIR
TiB
Trae
Traefik's
Triforce
Truef
Turborepo
Unallocating
VPS
VPSA
VSCode's
VSCodium
ViewComponent
Vitest
WHMCS
Waluigi
Wario
@@ -179,6 +187,7 @@ Zelda
ZiB
actionnav
actool
ai
aker
amazonses
antigravity
@@ -201,14 +210,17 @@ buildx
byebug
cadvisor
casecmp
cgroups
chardata
checkin
chgrp
chromedriver
claude
clipcopy
clippaste
cmd
codeium
colocated
commonmarker
compat
compinit
@@ -283,6 +295,7 @@ helmfile
hexedit
hostnames
href
https
hyprevisors
icns
iconset
@@ -337,7 +350,9 @@ lockfile
mTLS
magick
magit
markdown
maxWait
md
mergiraf
meshery
metricks
@@ -376,6 +391,7 @@ passhash
pbcopy
pgformatter
pipx
pnpm
powerline
powify
preprod
@@ -438,6 +454,7 @@ trimpath
triskaidekaphobia
trunc
tweakable
typecheck
tzdata
ubersicht
ubi
@@ -453,6 +470,7 @@ valkey
vcard
vcards
von
vscm
vscode
vsix
vterm
@@ -460,6 +478,7 @@ webmock
websecure
websocket
weechat
worktree
worktrees
xbar
xcrun

View File

@@ -22,34 +22,45 @@
},
//
// ===========================================================================
// MARK: Cursor (Text Editor)
// MARK: Claude Code
// ===========================================================================
// Extension:
// - https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code
//
{ // Toggle Agent.
{ // Focus Claude Code sidebar.
"key": "cmd+i",
"command": "composerMode.agent"
"command": "claude-vscode.focus",
"when": "editorTextFocus && !config.claudeCode.useTerminal"
},
{ // Toggle Plan.
"key": "alt+cmd+i",
"command": "composerMode.plan"
{ // Blur Claude Code sidebar.
"key": "cmd+i",
"command": "claude-vscode.blur",
"when": "!config.claudeCode.useTerminal && !editorTextFocus"
},
{ // Toggle Ask.
"key": "cmd+l",
"command": "composerMode.chat"
},
//
// ===========================================================================
// MARK: Claude Code (Terminal)
// ===========================================================================
//
{
{ // Enable new lines in terminal.
"key": "shift+enter",
"command": "workbench.action.terminal.sendSequence",
"args": {
"text": "\\\r\n"
"text": "\u001b[13;2u"
},
"when": "terminalFocus"
},
{ // Disable default open native console (External Terminal) keybinding.
"key": "shift+cmd+c",
"command": "-workbench.action.terminal.openNativeConsole",
"when": "!terminalFocus"
},
{ // Open Claude terminal in editor tab to the side (locked group).
"key": "shift+cmd+c",
"command": "macros.openClaudeTerminalBeside"
},
{ // Open Claude terminal.
"key": "alt+shift+cmd+c",
"command": "workbench.action.terminal.newWithProfile",
"args": {
"profileName": "Claude"
}
},
//
// ===========================================================================
// MARK: Window
@@ -59,10 +70,50 @@
"key": "cmd+0",
"command": "workbench.action.zoomReset"
},
{ // Toggle sidebar visibility.
{ // Toggle sidebar.
"key": "ctrl+s",
"command": "workbench.action.toggleSidebarVisibility"
},
{ // Toggle secondary (auxiliary) bar.
"key": "cmd+b",
"command": "workbench.action.toggleAuxiliaryBar",
"when": "!isAuxiliaryWindowFocusedContext"
},
{ // Disable default toggle sidebar visibility keybinding.
"key": "cmd+b",
"command": "-workbench.action.toggleSidebarVisibility",
"when": "!isAuxiliaryWindowFocusedContext"
},
{ // Disable default toggle secondary (auxiliary) bar keybinding.
"key": "alt+cmd+b",
"command": "-workbench.action.toggleAuxiliaryBar",
"when": "!isAuxiliaryWindowFocusedContext"
},
{ // Disable cmd+b keybinding for mdx.toggleStrong.
"key": "cmd+b",
"command": "-mdx.toggleStrong",
"when": "editorTextFocus && !editorReadonly && editorLangId == 'mdx'"
},
{ // Disable cmd+b keybinding for emacs-mcx.isearchExit.
"key": "cmd+b",
"command": "-emacs-mcx.isearchExit",
"when": "config.emacs-mcx.useMetaPrefixMacCmd && editorFocus && findWidgetVisible && !config.emacs-mcx.cursorMoveOnFindWidget && !isComposing && !replaceInputFocussed"
},
{ // Disable cmd+b keybinding for emacs-mcx.backwardWord.
"key": "cmd+b",
"command": "-emacs-mcx.backwardWord",
"when": "config.emacs-mcx.useMetaPrefixMacCmd && editorTextFocus"
},
{ // Disable cmd+b keybinding for workbench.action.terminal.sendSequence.
"key": "cmd+b",
"command": "-workbench.action.terminal.sendSequence",
"when": "config.emacs-mcx.useMetaPrefixMacCmd && terminalFocus && terminalShellType != 'pwsh'"
},
{
"key": "cmd+b",
"command": "-workbench.action.terminal.sendSequence",
"when": "config.emacs-mcx.useMetaPrefixMacCmd && terminalFocus && terminalShellType == 'pwsh'"
},
//
// ===========================================================================
// MARK: Window Tabs

View File

@@ -1,8 +1,4 @@
{
"servers": {
"deepwiki": {
"url": "https://mcp.deepwiki.com/mcp"
}
},
"servers": {},
"inputs": []
}

View File

@@ -10,9 +10,9 @@
//
// Theme
"workbench.colorTheme": "One Dark Pro",
"workbench.iconTheme": "material-icon-theme",
"workbench.preferredDarkColorTheme": "One Dark Pro",
"workbench.preferredLightColorTheme": "Solarized Light",
"workbench.iconTheme": "material-icon-theme",
//
// One Dark Pro theme settings
"oneDarkPro.vivid": true,
@@ -24,15 +24,54 @@
//
// Disable automatic extension updates.
"extensions.autoUpdate": false,
//
// ===========================================================================
// MARK: Window
// ===========================================================================
//
"window.commandCenter": true,
"window.customTitleBarVisibility": "auto",
"window.nativeFullScreen": false, // Does not work with nativeTabs enabled.
"window.nativeTabs": true,
"window.title": "${rootName}${separator}${profileName}",
// Enabling nativeTabs prevents custom title bar styling, and non-native
// fullscreen modes.
"window.nativeTabs": true,
// Requires nativeTabs to be disabled.
"window.nativeFullScreen": false,
// Requires nativeTabs to be disabled, and nativeFullScreen to be enabled.
"window.titleBarStyle": "custom",
//
// ===========================================================================
// MARK: Window Decorations
// ===========================================================================
// Extension:
// - https://marketplace.visualstudio.com/items?itemName=jimeh.glaze
//
"glaze.enabled": true,
"glaze.elements.statusBar": false,
"glaze.elements.activityBar": false,
//
// ===========================================================================
// MARK: Workbench
// ===========================================================================
//
// Activity Bar
"workbench.activityBar.location": "default",
"workbench.activityBar.orientation": "vertical",
//
// Command Palette
"workbench.commandPalette.history": 250,
"workbench.commandPalette.preserveInput": true,
//
// Hover
"workbench.hover.delay": 200,
//
// Local History
"workbench.localHistory.maxFileEntries": 250,
"workbench.localHistory.maxFileSize": 512,
//
// Tree
"workbench.tree.indent": 18,
"workbench.tree.renderIndentGuides": "always",
//
// ===========================================================================
// MARK: Cursor (Text Editor)
@@ -97,9 +136,25 @@
// MARK: Chat (VSCode)
// ===========================================================================
//
"chat.agentSessionProjection.enabled": true,
"chat.agentsControl.enabled": true,
"chat.checkpoints.showFileChanges": true,
"chat.commandCenter.enabled": false,
"chat.edits2.enabled": true,
"chat.mcp.gallery.enabled": true,
"chat.tools.terminal.outputLocation": "chat",
"chat.unifiedAgentsBar.enabled": true,
"chat.useNestedAgentsMdFiles": true,
"chat.viewSessions.orientation": "stacked",
"inlineChat.showGutterMenu": false,
//
// ===========================================================================
// MARK: Claude Code
// ===========================================================================
// Extension:
// - https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code
//
"claudeCode.preferredLocation": "sidebar",
//
// ===========================================================================
// MARK: Editor
@@ -127,7 +182,6 @@
//
// Rulers
"editor.rulers": [
72,
80,
100,
120
@@ -149,30 +203,13 @@
"workbench.editor.highlightModifiedTabs": true,
//
// Accessibility
"editor.accessibilitySupport": "off",
//
// ===========================================================================
// MARK: Workbench
// ===========================================================================
//
// Activity Bar
"workbench.activityBar.location": "default",
"workbench.activityBar.orientation": "horizontal",
//
// Command Palette
"workbench.commandPalette.history": 250,
"workbench.commandPalette.preserveInput": true,
//
// Hover
"workbench.hover.delay": 200,
//
// Local History
"workbench.localHistory.maxFileEntries": 250,
"workbench.localHistory.maxFileSize": 512,
//
// Tree
"workbench.tree.indent": 18,
"workbench.tree.renderIndentGuides": "always",
"editor.accessibilitySupport": "on",
"accessibility.windowTitleOptimized": false,
// Force silence accessibility signal noises. Wisper Flow's editor integration
// works as a screen reader, which activates VSCode's accessiblity support,
// but that also comes with various sound queues on various operations. Hence
// we silence them by setting volume to 0%.
"accessibility.signalOptions.volume": 0,
//
// ===========================================================================
// MARK: Explorer
@@ -225,6 +262,7 @@
// MARK: Git
// ===========================================================================
//
"git.autofetch": true,
"git.autoStash": true,
"git.blame.editorDecoration.enabled": false,
"git.detectSubmodules": true,
@@ -233,10 +271,46 @@
"scm.defaultViewMode": "tree",
//
// ===========================================================================
// MARK: GitHub
// ===========================================================================
// Extensions:
// - https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github
// - https://marketplace.visualstudio.com/items?itemName=GitHub.remotehub
//
"githubRepositories.autoFetch.enabled": true,
//
// ===========================================================================
// MARK: Git Graph
// ===========================================================================
// Extension:
// - https://marketplace.visualstudio.com/items?itemName=mhutchie.git-graph
//
"git-graph.dialog.fetchRemote.prune": true,
//
// ===========================================================================
// MARK: Git Worktree Manager
// ===========================================================================
// Extension:
// - https://marketplace.visualstudio.com/items?itemName=jackiotyu.git-worktree-manager
//
"git-worktree-manager.terminalNameTemplate": "$LABEL ⇄",
"git-worktree-manager.treeView.toSCM": true,
"git-worktree-manager.treeView.worktreeDescriptionTemplate": "$BASE_NAME",
"git-worktree-manager.worktreeCopyPatterns": [
"*.local",
".claude/settings.local.json",
".env",
".vscode/settings.json",
".vscode/settings.local.json"
],
//
// ===========================================================================
// MARK: Diffs
// ===========================================================================
//
"diffEditor.experimental.showMoves": true,
"diffEditor.ignoreTrimWhitespace": false,
"diffEditor.renderSideBySide": true,
//
// ===========================================================================
// MARK: Terminal
@@ -249,8 +323,23 @@
"terminal.integrated.defaultProfile.osx": "zsh",
"terminal.integrated.macOptionIsMeta": true,
"terminal.integrated.persistentSessionScrollback": 1000,
"terminal.integrated.profiles.osx": {
"Claude": {
"path": "claude",
"icon": "sparkle"
}
},
"terminal.integrated.profiles.linux": {
"Claude": {
"path": "claude",
"icon": "sparkle"
}
},
"terminal.integrated.tabs.title": "${sequence}",
"terminal.integrated.scrollback": 50000,
"terminal.integrated.enableKittyKeyboardProtocol": true,
"terminal.integrated.sendKeybindingsToShell": true,
"terminal.integrated.shellIntegration.enabled": true,
//
// ===========================================================================
// MARK: Awesome Emacs Keybindings
@@ -272,11 +361,14 @@
"file-browser.labelIgnoredFiles": true,
//
// ===========================================================================
// MARK: Spell Check
// MARK: Spell Checkers
// ===========================================================================
// Extension:
// Extensions:
// - https://marketplace.visualstudio.com/items?itemName=elijah-potter.harper
// - https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker
//
"harper.isolateEnglish": true,
"harper.linters.Dashes": false,
"cSpell.checkVSCodeSystemFiles": true,
"cSpell.customDictionaries": {
// Run the `./siren <editor> config` command to symlink
@@ -351,15 +443,6 @@
],
//
// ===========================================================================
// MARK: GitHub
// ===========================================================================
// Extensions:
// - https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github
// - https://marketplace.visualstudio.com/items?itemName=GitHub.remotehub
//
"githubRepositories.autoFetch.enabled": false,
//
// ===========================================================================
// MARK: Mise (https://mise.jdx.dev/)
// ===========================================================================
// Extension:
@@ -649,6 +732,7 @@
"url": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/manifest.json"
}
],
"json.schemaDownload.enable": true,
//
// ===========================================================================
// MARK: Lang: JavaScript
@@ -729,6 +813,9 @@
},
"line-length": { // MD013
"line_length": 80,
"code_blocks": false,
"ignore_code_blocks": true,
"code_block_line_length": 280,
"tables": false
}
},
@@ -779,6 +866,9 @@
// Extensions:
// - https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer
//
"[rust]": {
"editor.defaultFormatter": "rust-lang.rust-analyzer"
},
"rust-analyzer.testExplorer": true,
//
// ===========================================================================
@@ -809,6 +899,14 @@
},
//
// ===========================================================================
// MARK: Lang: Zig
// ===========================================================================
// Extension:
// - https://marketplace.visualstudio.com/items?itemName=ziglang.vscode-zig
//
"zig.zls.enabled": "on",
//
// ===========================================================================
// MARK: Sort Lines
// ===========================================================================
// Extensions:
@@ -834,6 +932,7 @@
"vscode-color-picker.languages": [
"go",
"javascript",
"json",
"less",
"postcss",
"python",
@@ -929,6 +1028,29 @@
// - https://marketplace.visualstudio.com/items?itemName=ctf0.macros
//
"macros.list": {
"openClaudeTerminalBeside": [
{
"command": "workbench.action.terminal.newWithProfile",
"args": {
"profileName": "Claude",
"location": "editor"
}
},
{
"command": "$delay",
"args": {
"delay": 100
}
},
"workbench.action.moveEditorToRightGroup",
{
"command": "$delay",
"args": {
"delay": 50
}
},
"workbench.action.lockEditorGroup"
],
"insertEmDash": [
{
"command": "type",

52
siren
View File

@@ -38,7 +38,6 @@ define_settings() {
)
# Additional static symlinks to create (source => target).
STATIC_SYMLINKS["claude/CLAUDE.md"]="${HOME}/.claude/CLAUDE.md"
STATIC_SYMLINKS["cspell/vscode-user-dictionary.txt"]="${HOME}/.cspell/vscode-user-dictionary.txt"
STATIC_SYMLINKS["harper-ls/dictionary.txt"]="$(harper_config_dir)/dictionary.txt"
STATIC_SYMLINKS["harper-ls/file_dictionaries"]="$(harper_config_dir)/file_dictionaries"
@@ -47,16 +46,6 @@ define_settings() {
# Conditionally add symlinks for Cursor.
if [[ "${SETUP_EDITOR}" == "cursor" ]]; then
STATIC_SYMLINKS["cursor/mcp.json"]="${HOME}/.cursor/mcp.json"
# Symlink all markdown files from cursor/commands/ to ~/.cursor/commands/
local cmd_file
for cmd_file in "${SCRIPT_DIR}/cursor/commands/"*.md; do
if [[ -f "${cmd_file}" ]]; then
local filename
filename="$(basename "${cmd_file}")"
STATIC_SYMLINKS["cursor/commands/${filename}"]="${HOME}/.cursor/commands/${filename}"
fi
done
fi
}
@@ -430,42 +419,6 @@ symlink_static_config() {
done
}
# Private function: Remove stale symlinks in ~/.cursor/commands that point to
# files in cursor/commands/ that no longer exist.
cleanup_stale_cursor_commands() {
local cursor_commands_dir="${HOME}/.cursor/commands"
local source_commands_dir="${SCRIPT_DIR}/cursor/commands"
# Skip if the target directory doesn't exist.
if [[ ! -d "${cursor_commands_dir}" ]]; then
return
fi
local link
for link in "${cursor_commands_dir}"/*; do
# Skip if glob didn't match anything (returns literal pattern).
[[ -e "${link}" || -L "${link}" ]] || continue
# Skip if not a symlink.
if [[ ! -L "${link}" ]]; then
continue
fi
# Get the symlink target.
local target
target="$(readlink "${link}")"
# Check if the symlink points to our source directory.
if [[ "${target}" == "${source_commands_dir}/"* ]]; then
# If the target file no longer exists, remove the symlink.
if [[ ! -e "${target}" ]]; then
info "Removing stale symlink: ${link}"
rm -f "${link}"
fi
fi
done
}
# Find the editor CLI command.
#
# Returns: Editor command path via `STDOUT`.
@@ -1262,11 +1215,6 @@ do_config() {
symlink_editor_config
symlink_static_config
# Clean up stale symlinks for Cursor commands.
if [[ "${SETUP_EDITOR}" == "cursor" ]]; then
cleanup_stale_cursor_commands
fi
info "Symlink setup complete!"
}