Getting Started¶
Bipartite operates on a nexus — a directory that serves as the central hub for your paper library, server configurations, and workflow coordination. See How It Works for the full picture of how bipartite's pieces fit together.
Installation¶
Prerequisites¶
- Go 1.24 or later (install Go)
- Claude Code (for agents/skills)
- Git
Full Installation (Recommended)¶
This method installs the bip CLI, Claude Code agents, and skills in one command:
This will:
- Install
bipviago install(to$GOBINif set, otherwise$HOME/go/bin) - Symlink agents to
~/.claude/agents/ - Symlink skills to
~/.claude/skills/ - Symlink the statusline script to
~/.claude/statusline/
Ensure the Go bin directory is in your PATH. If you haven't configured $GOBIN, add to ~/.bashrc or ~/.zshrc:
Then reload your shell (source ~/.bashrc or source ~/.zshrc).
Enable the Claude Code status line. Add the following to ~/.claude/settings.json to display model name, working directory, git branch, and context window usage in the Claude Code status bar:
Verify installation:
CLI-Only Installation¶
If you only want the bip command-line tool without Claude Code integration:
This installs to $GOBIN if set, otherwise $HOME/go/bin.
Add to PATH (if you haven't configured $GOBIN):
# Add to ~/.bashrc or ~/.zshrc:
export PATH="$HOME/go/bin:$PATH"
# Then reload:
source ~/.bashrc # or source ~/.zshrc
Verify installation:
Manual Agent/Skill Installation¶
If you want to manually symlink agents and skills (instead of using make install):
# Clone repository
git clone https://github.com/matsen/bipartite
cd bipartite
# Create directories
mkdir -p ~/.claude/agents
mkdir -p ~/.claude/skills
# Symlink agents
for f in agents/*.md; do
ln -sf "$(pwd)/$f" ~/.claude/agents/$(basename "$f")
done
# Symlink skills (note: skills are in ./skills/, not ./.claude/skills/)
for d in skills/*/; do
ln -sf "$(pwd)/$d" ~/.claude/skills/$(basename "$d")
done
Verify:
Creating a Nexus¶
Option 1: Use the Template (Recommended)¶
The nexus-template repository provides a ready-to-use starting point with example papers and configuration templates.
- Go to github.com/matsen/nexus-template
- Click Use this template → Create a new repository
- Clone your new repository:
- Build the search index:
- Verify it works:
Option 2: Create Manually¶
For an empty nexus without using the template:
mkdir my-nexus && cd my-nexus
git init
mkdir -p .bipartite
touch .bipartite/refs.jsonl
echo ".bipartite/cache/" >> .gitignore
bip rebuild
This creates the minimal structure needed to start adding papers.
What's in a Nexus?¶
my-nexus/
├── .bipartite/ # Tracked in git, except cache/
│ ├── refs.jsonl # Paper references (source of truth)
│ ├── projects.jsonl # Projects
│ ├── repos.jsonl # Tracked repositories
│ ├── config.yml # (optional) Local paths, API keys
│ └── cache/ # (gitignored, ephemeral)
│ └── refs.db # SQLite FTS index
│
├── servers.yml # (optional) Remote servers for bip scout
├── sources.yml # (optional) GitHub repos for activity tracking
│
├── context/ # (optional) Project context files
└── narrative/ # (optional) Generated digest output
Core Files (Source of Truth)¶
- refs.jsonl — Your paper library. Each line is a JSON object with paper metadata.
- projects.jsonl — Project definitions (see Projects, Repos, and Stores).
- repos.jsonl — Tracked repositories.
These files are the source of truth. They're plain text, git-friendly, and designed for collaboration.
Cache Directory (Ephemeral)¶
The .bipartite/cache/ subdirectory contains:
- refs.db — SQLite full-text search index
Only cache/ is gitignored — the JSONL files above it are tracked. The cache is rebuilt from those source files via bip rebuild, so you can delete it and rebuild anytime.
Configuration Files (Optional)¶
- .bipartite/config.yml — Local paths (PDF root)
- servers.yml — Remote servers for
bip scout - sources.yml — GitHub repos and boards for
bip checkin,bip digest
Adding Your First Paper¶
This fetches metadata from Semantic Scholar and appends to .bipartite/refs.jsonl.
Searching¶
bip search "machine learning" # Keyword search
bip search "author:Felsenstein" # Author search
bip search "title:phylogenetics" # Title search
Next Steps¶
- Reference Management — Search, import, and organize papers
- Projects, Repos, and Stores — Track projects, repos, and custom record stores
- Workflow Coordination — GitHub activity tracking and Slack integration
- Server Scout — Monitor remote compute resources