CLI Reference¶
bof is organized like gh — top-level command groups with subcommands.
Commands¶
Account¶
bof account list # Connected brokerage accounts and balances
| Name | Institution | Cash | Total Value | Currency |
|------------|-------------|-----------|-------------|----------|
| Individual | Fidelity | $2,450.00 | $48,320.00 | USD |
Portfolio¶
bof portfolio positions --all # Current holdings with day/total gain
| Symbol | Qty | Market Value | Avg Price | Day % | Total Gain % |
|--------|------|--------------|-----------|--------|--------------|
| NVDA | 50 | $6,910.00 | $120.00 | +1.24% | +15.17% |
| AAPL | 30 | $5,400.00 | $165.00 | -0.32% | +9.09% |
| MSFT | 15 | $6,300.00 | $380.00 | +0.55% | +10.53% |
Orders¶
bof order list # Recent order history
bof order list --all # Full order history
| Symbol | Action | Qty | Price | Status | Submitted |
|--------|--------|-----|---------|--------|---------------------|
| NVDA | BUY | 10 | $135.00 | FILLED | 2026-03-10T14:30:00 |
Quotes¶
bof quote get AAPL,MSFT,NVDA
| Ticker | Price | Day % | 52w Low | 52w High | P/E |
|--------|---------|--------|---------|----------|------|
| AAPL | $180.25 | -0.32% | $140.00 | $199.62 | 28.5 |
| MSFT | $420.00 | +0.55% | $340.00 | $468.35 | 34.2 |
| NVDA | $138.20 | +1.24% | $75.00 | $153.13 | 38.2 |
Market¶
bof market overview --period 5d # Index and sector performance
## Indices
| Index | Price | Period % |
|-------|-----------|----------|
| SPY | $5,680.00 | +1.50% |
| QQQ | $490.00 | +2.10% |
| DIA | $420.00 | +0.80% |
## Sectors
| Sector | ETF | Period % |
|---------------|------|----------|
| Technology | XLK | +2.10% |
| Financials | XLF | +1.30% |
| Healthcare | XLV | -0.20% |
bof market macro # Key macro indicators from FRED
| Indicator | Value | Unit | As Of |
|---------------------|-------|---------|------------|
| Fed Funds Rate | 4.33 | percent | 2026-03-01 |
| 10Y Treasury Yield | 4.25 | percent | 2026-03-14 |
| CPI YoY | 2.80 | percent | 2026-02-01 |
Watchlist¶
bof watchlist list # Watchlist performance
bof watchlist add NVDA # Add ticker
bof watchlist remove NVDA # Remove ticker
| Ticker | Price | Day % | Week % |
|--------|---------|--------|--------|
| AAPL | $180.25 | -0.32% | +1.20% |
| NVDA | $138.20 | +1.24% | +3.50% |
| MSFT | $420.00 | +0.55% | +0.80% |
Earnings¶
bof earnings list # Upcoming earnings for watchlist
bof earnings list AAPL,MSFT # Upcoming earnings for specific tickers
| Ticker | Earnings Date |
|--------|---------------|
| AAPL | 2026-04-24 |
| MSFT | 2026-04-22 |
News¶
bof news get NVDA # Headlines for a ticker
bof news watchlist # Headlines for all watchlist tickers
## NVDA News
- **NVIDIA Reports Record Data Center Revenue** (Reuters)
https://reuters.com/...
- **Jensen Huang keynote highlights AI infrastructure demand** (CNBC)
https://cnbc.com/...
Search¶
bof search web "nvidia earnings Q4" # Free-form web search
bof search symbol NVDA # Investment-focused search (news + analyst coverage)
bof search symbol NVDA --count 5 # More results per query
- **NVIDIA Q4 Earnings: Revenue Surges on AI Demand** (2026-03-12)
reuters.com
NVIDIA reported record quarterly revenue of $22.1B...
https://reuters.com/technology/...
Thesis¶
Investment theses are YAML files in investments/theses/ that define your conviction, conditions, and catalysts for each symbol.
Thesis YAML Schema¶
symbol: NVDA
version: 1
status: active # active | closed | paused
opened: "2025-06-15"
conviction: full # full | half | starter
thesis: "AI infrastructure leader with durable GPU moat"
conditions:
add:
- metric: pe_ratio
operator: "<"
value: 45
description: "P/E below 45 on pullback"
trim:
- metric: pe_ratio
operator: ">"
value: 80
exit:
- metric: pe_ratio
operator: ">"
value: 120
qualitative:
confirming:
- "Data center revenue accelerating QoQ"
disconfirming:
- "AMD taking meaningful share"
targets:
price_target: 180
stop_loss: 100
catalyst_date: "2026-04-15"
catalyst: "Q1 earnings report"
notes: "Core AI holding"
Conditions use metric/operator/value triples evaluated against live QuoteSnapshot fields. Available metrics: price, pe_ratio, day_change_pct, low_52w, high_52w.
Qualitative signals are plain strings surfaced to the agent during review — they are not auto-evaluated.
List Theses¶
bof thesis list
| Symbol | Status | Conviction | Opened | Thesis |
|--------|--------|------------|------------|--------------------------------------------------------|
| AAPL | active | half | 2025-04-01 | Services flywheel + installed base monetization... |
| NVDA | active | full | 2025-06-15 | AI infrastructure leader with durable GPU moat |
Show Thesis Details¶
bof thesis show NVDA
Symbol: NVDA | Status: active | Conviction: full
Thesis: AI infrastructure leader with durable GPU moat
Conditions:
add: pe_ratio < 45 — P/E below 45 on pullback
trim: pe_ratio > 80
exit: pe_ratio > 120
Confirming signals:
- Data center revenue accelerating QoQ
Disconfirming signals:
- AMD taking meaningful share
Price target: 180
Stop loss: 100
Catalyst: Q1 earnings report (2026-04-15)
Check Thesis Conditions¶
Fetches a live quote and evaluates all conditions:
bof thesis check NVDA
| Category | Condition | Result | Actual | Notes |
|----------|------------------|--------|--------|---------------------------|
| add | pe_ratio < 45 | PASS | 38.20 | P/E below 45 on pullback |
| trim | pe_ratio > 80 | FAIL | 38.20 | |
| exit | pe_ratio > 120 | FAIL | 38.20 | |
Qualitative signals:
[confirming] Data center revenue accelerating QoQ
[disconfirming] AMD taking meaningful share
SEC Filings¶
Access SEC EDGAR filings. Requires SEC_USER_AGENT env var set to your name and email (per SEC fair access policy).
List Filings¶
bof sec filings AAPL # All recent filings
bof sec filings AAPL --type 10-K # Only 10-K filings
bof sec filings NVDA --type 10-Q --limit 3
| Form | Date | Accession | Description |
|------|------------|--------------------------|---------------------|
| 10-K | 2024-11-01 | 0000320193-24-000123 | 10-K Annual Report |
| 10-Q | 2024-08-01 | 0000320193-24-000098 | 10-Q Quarterly |
| 8-K | 2024-07-15 | 0000320193-24-000087 | Current Report |
Read Filing Content¶
bof sec read AAPL --type 10-K # All extracted sections (previews)
bof sec read AAPL --type 10-K --section risk_factors # Full specific section
bof sec read AAPL --type 10-Q --section md_and_a
Available sections for 10-K: business, risk_factors, properties, legal_proceedings, md_and_a, financials.
Available sections for 10-Q: financials, md_and_a, risk_factors.
When no --section is specified, each section is previewed (first 2000 chars). Use --section to read a full section.
Weekly Review¶
bof review weekly # Run the weekly investment review
bof review weekly --dry-run # Preview without writing artifacts + rubric prompts
bof review weekly --date 2025-03-10 # Run for a specific date
The weekly review automatically:
- Includes all watchlist symbols and all active thesis symbols in the decision list.
- Populates
{thesis_context}in rubric evaluation prompts with the full thesis details for each symbol (conditions, qualitative signals, targets). - Sets
thesis_refon each decision to point to the thesis file path.
Scoring Rubrics¶
bof review rubric # Display all scoring rubrics
bof review rubric thesis_alignment # Display a single rubric with anchors and prompt
Recording Scores¶
bof review score NVDA --metric thesis_alignment --score 7 --rationale "AI thesis intact" --run-id <id>
bof review score NVDA --metric news_sentiment --score 6 --rationale "Mixed coverage" --run-id <id>
bof review score NVDA --metric valuation_signal --score 5 --rationale "Fair value" --run-id <id>
Recording Evidence¶
Append structured evidence to a decision in an existing report:
bof review evidence NVDA \
--run-id <id> \
--source-type sec_filing \
--claim "Data center revenue grew 122% YoY per 10-K" \
--source-url "https://sec.gov/Archives/edgar/..." \
--attribution "NVDA 10-K FY2025"
Added evidence for NVDA in 2026-03-16.json
Source types: sec_filing, news, market_data, macro, thesis.
If the symbol doesn't have a decision in the report yet, one is created with action HOLD.
Annotating Reports¶
Set narrative fields on an existing report:
bof review annotate --run-id <id> \
--field executive_summary \
--value "Markets rallied on strong earnings. Portfolio up 2.1% vs SPY +1.4%."
Updated 'executive_summary' in 2026-03-16.json
Allowed fields: executive_summary, portfolio_summary, market_summary, macro_summary, watchlist_summary, news_summary.
Both evidence and annotate re-render the markdown report after updating the JSON.
Finalizing a Review¶
bof review finalize --run-id <id> # Compute composites, update report JSON/MD
Finalized 3 symbol(s). Report updated: 2026-03-16.json
NVDA: composite=0.72 confidence=1.00 -> BUY_MORE
AAPL: composite=0.55 confidence=1.00 -> HOLD
MSFT: composite=0.48 confidence=0.67 -> HOLD
Agent Scoring Workflow¶
The full agent workflow for a weekly review:
bof review weekly— gathers data, renders rubric evaluation prompts per symbol, persists report.- Agent reads prompts and thesis context, evaluates each symbol against each rubric dimension.
bof review score SYMBOL --metric M --score N --rationale "..." --run-id ID— record scores.bof review evidence SYMBOL --run-id ID --source-type T --claim "..."— record evidence.bof review annotate --run-id ID --field F --value "..."— write narratives.bof review finalize --run-id ID— computes weighted composites, maps to action thresholds, updates report.
Database¶
bof db migrate # Run database migrations
bof db score-history NVDA # Score trends over time
bof db latest NVDA,AAPL # Latest composite for symbols
bof db tables # List tables and row counts
bof db query "SELECT * FROM ..." # Ad-hoc read-only SQL
Event Service¶
bof service run --cron market_scan=15m # Start with scheduled workflows
bof service run --telegram # Enable Telegram event source
Global Help¶
bof --help # Top-level help
bof <command> --help # Command-specific help