vault
livev0.1.0-betaopen source

A better place
for your snippets.

Vault is a personal, web-based code snippet manager. Save code with titles, tags, and descriptions — then enhance them with AI. Find anything instantly with full-text search.

Note Vault is in active development. Current features include snippet CRUD, tagging, full-text search, syntax highlighting, and AI enhancement.

frameworkNext.jsdeployVercelaiClaude
vault.tsTypeScript
// Enhance a snippet with AI
const result = await vault.enhance({
code: `export function useDebounce<T>(
value: T,
delay: number
): T {
const [debounced, setDebounced] = useState(value)
useEffect(() => {
const t = setTimeout(() => setDebounced(value), delay)
return () => clearTimeout(t)
}, [value, delay])
return debounced
}`,
// → {
// title: "useDebounce Hook",
// tags: ["react", "hooks", "typescript"]
// }
UTF-8TypeScriptLn 24, Col 1
// features

What's in Vault today.

These are the features currently implemented. More are planned as the project grows.

01stable

Save snippets

Store code with a title, description, and language. Every snippet lives in your personal vault.

02stable

Full-text search

Search across snippet titles and descriptions in real time. Find what you saved in seconds.

03stable

Tag and organize

Attach any number of tags to a snippet. Organize your library and find snippets by category.

04stable

One-click copy

Hit the copy button — the code goes straight to your clipboard. No selecting, no drag.

05stable

Syntax highlighting

Snippets are displayed with Shiki syntax highlighting. Looks exactly like your editor.

06stable

AI enhancement

Paste raw code and let Claude generate a title, description, tags, and improved code automatically.

// how it works

Simple workflow,
no surprises.

step_01.ts
// POST /api/auth/register
{
  "name": "Kim",
  "email": "kim@example.com",
  "password": "••••••••"
}
// ← 200 OK { session: "..." }
// ai enhancement

Paste raw code.
Claude does the rest.

Drop in any snippet — no title, no description, no tags. Hit enhance and Claude generates everything automatically.

before.js
raw
// raw paste — no context
function d(v, ms) {
  let t
  return function(...a) {
    clearTimeout(t)
    t = setTimeout(() => {
      fn.apply(this, a)
    }, ms)
  }
}
no title · no tags · no description
after.ts
waiting
hit enhance to see the result
ready to enhance
10 enhancements / day · powered by Claude
// changelog

Shipping in the open.

Every commit, every fix, every feature — tracked as it happens.

typeshamessagewhen
no commits found