Skip to content

Bootstrap spy-code Rust workspace (M0–M3)#1

Merged
Psyborgs-git merged 1 commit into
mainfrom
copilot/build-library-as-described
Apr 12, 2026
Merged

Bootstrap spy-code Rust workspace (M0–M3)#1
Psyborgs-git merged 1 commit into
mainfrom
copilot/build-library-as-described

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 12, 2026

Implements the spy-code library from scratch per the design docs — a GraphQL-style codebase compiler that parses source via tree-sitter, stores a function/class/constant graph in SQLite, and exposes it via GraphQL over CLI.

Crates added (crates/)

  • spy-coreNodeId (dir:file:class:symbol), Node, Edge, Signature, Param, Language, EdgeKind, NodeKind, Resolver trait, config types (serde, deny_unknown_fields)
  • spy-storage — SQLite schema (nodes, edges_calls/imports/references, files, index_meta), FTS5 virtual table with insert/update/delete sync triggers, full CRUD via rusqlite (bundled)
  • spy-parser — tree-sitter FileContext (parsed tree + raw source bytes + path)
  • spy-resolvers — Rust resolver: extracts function_item, struct_item, enum_item, trait_item, impl_item methods, const_item, static_item; /// doc comments; call/import/reference edges with confidence scoring
  • spy-indexer — two-pass incremental indexing (pass 1: nodes → ProjectScope; pass 2: edges); blake3 content-hash gate skips unchanged files
  • spy-graph — full async-graphql 7 schema (Node, Edge, Signature, SearchResult, IndexStats, all Query resolvers); axum 0.8 HTTP transport
  • spy-cliclap binary: init, index, query, get, search, callers, callees, stats, serve --http
  • spy-git / spy-mcp — stubs (M4/M8 scope)

…r, GraphQL, CLI)

Agent-Logs-Url: https://github.com/Psyborgs-git/spy-code/sessions/09128563-9986-4bf9-9548-bbedf1a904ea

Co-authored-by: Psyborgs-git <49641518+Psyborgs-git@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants