# Real Bars vs Fake Bars Trend Analyzer

A Python web app wrapped by a native macOS shell.

## Standardized Layout
- `web/src/`: web backend + Streamlit app source
- `mac/src/`: Xcode macOS shell app (`WKWebView` host)
- `scripts/`: build and packaging scripts
- `docs/`: architecture and supporting docs
- `skills/`: reusable project skills

## Web Source
- `web/src/app.py`: Streamlit entrypoint and UI orchestration
- `web/src/web_core/`: strategy/data/chart/export modules
- `web/src/requirements.txt`: Python dependencies
- `web/src/ONBOARDING.md`: in-app onboarding guide content
- `web/src/PRD.md`: web product rules and behavior spec

## macOS Shell
- Project location: `mac/src/` (`*.xcodeproj` auto-discovered by scripts)
- Uses `WKWebView` and launches embedded backend executable from app resources.
- No external browser required.

See `mac/src/README.md` for shell details.

## Setup
### Quick start
```bash
./run.sh
```

### Setup only
```bash
./run.sh --setup-only
```

### Tests
```bash
make test
```

## Build Self-Contained macOS App
```bash
./scripts/build_selfcontained_mac_app.sh
```
Output: `dist-mac/<timestamp>/<Scheme>.app`

Package as DMG:
```bash
APP_BUNDLE_PATH="dist-mac/<timestamp>/<Scheme>.app" ./scripts/create_installer_dmg.sh
```
Output: `build/dmg/<AppName>-<timestamp>.dmg`

## Optional Standalone Streamlit App
```bash
./scripts/build_standalone_app.sh
```
Output: `dist-standalone/<timestamp>/dist/<RepoName>.app`

## Notes
- Analysis-only app; no trade execution.
- Yahoo Finance interval availability depends on symbol/lookback.
- For broad distribution, use code signing + notarization.
