Skip to content

Commit 7cc9419

Browse files
Copilot0xrinegade
andcommitted
Add extensive collection of development tools
Co-authored-by: 0xrinegade <[email protected]>
1 parent bc0dd39 commit 7cc9419

File tree

4 files changed

+442
-42
lines changed

4 files changed

+442
-42
lines changed

README.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,17 +85,22 @@ sudo apt install just rustc libglvnd-dev libwayland-dev libseat-dev libxkbcommon
8585

8686
### Development Tools Setup
8787

88-
For developers working on COSMIC SVM applications, additional development tools can be installed:
88+
For developers working on COSMIC SVM applications, a comprehensive suite of development tools can be installed:
8989

9090
```
9191
just dev-tools
9292
```
9393

94-
This will install:
95-
- **Programming Languages**: Zig (latest), Crystal (latest)
94+
This will install over 30 development tools including:
95+
- **Programming Languages**: Rust, Zig, Crystal, Go, Node.js, Python 3, Deno, Bun
9696
- **Mobile Development**: React Native CLI, Flutter, Kotlin, Android Studio
97-
- **Development Tools**: Insomnia API client
97+
- **Development Tools**: Visual Studio Code, Insomnia API client, GitHub CLI, fzf
98+
- **Container Tools**: Docker, Docker Compose
99+
- **Package Managers**: pnpm, yarn, Cargo
98100
- **Network Tools**: Tor, Tailscale, Yggdrasil, i2p
101+
- **System Tools**: jq, htop, tmux, ShellCheck, vim/neovim
102+
- **Database Tools**: PostgreSQL client, SQLite, Redis CLI
103+
- **Testing Tools**: ESLint, Prettier, Jest, Playwright, Cypress
99104
- **PWA Tools**: Angular CLI, Create React App, Lighthouse, Workbox
100105
- **Specialized Tools**: OSVM CLI, Anza CLI tools (placeholders for future implementation)
101106

docs/DEV-TOOLS.md

Lines changed: 100 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,14 @@ just dev-tools-check
1616

1717
### Programming Languages
1818

19+
- **Rust**: Systems programming language focused on safety, speed, and concurrency
1920
- **Zig (latest version)**: Fast, robust, optimal programming language
2021
- **Crystal (latest version)**: Fast as C, slick as Ruby
22+
- **Go**: Open source programming language for building simple, reliable, and efficient software
23+
- **Node.js & npm**: JavaScript runtime and package manager
24+
- **Python 3 & pip**: High-level programming language and package installer
25+
- **Deno**: Secure runtime for JavaScript and TypeScript
26+
- **Bun**: Fast all-in-one JavaScript runtime
2127

2228
### Mobile Development
2329

@@ -28,7 +34,21 @@ just dev-tools-check
2834

2935
### Development Tools
3036

37+
- **Visual Studio Code**: Lightweight but powerful source code editor
3138
- **Insomnia**: REST/GraphQL API client
39+
- **GitHub CLI**: Command line tool for GitHub
40+
- **fzf**: Command-line fuzzy finder
41+
42+
### Container Tools
43+
44+
- **Docker**: Platform for developing, shipping, and running applications in containers
45+
- **Docker Compose**: Tool for defining and running multi-container Docker applications
46+
47+
### Package Managers
48+
49+
- **pnpm**: Fast, disk space efficient package manager
50+
- **yarn**: Reliable, secure, and fast dependency management
51+
- **Cargo**: Rust package manager (installed with Rust)
3252

3353
### Network Tools
3454

@@ -37,6 +57,28 @@ just dev-tools-check
3757
- **Yggdrasil**: End-to-end encrypted IPv6 network
3858
- **i2p**: Anonymous overlay network
3959

