Skip to content

New Machine Setup — Market Pulse

Everything needed to get the fintech development environment running on a new Windows machine.


1. Install Chocolatey (Windows package manager)

Open PowerShell as Administrator and run:

Set-ExecutionPolicy Bypass -Scope Process -Force
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

Then install system tools in one command:

choco install make git jq -y

2. Install System Tools

Install Python and Node.js manually (Chocolatey versions lag behind):

Tool Version (reference) Download
Python 3.13.x https://python.org/downloads
Node.js 22.x LTS https://nodejs.org

jq is required for the Claude Code status bar script.


3. Install Claude Code

npm install -g @anthropic-ai/claude-code

Then log in:

claude
# follow the browser auth flow

4. Configure Claude Code Global Settings

Create or replace C:\Users\<you>\.claude\settings.json:

{
  "model": "sonnet",
  "statusLine": {
    "type": "command",
    "command": "bash ~/.claude/statusline-command.sh"
  },
  "autoUpdatesChannel": "latest",
  "effortLevel": "medium"
}

5. Copy the Status Bar Script

Copy ~/.claude/statusline-command.sh from the old machine to the same path on the new machine:

C:\Users\<you>\.claude\statusline-command.sh

Make sure Git Bash or WSL is available so bash can run the script.
The script displays: context window usage, git status, current model, 5h/7d rate limit timers and burn rate.

See docs/implementation/statusline.md for full setup details and the script source.


6. Set Up SSH Key for GitHub

Generate a new key (press Enter twice for no passphrase):

ssh-keygen -t ed25519 -C "your@email.com" -f "$env:USERPROFILE\.ssh\id_ed25519"

Add GitHub to known hosts and test:

ssh-keyscan github.com >> ~/.ssh/known_hosts
ssh -T git@github.com
# Should print: Hi <username>! You've successfully authenticated...

If the test fails, add the public key to GitHub first:

cat ~/.ssh/id_ed25519.pub

Go to GitHub → Settings → SSH and GPG keys → New SSH key, paste the output, and save. Then re-run the test.


7. Clone the Repo

git clone git@github.com:kosungjunmichael/FinTrack.git E:\prej\FinTrack
cd E:\prej\FinTrack

8. Copy Secret Files (NOT in git)

These must be copied manually from the old machine:

File What it contains
E:\prej\FinTrack\.env API keys (Finnhub, DeepL, Anthropic, etc.)

.env contents reference:

FINNHUB_API_KEY=...
POLYGON_API_KEY=...
AZURE_TRANSLATOR_KEY=...
AZURE_TRANSLATOR_REGION=eastus
ANTHROPIC_API_KEY=...
DATABASE_URL=          # leave blank for local SQLite

9. Install All Dependencies

cd E:\prej\FinTrack
make init

This runs pip install -r requirements.txt, pip install -r requirements-dev.txt, and cd frontend && npm install in one shot.

requirements.txt includes: yfinance, FinanceDataReader, pykrx, BeautifulSoup4, selenium, VADER, transformers, torch, konlpy, pandas, numpy, scikit-learn, arch (GARCH), ta, SQLAlchemy, psycopg2-binary, APScheduler, DeepL, anthropic, google-generativeai, Pillow, FastAPI, uvicorn[standard], python-multipart, plotly, python-dotenv, httpx, tenacity, loguru.


10. Optional — Copy Existing Data

Skip these if you're OK starting fresh (the scheduler repopulates everything).

File What it contains
E:\prej\FinTrack\fintech.db SQLite DB with all scraped news, prices, predictions

model_cache/ is gitignored and not needed — models are retrained automatically on first run_predictions job.


11. Run the App

Open two terminals:

Terminal 1 — Backend:

cd E:\prej\FinTrack
make run
# or for fast restart (skips initial data load):
make run-fast

Terminal 2 — Frontend:

cd E:\prej\FinTrack\frontend
npm run dev
  • Backend API: http://localhost:8000
  • Frontend: http://localhost:5173

12. Verify Everything Works

# Check backend is up
curl http://localhost:8000/health

# Check DB has tables
sqlite3 fintech.db ".tables"

Notes on Claude Code

No plugins are installed — the project uses Claude Code's built-in skills and agents defined in .claude/ inside the repo. Those come with the repo automatically.

The project-level Claude settings (permissions) live in .claude/settings.local.json — this file is tracked in git and comes with the repo, so no manual copying is needed.