You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+
## Project Overview
6
+
7
+
`justinstall` is a command-line tool that makes it easy to install software from various sources including GitHub repositories, direct URLs, and local files. It supports multiple file formats and platforms, with intelligent detection of install scripts and binaries.
8
+
9
+
## Development Environment
10
+
11
+
-**Runtime**: Bun (JavaScript runtime)
12
+
-**Main entry point**: `index.js`
13
+
-**Configuration**: `jsconfig.json` (TypeScript support without compilation)
14
+
-**Build script**: `build.sh` for creating platform-specific binaries
15
+
16
+
## Build Commands
17
+
18
+
```bash
19
+
# Build for all platforms
20
+
./build.sh
21
+
22
+
# Individual platform builds (manual)
23
+
bun build --compile --target=bun-linux-x64 index.js --outfile build/justinstall-v1.2.0-linux-x64
24
+
bun build --compile --target=bun-linux-arm64 index.js --outfile build/justinstall-v1.2.0-linux-arm64
25
+
bun build --compile --target=bun-windows-x64 index.js --outfile build/justinstall-v1.2.0-windows-x64.exe
26
+
bun build --compile --target=bun-darwin-x64 index.js --outfile build/justinstall-v1.2.0-darwin-x64
27
+
bun build --compile --target=bun-darwin-arm64 index.js --outfile build/justinstall-v1.2.0-darwin-arm64
28
+
```
29
+
30
+
## Architecture Overview
31
+
32
+
### Core Components
33
+
34
+
1.**Main Entry Point (`index.js`)**
35
+
- CLI argument parsing and command routing
36
+
- Help text and usage information
37
+
- Integration of all major modules
38
+
39
+
2.**Installation System (`lib/installer.js`)**
40
+
- Main installation orchestration
41
+
- Coordinates between sources and installers
42
+
- Handles user confirmation and progress tracking
43
+
44
+
3.**Source Management (`lib/sources.js`)**
45
+
- GitHub repository parsing and asset discovery
46
+
- Website scraping and download detection
47
+
- Smart URL handling and fallback strategies
48
+
- Install script detection from README/release notes
49
+
50
+
4.**Platform Installers (`lib/installers.js`)**
51
+
- Platform-specific installation logic
52
+
- Archive extraction (tar.gz, zip, tar.xz)
53
+
- Binary detection and installation (~/.local/bin)
0 commit comments