- Rust 93.2%
- Shell 5.7%
- CSS 0.7%
- Makefile 0.4%
|
Some checks failed
Build and Test / build (push) Failing after 29s
Replace duplicated Bootstrap, Bootstrap Icons, Unpoly, highlight.js, marked,
ansi_up, Chart.js and connection-status.js with shared versions from
hero_admin_lib. Add /static/shared/{*path} route. Remove ~10-13 MB of
duplicated static files per crate.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
||
|---|---|---|
| .cargo | ||
| .claude | ||
| .forgejo/workflows | ||
| .hero | ||
| _archive | ||
| crates | ||
| instructions | ||
| scripts | ||
| .gitignore | ||
| buildenv.sh | ||
| Cargo.lock | ||
| Cargo.toml | ||
| Cargo.toml.hero_builder_backup | ||
| Makefile | ||
| PURPOSE.md | ||
| README.md | ||
| rust-toolchain.toml | ||
HeroBiz
A web frontend for venture fund management, powered by HeroOsis backend.
Overview
HeroBiz is a client application that provides a web UI for managing business entities. It does not include its own database - all data is stored and managed by a HeroOsis server.
Managed Entities
- Persons - Team members, investors, contacts
- Companies - Portfolio companies, partners, vendors
- Contracts - Agreements, terms, legal documents
- Contacts - Communication records and interactions
- Opportunities - Pipeline and deal flow
- Deals - Investment transactions
- Instruments - Financial instruments (SAFE, equity, etc.)
- Transactions - Financial transactions and payments
- Projects - Project management with milestones and tasks
Prerequisites
HeroOsis Server
HeroBiz requires a running HeroOsis server. HeroOsis must be started separately before running HeroBiz.
service osis start
Seeding HeroOsis with Initial Data
HeroOsis supports auto-seeding the database from TOML files on startup.
TOML File Format
Each TOML file should include a _type field:
_type = "Company"
name = "ACME Corporation"
description = "A technology company"
types = ["tech"]
tags = ["portfolio"]
active = true
If _type is not specified, the type is inferred from:
- The parent directory name (if it's not the domain directory)
- The filename prefix (e.g.,
company_acme.toml→Company)
Configuration
| Environment Variable | Default | Description |
|---|---|---|
HERO_OSIS_URL |
http://localhost:9988 |
HeroOsis server API endpoint |
HERO_OSIS_CONTEXT |
default |
HeroOsis context name |
Running
# Start (builds and registers with hero_proc)
service biz start --update
# Start fresh (reset sockets + state)
service biz start --update --reset
# Stop
service biz stop
# Check status
service biz status
Open the admin UI via hero_router at /hero_biz/admin in your browser.
Architecture
Browser → hero_router → hero_biz_admin (admin.sock) → hero_osis (via hero_osis_sdk)
→ hero_biz (rpc.sock)
Sockets (Hero Sockets architecture)
| Binary | Socket ($HERO_SOCKET_DIR/hero_biz/) |
|---|---|
| hero_biz | rpc.sock |
| hero_biz_admin | admin.sock |
Testing
HeroBiz includes end-to-end tests that verify the HeroOsis SDK integration.
# Run all tests (server-dependent tests will be skipped if HeroOsis is not running)
cargo test
# Run E2E tests with verbose output
cargo test --test e2e_hero_osis -- --nocapture
For full E2E testing, start HeroOsis first:
service osis start
Set HERO_OSIS_URL to test against a different server:
HERO_OSIS_URL=http://192.168.1.100:9080 cargo test --test e2e_hero_osis -- --nocapture