Build burl from source for your platform or contribute to development.
# Clone the repository
git clone https://github.com/ZainW/burl
cd burl
# Install dependencies
bun install
# Build for current platform
bun run build
The compiled binary will be in packages/cli/dist/burl.
Run directly without building:
bun run dev https://example.com
Or run the source directly:
bun run packages/cli/src/index.ts https://example.com
Build for all platforms:
bun run build:all
This creates binaries for:
| Platform | Architecture | Output |
|---|---|---|
| Linux | x64 | burl-linux-x64 |
| Linux | ARM64 | burl-linux-arm64 |
| macOS | x64 (Intel) | burl-darwin-x64 |
| macOS | ARM64 (Apple Silicon) | burl-darwin-arm64 |
| Windows | x64 | burl-windows-x64.exe |
# Linux x64
bun run build:linux-x64
# macOS ARM64 (M1/M2/M3)
bun run build:darwin-arm64
# Windows x64
bun run build:windows-x64
burl/
├── packages/
│ ├── cli/ # Main CLI package
│ │ ├── src/
│ │ │ ├── core/ # Engine, HTTP client, types
│ │ │ ├── output/ # Formatters (JSON, CSV, TUI)
│ │ │ ├── stats/ # Statistics collection
│ │ │ └── utils/ # Helpers
│ │ └── test/ # Tests
│ └── docs/ # Documentation site
├── package.json # Monorepo root
└── tsconfig.json # TypeScript config
# Run all tests
bun test
# Run with watch mode
bun test --watch
# Run specific test file
bun test packages/cli/test/core/auth.test.ts
# Type checking
bun run typecheck
# Linting
bun run lint
# Formatting
bun run format
# All checks
bun run check
The full CI check:
bun run ci
This runs:
bun run typecheck)bun run lint)bun run format:check)bun test)git clone https://github.com/YOUR_USERNAME/burl
cd burl
bun install
git checkout -b feat/your-feature
Follow the existing code style:
import type for type-only importsBun.file(), Bun.nanoseconds())bun run ci
Push your branch and open a pull request.
The compiled binaries are optimized for size:
| Platform | Approximate Size |
|---|---|
| Linux x64 | ~50 MB |
| macOS ARM64 | ~45 MB |
| Windows x64 | ~55 MB |
The binaries are self-contained with no external dependencies.
bun upgrade
rm -rf node_modules bun.lock
bun install
bun --version # Should be 1.3.5+
bun test packages/cli/test/cli.test.ts --verbose
Cross-compilation requires the target architecture's dependencies. If building for a different platform fails: