
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
memory-search
Advanced tools
A hybrid search memory system for coding agents (70% vector similarity + 30% BM25 keyword).
Based on the memory system from OpenClaw (originally Clawdbot).
bun:sqlite storage (no native extensions needed)MEMORY.md + memory/*.md filesbunx skills add rjyo/memory-search
This installs the /memory skill to your coding agent (Claude Code, Cursor, Codex, etc.).
Save information:
/memory remember that I prefer TypeScript over JavaScript
Search memories:
/memory what did we decide about authentication?
Or just ask naturally - the skill triggers on phrases like "remember this" or "what did we decide about X".
Want Claude to search memory automatically? Add to your CLAUDE.md:
## Memory
When questions relate to past decisions or preferences, use /memory to search first.
Or use a hook in .claude/hooks.json:
{
"hooks": {
"SessionStart": [{
"command": "bunx memory-search \"project context preferences decisions\"",
"timeout": 30000
}]
}
}
import { MemoryIndex } from "memory-search";
// Create index (uses local embeddings by default)
const memory = await MemoryIndex.create({
workspaceDir: "./my-project",
});
// Index files
await memory.sync();
// Search
const results = await memory.search("authentication");
// Returns: [{ path, startLine, endLine, score, snippet }]
// Read a file
const file = await memory.readFile({ path: "MEMORY.md" });
// Get status
const status = memory.status();
// Clean up
await memory.close();
your-project/
├── MEMORY.md # Long-term: preferences, patterns, decisions
└── memory/
├── 2024-01-15.md # Daily notes
├── 2024-01-16.md
└── architecture.md # Topic-specific memory
Local embeddings work out of the box.
First Run: The first query downloads a ~300MB embedding model. Run
bunx memory-search --warmupafter installing to pre-download it.
For faster embeddings, you can optionally use OpenAI:
export OPENAI_API_KEY=sk-...
interface MemoryConfig {
workspaceDir: string; // Required: directory with MEMORY.md
// Database
dbPath?: string; // Default: {workspaceDir}/.memory.sqlite
// Embeddings
embeddingProvider?: 'local' | 'openai'; // Default: local
openaiApiKey?: string; // Required for 'openai' provider
openaiModel?: string; // Default: text-embedding-3-small
localModelPath?: string; // Default: hf:ggml-org/embeddinggemma-300M-GGUF/...
modelCacheDir?: string; // Default: ~/.cache/memory-search
// Chunking
chunkTokens?: number; // Default: 400
chunkOverlap?: number; // Default: 80
// Search
maxResults?: number; // Default: 6
minScore?: number; // Default: 0.35
vectorWeight?: number; // Default: 0.7
textWeight?: number; // Default: 0.3
}
# Install dependencies
bun install
# Run tests
bun test
# Type check
bun run typecheck
# Build
bun run build
MEMORY.md and memory/*.md, chunks into ~400 token piecesMIT
FAQs
Hybrid search memory system for coding agents (vector + BM25)
The npm package memory-search receives a total of 12 weekly downloads. As such, memory-search popularity was classified as not popular.
We found that memory-search demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.