Commit Graph

34 Commits

Author SHA1 Message Date
Giancarlo Erra 4471f874ef chore: release v1.2.0 v1.2.0 2026-03-18 13:56:28 +00:00
Giancarlo Erra 7b72cf0363 docs: add Svelte/Vue to code graph language list 2026-03-18 13:48:26 +00:00
Giancarlo Erra be5184338e Merge pull request #9 from pineapplestrikesback/feat/svelte-import-parsing
feat: add Svelte and Vue import parsing to dependency graph

Thanks pineapplestrikesback, nice idea and nicely implemented with zero-dependencies.
2026-03-18 13:45:28 +00:00
Giancarlo Erra 0c45ed9906 Merge pull request #10 from midweste/midweste-dotfiles
feat: add env support for controlling indexing of dotfiles
2026-03-18 12:32:13 +00:00
Giancarlo Erra 2e0cdbbd08 Merge pull request #11 from midweste/midweste-qdrantport
feat: auto-infer port from QDRANT_URL for reverse proxy support
2026-03-18 12:23:50 +00:00
Giancarlo Erra 4d255f50ee fix: only call ensureOllamaReady when using Ollama provider (#8)
ensureOllamaReady() was called unconditionally on every search and context
operation, causing failures for OpenAI and Google embedding users. Now only
called when embeddingProvider is ollama; otherwise the configured provider
is initialized via getEmbeddingProvider().

Fixes #7

Co-authored-by: pineapplestrikesback <pineapplestrikesback@users.noreply.github.com>
2026-03-17 17:46:51 +00:00
midwestE 507d823336 feat: auto-infer port from QDRANT_URL for reverse proxy support 2026-03-17 07:20:56 -05:00
midwestE 7265247d83 feat: add env support for controlling indexing of dotfiles 2026-03-17 07:11:25 -05:00
Giancarlo Erra 4cd113b1e9 docs: add npx cache update instructions for MCP-only install 2026-03-16 23:09:12 +00:00
Giancarlo Erra 640e054eac chore: release v1.1.3 v1.1.3 2026-03-16 22:57:15 +00:00
Giancarlo Erra 51bec9998e Merge pull request #5 from cstuncsik/fix/relative-path-keys
fix: use relative paths for index keys to support shared worktree indexes
2026-03-16 20:32:32 +00:00
Giancarlo Erra b26038a8b1 docs: add auto-update instructions for Claude Code plugin 2026-03-16 20:32:06 +00:00
pineapplestrikesback 4c2bd0cc53 feat: add Svelte and Vue import parsing to dependency graph
Svelte and Vue files were included in the graph as leaf nodes (targets
of import edges) but their own imports were never extracted because
no ast-grep grammar exists for these languages.

This adds support by parsing .svelte/.vue files as HTML (built-in
grammar), extracting <script> block content, and re-parsing it as
TypeScript to extract imports using the existing JS/TS logic.

Changes:
- code-graph.ts: register .svelte and .vue in getAstGrepLang()
- graph-imports.ts: add Svelte/Vue script extraction handler; refactor
  JS/TS import extraction into shared extractJsTsImportsFromNode()
  helper to avoid duplication
- graph-resolution.ts: add "svelte" and "vue" cases to resolveImport(),
  with .svelte/.vue as first-priority extension resolution
- graph-imports.test.ts: add tests for Svelte (static, dynamic, module,
  no-script, JS-only) and Vue import extraction

Zero new dependencies — uses the built-in Lang.Html and Lang.TypeScript
grammars from @ast-grep/napi.

Known limitation: path aliases ($lib/, @/) are not resolved and will be
treated as external packages (same as current JS/TS behavior).
2026-03-16 16:23:18 +01:00
Csaba Tuncsik 505fbd722b fix: use relative paths for index keys to support shared worktree indexes
When SOCRATICODE_PROJECT_ID is set to share a Qdrant collection across
git worktrees, the indexer still used absolute paths as keys in the file
hash map, chunk IDs, and for deleting file chunks. This caused every
worktree to see all files as "new" and trigger a full re-index, defeating
the purpose of the shared project ID feature.

Switch all internal keying from absolute paths to relative paths:
- chunkId() now hashes on relativePath for stable IDs across worktrees
- File hash map (change detection) keyed by relativePath
- deleteFileChunks() filters on relativePath Qdrant field
- Deleted file detection uses relative path sets

Absolute paths are now only used for actual file I/O (stat, readFile).
2026-03-16 08:39:22 +01:00
Giancarlo Erra 06f5dee474 chore: release v1.1.2 v1.1.2 2026-03-16 01:00:34 +00:00
Giancarlo Erra 17eedd68e9 Merge pull request #4 from giancarloerra:fix/plugin-hooks-and-install-docs
fix: correct hooks.json format, remove explicit hooks path, and improve install docs
2026-03-16 00:58:44 +00:00
Giancarlo Erra db69a2d9b4 fix: correct hooks.json format, remove explicit hooks path, and improve install docs 2026-03-16 00:58:01 +00:00
Giancarlo Erra b1bfe2c480 chore: release v1.1.1 v1.1.1 2026-03-16 00:42:06 +00:00
Giancarlo Erra 55a7a2d859 Merge pull request #3 from giancarloerra:fix/plugin-install-commands
fix: correct Claude Code plugin install commands and add marketplace.json
2026-03-16 00:41:02 +00:00
Giancarlo Erra 157b353bc4 fix: correct Claude Code plugin install commands and add marketplace.json 2026-03-16 00:39:44 +00:00
Giancarlo Erra 2b121683c7 chore: release v1.1.0 v1.1.0 2026-03-15 23:59:17 +00:00
Giancarlo Erra 6ba856b503 Merge pull request #2 from giancarloerra:feat/claude-plugin
feat: add Claude Code plugin with skills, agent, and MCP bundling
2026-03-15 23:56:43 +00:00
Giancarlo Erra 31e5d748bc feat: add Claude Code plugin with skills, agent, and MCP bundling
- Add .claude-plugin/plugin.json with MCP server reference and hooks
- Add codebase-exploration skill with search-before-reading workflow
- Add codebase-management skill with indexing and troubleshooting guides
- Add codebase-explorer delegatable subagent for deep analysis
- Add SessionStart hook for duplicate MCP detection
- Add .mcp.json for plugin-bundled MCP server config
- Update package.json files array to include plugin assets in npm package
- Add release-it after:bump hook to sync plugin.json version
- Update README with plugin install badge, instructions, and guidance
2026-03-15 23:47:46 +00:00
Giancarlo Erra 60ac68f480 Merge pull request #1 from cstuncsik/feat/shared-project-id
feat: add SOCRATICODE_PROJECT_ID for shared indexes across git worktrees

Thanks, cstuncsik! Good idea and clean implementation, much appreciated. Merging!
2026-03-15 23:42:07 +00:00
Csaba Tuncsik d7c32d1435 docs: add Claude Code worktree auto-detection to git worktrees section
Claude Code resolves git worktree links back to the main repo path for
config lookup, so MCP config only needs to be set once on the main
checkout. All worktrees inherit it automatically. Separate clones are
unaffected. Documents both the auto-detection path and the manual
.mcp.json fallback for other MCP hosts.
2026-03-15 20:58:23 +01:00
Csaba Tuncsik 3cad30a650 docs: add git worktrees section to README
Documents how to use SOCRATICODE_PROJECT_ID with per-project .mcp.json
to share a single index across git worktrees of the same repository.
2026-03-15 16:57:22 +01:00
Csaba Tuncsik fadfd8a80e feat: add SOCRATICODE_PROJECT_ID env var for shared indexes across directories
When working with git worktrees (or any setup where the same codebase lives
in multiple directories), each path currently gets its own Qdrant collection.
This means the same codebase is indexed multiple times.

This change adds a SOCRATICODE_PROJECT_ID environment variable that, when set,
overrides the path-based project ID generation. All directories sharing the
same SOCRATICODE_PROJECT_ID will use the same Qdrant collections (codebase,
codegraph, context), eliminating redundant indexing.

The value must match [a-zA-Z0-9_-]+ to remain Qdrant-friendly. An error is
thrown at startup if the value contains invalid characters.
2026-03-15 10:58:58 +01:00
Giancarlo Erra 72c7ce05f8 docs: add multi-agent collaboration as a featured capability
Highlight that multiple AI agents can share a single index on the same
codebase with automatic coordination. Added to the intro paragraph,
Why SocratiCode, Features list, and FAQ.
2026-03-12 18:54:38 +00:00
Giancarlo Erra 1923b66f4b chore: add glama.json to claim server ownership 2026-03-05 13:24:01 +00:00
Giancarlo Erra 3d9cd10392 chore: add MCP Registry server.json and gitignore auth tokens 2026-03-04 18:20:03 +00:00
Giancarlo Erra edce09f6d3 chore: release v1.0.1 v1.0.1 2026-03-04 18:08:46 +00:00
Giancarlo Erra 88c0e8fee3 fix: add mcpName and read version dynamically from package.json 2026-03-04 18:06:36 +00:00
Giancarlo Erra 766b13a9c0 chore: reorder LICENSE for GitHub detection 2026-02-28 17:22:13 +00:00
Giancarlo Erra 3f0ed5a286 feat: SocratiCode v1.0.0 — initial release v1.0.0 2026-02-28 17:06:21 +00:00