Full-stack code search tool — search across all your local projects with instant results, syntax highlighting, and VS Code integration
- Instant Search — Debounced search across all project directories with 250ms delay
- Project Filter — Scope search to a specific project from the dropdown
- File Type Filter — Filter by TypeScript, JavaScript, Python, Swift, Go, CSS, HTML, JSON, and more
- Case Sensitivity Toggle — Switch between case-sensitive and case-insensitive search
- Context Lines — Results show matching lines with 2 lines of surrounding context
- Syntax Highlighting — Match highlighting with language-colored result cards
- Click to Open — Open any result directly in VS Code at the exact line number
- Keyboard Shortcuts — Press
/to focus search,Escapeto clear - Smart Exclusions — Automatically skips
node_modules,.git,dist,build, lock files, and binary files
- Node.js 18+
- npm
git clone https://github.com/markksantos/codesearch.git
cd codesearch
npm install
npm startThe frontend runs on http://localhost:5173 and the API server on http://localhost:3457.
To run frontend and backend separately:
npm run server # Express API on :3457
npm run dev # Vite dev server on :5173| Category | Technology |
|---|---|
| Frontend | React 19, TypeScript 5.9 |
| Styling | Tailwind CSS 4 |
| Bundler | Vite 7 |
| Backend | Express 5, Node.js |
| Search | grep (via child_process) |
| Editor | VS Code integration (--goto) |
codesearch/
├── src/
│ ├── main.tsx # React entry point
│ ├── App.tsx # Search orchestration, API calls, state
│ ├── index.css # Global styles
│ └── components/
│ ├── SearchInput.tsx # Search bar with keyboard shortcuts
│ ├── Filters.tsx # Project, file type, and case filters
│ └── ResultCard.tsx # Code result with context and highlighting
├── server/
│ └── index.js # Express API — search, projects, open-in-editor
├── index.html # Vite HTML entry
├── package.json
├── vite.config.ts
├── tsconfig.json
├── tsconfig.app.json
├── tsconfig.node.json
└── eslint.config.js
MIT License © 2025 Mark Santos