60+
### System Tools
61+
62+
- **jq**: Command-line JSON processor
63+
- **htop**: Interactive process viewer
64+
- **tmux**: Terminal multiplexer
65+
- **ShellCheck**: Static analysis tool for shell scripts
66+
- **vim/neovim**: Text editors
67+
68+
### Database Tools
69+
70+
- **PostgreSQL client**: Command line client for PostgreSQL
71+
- **SQLite**: Self-contained SQL database engine
72+
- **Redis CLI**: Command line interface for Redis
73+
74+
### Development & Testing Tools
75+
76+
- **ESLint**: JavaScript code analysis tool
77+
- **Prettier**: Code formatter
78+
- **Jest**: JavaScript testing framework
79+
- **Playwright**: Browser automation library
80+
- **Cypress**: End-to-end testing framework
81+
4082
### PWA Development Tools
4183

4284
- **Angular CLI**: Command line interface for Angular
@@ -53,6 +95,12 @@ just dev-tools-check
5395

5496
If the automated installation fails or you prefer manual setup, you can install tools individually:
5597

98+
### Rust
99+
```bash
100+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
101+
source ~/.cargo/env
102+
```
103+
56104
### Zig
57105
```bash
58106
# Download latest from https://ziglang.org/download/
@@ -67,6 +115,14 @@ sudo ln -s /opt/zig/zig /usr/local/bin/zig
67115
curl -fsSL https://crystal-lang.org/install.sh | sudo bash
68116
```
69117

118+
### Go
119+
```bash
120+
# Download from https://golang.org/dl/
121+
wget https://go.dev/dl/go$(version).linux-amd64.tar.gz
122+
sudo tar -C /usr/local -xzf go$(version).linux-amd64.tar.gz
123+
echo 'export PATH="/usr/local/go/bin:$PATH"' >> ~/.bashrc
124+
```
125+
70126
### Flutter
71127
```bash
72128
# Download from https://flutter.dev/docs/get-started/install/linux
@@ -76,6 +132,27 @@ sudo mv flutter /opt/
76132
echo 'export PATH="/opt/flutter/bin:$PATH"' >> ~/.bashrc
77133
```
78134

135+
### Docker
136+
```bash
137+
# Ubuntu/Debian
138+
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
139+
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
140+
sudo apt update
141+
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
142+
```
143+
144+
### Deno
145+
```bash
146+
curl -fsSL https://deno.land/install.sh | sh
147+
echo 'export PATH="$HOME/.deno/bin:$PATH"' >> ~/.bashrc
148+
```
149+
150+
### Bun
151+
```bash
152+
curl -fsSL https://bun.sh/install | bash
153+
echo 'export PATH="$HOME/.bun/bin:$PATH"' >> ~/.bashrc
154+
```
155+
79156
## PWA Development
80157

81158
For developing Progressive Web Apps for opensvm.com, larp.dev, and aeamcp.com:
@@ -113,13 +190,33 @@ Install system dependencies manually if the script fails:
113190
```bash
114191
# Ubuntu/Debian
115192
sudo apt update
116-
sudo apt install curl wget git build-essential pkg-config libssl-dev
193+
sudo apt install curl wget git build-essential pkg-config libssl-dev \
194+
jq htop tmux vim neovim postgresql-client sqlite3 redis-tools \
195+
python3 python3-pip shellcheck
117196

118197
# Fedora
119-
sudo dnf install curl wget git gcc gcc-c++ make pkgconfig openssl-devel
198+
sudo dnf install curl wget git gcc gcc-c++ make pkgconfig openssl-devel \
199+
jq htop tmux vim neovim postgresql sqlite redis python3 python3-pip ShellCheck
120200

121201
# Arch Linux
122-
sudo pacman -S curl wget git base-devel openssl
202+
sudo pacman -S curl wget git base-devel openssl jq htop tmux vim neovim \
203+
postgresql sqlite redis python python-pip shellcheck
204+
```
205+
206+
### Docker Permission Issues
207+
After installing Docker, add your user to the docker group:
208+
```bash
209+
sudo usermod -aG docker $USER
210+
# Log out and back in for changes to take effect
211+
```
212+
213+
### Node.js/npm Issues
214+
If you encounter npm permission issues, you can fix them by changing npm's default directory:
215+
```bash
216+
mkdir ~/.npm-global
217+
npm config set prefix '~/.npm-global'
218+
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
219+
source ~/.bashrc
123220
```
124221

