By Kaiukov
My Portfolio CLI — track portfolio value, transactions, performance, and Cloudflare dashboard deployment. Use when the user asks about portfolio tracking, transactions, portfolio value, allocation, performance, dashboard, or Cloudflare publishing.
When the user needs to add, edit, delete, or exchange portfolio transactions using the CLI.
When the user needs to analyse a ticker with risk metrics, run portfolio-level analytics (cash drag, projection, rebalance, decomposition, currency exposure, diversification, income, realized gains, withdrawal, asset metadata), or get deeper analytics beyond status/performance.
When the user needs to backup, restore, or manage S3/R2 backup of the portfolio PostgreSQL database.
When the user needs to publish the portfolio dashboard snapshot to Cloudflare KV or deploy the dashboard Worker.
When the user needs to deploy, initialize, or publish the portfolio Cloudflare Worker widget or wrangler-managed dashboard.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
A TypeScript/Bun CLI for portfolio tracking, backed by PostgreSQL.
BUY, SELL), cash flows (DEPOSIT, WITHDRAW, TRANSFER), income (DIVIDEND, INTEREST), expenses (FEE, TAX), and currency exchanges.>= 1.3 — the JavaScript/TypeScript runtime that executes the CLI directly from source. No build step is required.>= 14 — local install (e.g. brew install postgresql@16) or a hosted instance (Supabase, Neon, etc.).psql (optional, recommended) — for one-time schema bootstrap before first portfolio health.Bun runs the TypeScript source directly via the shebang in portfolio-ts/src/cli.ts, so a separate tsc build is not required for normal use. bun run typecheck is available for static validation.
# Clone the repository
git clone <repository-url>
cd my-portfolio
# Install CLI dependencies (Bun reads bun.lock)
cd portfolio-ts
bun install
cd ..
That's it for the runtime. The CLI source ships as TypeScript and is executed by Bun directly.
The CLI talks to PostgreSQL through a single environment variable: PORTFOLIO_DB_URL.
You can set it in your shell, or — more conveniently — drop it in a .env file. The CLI auto-loads .env from the current working directory or any parent directory before reading PORTFOLIO_DB_URL (issue #142), so you usually do not need to export anything.
Create a .env at the repository root (or copy from .env.example):
# .env (gitignored — never commit real credentials)
PORTFOLIO_DB_URL=postgresql://postgres:postgres@localhost:5432/portfolio
Or for a hosted instance:
PORTFOLIO_DB_URL='postgresql://postgres:[YOUR-PASSWORD]@db.<project-ref>.supabase.co:5432/postgres?sslmode=require'
The CLI's init command only verifies that the schema is in place — it does not create tables. On a fresh database, apply the SQL files under portfolio_db/sql/ once:
psql "$PORTFOLIO_DB_URL" -v ON_ERROR_STOP=1 -f portfolio_db/sql/schema.sql
psql "$PORTFOLIO_DB_URL" -v ON_ERROR_STOP=1 -f portfolio_db/sql/functions.sql
psql "$PORTFOLIO_DB_URL" -v ON_ERROR_STOP=1 -f portfolio_db/sql/procedures.sql
psql "$PORTFOLIO_DB_URL" -v ON_ERROR_STOP=1 -f portfolio_db/sql/views.sql
psql "$PORTFOLIO_DB_URL" -v ON_ERROR_STOP=1 -f portfolio_db/sql/triggers.sql
The portfolio_db/sql/ files are pure PostgreSQL and remain the source of truth for the schema.
There are two equivalent ways to invoke the CLI.
1. From the portfolio-ts/ directory (development form):
cd portfolio-ts
bun src/cli.ts --help # or: bun start -- --help
bun src/cli.ts health
2. As the portfolio binary:
A wrapper script lives at bin/portfolio at the repo root and can be invoked directly:
./bin/portfolio --help
./bin/portfolio health
The package.json also declares "bin": {"portfolio": "src/cli.ts"}, so after bun link (run inside portfolio-ts/) the portfolio command is on your PATH globally:
cd portfolio-ts
bun link # one-time, registers the `portfolio` bin
portfolio --help
portfolio health
All examples below use the portfolio form. Substitute bun src/cli.ts (run from portfolio-ts/) or ./bin/portfolio (run from the repo root) if you have not linked the bin.
Use your local bun invocation when you want to target your own PORTFOLIO_DB_URL during development. Use docker compose -f portfolio-ts/docker-compose.yml exec portfolio bun run src/cli.ts <command> [flags] when you want to run against the running container's PostgreSQL database.
Examples:
docker compose -f portfolio-ts/docker-compose.yml exec portfolio bun run src/cli.ts summary
docker compose -f portfolio-ts/docker-compose.yml exec portfolio bun run src/cli.ts backup push
docker compose -f portfolio-ts/docker-compose.yml exec portfolio bun run src/cli.ts cloudflare publish
Bridge GitHub Issues into a local board (board.json/TODO.md), mirror ready tasks into Claude's built-in task list, and dispatch work through cmux panes.
npx claudepluginhub kaiukov/my-portfolio --plugin portfolioUI/UX design intelligence. 67 styles, 161 palettes, 57 font pairings, 25 charts, 15 stacks (React, Next.js, Vue, Svelte, Astro, SwiftUI, React Native, Flutter, Tailwind, shadcn/ui, Nuxt, Jetpack Compose). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient.
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.
This skill should be used when users need to generate ideas, explore creative solutions, or systematically brainstorm approaches to problems. Use when users request help with ideation, content planning, product features, marketing campaigns, strategic planning, creative writing, or any task requiring structured idea generation. The skill provides 30+ research-validated prompt patterns across 14 categories with exact templates, success metrics, and domain-specific applications.
Develop, test, build, and deploy Godot 4.x games with Claude Code. Includes GdUnit4 testing, web/desktop exports, CI/CD pipelines, and deployment to Vercel/GitHub Pages/itch.io.
Upstash Context7 MCP server for up-to-date documentation lookup. Pull version-specific documentation and code examples directly from source repositories into your LLM context.
A growing collection of Claude-compatible academic workflow bundles. Covers scientific figures, manuscript writing and polishing, reviewer assessment, citation retrieval, data availability, paper reading, literature search, response letters, paper-to-PPTX conversion, and evidence-grounded Chinese invention patent drafting. Rules are organized as reusable skill folders with explicit workflows and quality checks.