// organize_papers • build_collections • map_citations
reference management for the command-line generation. organize papers into vaults, tag them hierarchically, map citation relationships, and share collections with collaborators. bibtex import/export, keyboard-first, dark by default.
frontend: react 18 + typescript + vite 7
ui: tailwind css + shadcn/ui (radix primitives + cva)
backend: supabase (postgresql + rls + auth + realtime)
state: tanstack query v5 + context api
routing: react router v6
forms: react hook form + zod
graphs: react-force-graph-2d
charts: recharts
fonts: plus jakarta sans • jetbrains mono
prerequisites: bun · supabase account
git clone https://github.com/refhub-io/refhub.io.git
cd refhub.io
bun installset up supabase:
- create a project at supabase.com
- run
supabase/schema_consolidated.sqlin your supabase sql editor - copy your project url and anon key
configure env:
# .env
VITE_SUPABASE_URL=your_supabase_project_url
VITE_SUPABASE_PUBLISHABLE_KEY=your_supabase_anon_keystart dev server:
bun run dev
# → http://localhost:5173bun run build # production build → dist/
bun run deploy # deploy to github pagesoutput in dist/ — deploy to any static host.
src/
├── components/
│ ├── ui/ # shadcn/ui primitives
│ ├── layout/ # shell components (sidebar, vault layout, theme toggle)
│ ├── publications/ # publication components
│ ├── tags/ # tag management
│ ├── vaults/ # vault management
│ ├── notifications/
│ └── profile/
├── contexts/ # react context providers (vault_content, keyboard)
├── hooks/ # custom hooks (use_auth, use_vault_access, ...)
├── integrations/ # supabase client and queries
├── lib/ # utilities (bibtex, export, tag_hierarchy, ...)
├── pages/ # route-level page components
├── types/ # typescript type definitions
└── config/ # kbd.config.ts — keybinding source of truth
supabase/ # schema and migrations
public/ # static assets
- fork the repo
- create a feature branch:
git checkout -b feature/your_feature - commit:
git commit -m 'feat: description' - push:
git push origin feature/your_feature - open a pull request
open source under gplv3.
built with shadcn/ui · powered by supabase · icons from lucide