125222
## Contributing

scripts/check-dev-tools.sh

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,17 @@ check_command "git" "git"
8888
# Programming Languages
8989
echo ""
9090
echo "Programming Languages:"
91+
check_command "rustc" "Rust"
92+
check_command "cargo" "Cargo (Rust package manager)"
9193
check_command "zig" "Zig"
9294
check_command "crystal" "Crystal"
9395
check_command "node" "Node.js"
9496
check_command "npm" "npm"
97+
check_command "go" "Go"
98+
check_command "python3" "Python 3"
99+
check_command "pip3" "pip3"
100+
check_command "deno" "Deno"
101+
check_command "bun" "Bun"
95102

96103
# Mobile Development
97104
echo ""
@@ -100,6 +107,13 @@ check_command "npx" "npx (React Native)"
100107
check_path "$HOME/.local/flutter/bin/flutter" "Flutter"
101108
check_command "kotlin" "Kotlin"
102109

110+
# Package Managers
111+
echo ""
112+
echo "Package Managers:"
113+
check_command "pnpm" "pnpm"
114+
check_command "yarn" "yarn"
115+
check_command "cargo" "Cargo"
116+
103117
# Check Android Studio
104118
echo ""
105119
echo "IDE and Development Tools:"
@@ -113,6 +127,15 @@ else
113127
echo_fail "Android Studio not found"
114128
fi
115129

130+
# Check Visual Studio Code
131+
if check_snap "code" "Visual Studio Code"; then
132+
:
133+
elif check_command "code" "Visual Studio Code"; then
134+
:
135+
else
136+
echo_fail "Visual Studio Code not found"
137+
fi
138+
116139
# Check Insomnia
117140
if check_snap "insomnia" "Insomnia"; then
118141
:
@@ -130,6 +153,26 @@ check_command "tailscale" "Tailscale"
130153
check_command "yggdrasil" "Yggdrasil"
131154
check_command "i2pd" "i2pd (I2P daemon)"
132155

156+
# Container Tools
157+
echo ""
158+
echo "Container Tools:"
159+
check_command "docker" "Docker"
160+
check_command "docker-compose" "Docker Compose"
161+
162+
# Version Control & Collaboration
163+
echo ""
164+
echo "Version Control & Collaboration:"
165+
check_command "gh" "GitHub CLI"
166+
167+
# System Tools
168+
echo ""
169+
echo "System Tools:"
170+
check_command "jq" "jq (JSON processor)"
171+
check_command "htop" "htop"
172+
check_command "tmux" "tmux"
173+
check_command "fzf" "fzf (fuzzy finder)"
174+
check_command "shellcheck" "ShellCheck"
175+
133176
# Specialized Tools
134177
echo ""
135178
echo "Specialized Tools:"
@@ -144,6 +187,22 @@ check_command "create-react-app" "Create React App"
144187
check_command "lighthouse" "Lighthouse"
145188
check_command "workbox" "Workbox CLI"
146189

190+
# Development & Testing Tools
191+
echo ""
192+
echo "Development & Testing Tools:"
193+
check_command "eslint" "ESLint"
194+
check_command "prettier" "Prettier"
195+
check_command "jest" "Jest"
196+
check_command "playwright" "Playwright"
197+
check_command "cypress" "Cypress"
198+
199+
# Database Tools
200+
echo ""
201+
echo "Database Tools:"
202+
check_command "psql" "PostgreSQL client"
203+
check_command "sqlite3" "SQLite"
204+
check_command "redis-cli" "Redis CLI"
205+
147206
echo ""
148207
echo "=============================================="
149208
echo "Development tools check completed!"

0 commit comments

Comments
 (0)