Skip to content

Commit 18aeadd

Browse files
committed
chore: bump version to 0.2.0, update project metadata, and transfer ownership to The SudoStart
1 parent 90811d9 commit 18aeadd

8 files changed

Lines changed: 77 additions & 181 deletions

File tree

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ jobs:
6060
- `.deb` — Debian/Ubuntu installer
6161
- `.AppImage` — portable, runs anywhere
6262
63-
See [README](https://github.com/chojuninengu/sysora#readme) for setup instructions.
63+
See [README](https://github.com/The-SudoStart/sysora#readme) for setup instructions.
6464
releaseDraft: true
6565
prerelease: false
6666
includeDebug: false

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2024 chojuninengu
3+
Copyright (c) 2024 The SudoStart
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 70 additions & 174 deletions
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,40 @@ Built with **Rust + Tauri v2** on the backend and **React 19 + Vite + Tailwind C
66

77
---
88

9-
## Screenshots
9+
## 📥 Download Latest Release
1010

11-
### Dashboard — Memory Monitor
12-
The main view shows live processes sorted by RAM usage, with a Kill button per process and stat cards for RAM, CPU, Disk, and Battery at the top.
11+
Get the latest stable version (Phase 2) for your operating system:
1312

14-
![Memory Monitor](docs/screenshots/memory-monitor.png)
13+
| Platform | Installer | Portability |
14+
|---|---|---|
15+
| **Linux (Ubuntu/Debian)** | [`.deb`](https://github.com/The-SudoStart/sysora/releases/latest) | [`.AppImage`](https://github.com/The-SudoStart/sysora/releases/latest) |
16+
| **macOS** | [`.dmg`](https://github.com/The-SudoStart/sysora/releases/latest) | Native (Universal) |
17+
| **Windows** | [`.msi`](https://github.com/The-SudoStart/sysora/releases/latest) | [`.exe`](https://github.com/The-SudoStart/sysora/releases/latest) |
18+
19+
---
1520

16-
### Tray Popup
17-
Click the tray icon to see a quick CPU/RAM/Disk/Battery health snapshot — without opening the full window.
21+
## 🚀 Features (Phase 2 Stable)
1822

19-
![Tray Popup](docs/screenshots/tray-popup.png)
23+
### 📊 Real-time Monitoring
24+
- **Resource Pulse**: Live CPU and RAM usage history sparklines (last 60s).
25+
- **Process Manager**: Kill hungry processes with one click, search by name, and sort by memory usage.
26+
- **Stat Cards**: Instant glance at RAM, CPU, Disk, and Battery health/status.
27+
28+
### 💾 Storage & Files
29+
- **Disk usage**: Monitor all mounted partitions and removable drives.
30+
- **Deep Scanner**: Find what's eating your space! Scan any directory to find the largest files and folders.
31+
- **Safe Purge**: Delete heavy files/folders directly from the scanner with confirmation.
32+
33+
### ⚙️ App Management & Settings
34+
- **Installed Apps**: List and manage installed applications.
35+
- **Persistence**: Save your preferences for refresh rates and alert thresholds.
36+
- **Tray Power**: Complete control from the system tray: quick specs, settings, and one-click toggle.
37+
- **Native Experience**: "Close to Tray" and "Start minimized" support.
2038

2139
---
2240

2341
## Architecture
2442

25-
### System overview
26-
2743
```
2844
┌──────────────────────────────────────────────────────┐
2945
│ React 19 + Vite frontend │
@@ -32,64 +48,30 @@ Click the tray icon to see a quick CPU/RAM/Disk/Battery health snapshot — with
3248
│ invoke() / emit() (Tauri IPC)
3349
┌──────────────────▼───────────────────────────────────┐
3450
│ Tauri v2 bridge │
35-
│ Commands: get_processes · kill_process · get_sys
36-
│ Events: process-update (emitted every 3s)
51+
│ Commands: scan_directory · kill_process · settings
52+
│ Events: scan-progress · process-update
3753
│ Tray: toggle · system-info · settings · quit │
38-
└──────────────────┬───────────────────────────────────
54+
└──────────────────┬───────────────────────────────────
3955
4056
┌──────────────────▼───────────────────────────────────┐
4157
│ Rust backend │
42-
│ sysinfo crate │ Process killer │ Battery reader
58+
│ sysinfo crate │ WalkDir scanner │ Battery reader│
4359
│ /proc · WMI · sysctl (cross-platform OS APIs) │
4460
└───────────────────────────────────────────────────────┘
4561
Runs on Ubuntu · macOS · Windows
4662
```
4763

48-
### Data flow
49-
50-
```
51-
OS kernel ──► sysinfo crate ──► Tokio loop (3s) ──► serde_json ──► Tauri IPC ──► React UI
52-
53-
kill_process(pid) ◄────────────────────┘
54-
(user clicks Kill)
55-
```
56-
57-
### CI/CD pipeline
58-
59-
```
60-
git push --tags
61-
62-
63-
GitHub Actions: release.yml
64-
65-
┌────┴─────────────────────┐
66-
│ │ │
67-
▼ ▼ ▼
68-
ubuntu-22.04 macos-latest windows-latest
69-
.deb .dmg .msi
70-
.AppImage (universal) .exe
71-
│ │ │
72-
└────┬──────┘──────────────┘
73-
74-
GitHub Releases (draft)
75-
```
76-
7764
---
7865

7966
## Tech Stack
8067

81-
| Layer | Technology | Purpose |
82-
|---|---|---|
83-
| Backend | **Rust** | Native system access, memory safety, speed |
84-
| Desktop framework | **Tauri v2** | Cross-platform shell, tray icon, IPC bridge |
85-
| System info | **`sysinfo` crate** | Processes, RAM, CPU, disk, battery |
86-
| Async | **Tokio** | Background 3-second refresh loop |
87-
| Serialization | **`serde` + `serde_json`** | Rust ↔ TypeScript data bridge |
88-
| Frontend | **React 19 + Vite** | Fast HMR dev, component tree |
89-
| Styling | **Tailwind CSS** | Utility-first dark theme |
90-
| State | **Zustand** | Global tab and search state |
91-
| Data fetching | **TanStack Query** | Poll backend, cache, refetch on event |
92-
| CI/CD | **GitHub Actions** | 3-platform release builds |
68+
| Layer | Technology |
69+
|---|---|
70+
| **Backend** | Rust, Tauri v2 |
71+
| **Frontend** | React 19, Vite, Tailwind CSS |
72+
| **State** | Zustand, TanStack Query |
73+
| **Charts** | Recharts |
74+
| **Icons** | Lucide React |
9375

9476
---
9577

@@ -99,145 +81,61 @@ ubuntu-22.04 macos-latest windows-latest
9981
sysora/
10082
├── src/ # React frontend
10183
│ ├── components/
102-
│ │ ├── layout/
103-
│ │ │ ├── Shell.tsx # Root layout
104-
│ │ │ ├── Sidebar.tsx # Nav sidebar
105-
│ │ │ ├── TopBar.tsx # Search + live indicator
106-
│ │ │ └── StatCard.tsx # RAM/CPU/Disk/Battery cards
107-
│ │ └── tabs/
108-
│ │ ├── MemoryTab.tsx # ✅ Phase 1 — live processes + kill
109-
│ │ ├── ProcessesTab.tsx # ✅ Phase 1 — sortable full list
110-
│ │ ├── DiskTab.tsx # ✅ Phase 1 — disk usage
111-
│ │ ├── SystemInfoTab.tsx # ✅ Phase 1 — specs + battery health
112-
│ │ ├── AppsTab.tsx # 🔲 Phase 2
113-
│ │ └── SettingsTab.tsx # 🔲 Phase 2
114-
│ ├── lib/
115-
│ │ ├── api.ts # All Tauri invoke() calls
116-
│ │ └── utils.ts # fmtBytes, fmtUptime, color helpers
117-
│ ├── store/
118-
│ │ └── app.ts # Zustand store
119-
│ ├── types/
120-
│ │ └── index.ts # Shared TypeScript types
121-
│ ├── App.tsx
122-
│ ├── main.tsx
123-
│ └── index.css
124-
├── src-tauri/
125-
│ ├── src/
126-
│ │ ├── main.rs # Entrypoint
127-
│ │ └── lib.rs # All Tauri commands + tray setup
128-
│ ├── Cargo.toml
129-
│ ├── build.rs
130-
│ └── tauri.conf.json
131-
├── .github/
132-
│ └── workflows/
133-
│ └── release.yml # CI/CD — Ubuntu + macOS + Windows
134-
├── index.html
135-
├── package.json
136-
├── vite.config.ts
137-
├── tailwind.config.js
138-
├── tsconfig.json
139-
└── LICENSE
84+
│ │ ├── charts/ # History graphs
85+
│ │ ├── tabs/ # Memory, Apps, Disk, Settings
86+
│ │ └── layout/ # Shell, Sidebar, StatCards
87+
├── src-tauri/ # Rust backend
88+
│ ├── src/lib.rs # Core logic & Commands
89+
│ └── capabilities/ # Security & Permissions
90+
├── images/ # Project assets (Logo, Icons)
91+
└── .github/workflows/ # CI/CD Release pipeline
14092
```
14193

14294
---
14395

144-
## Getting Started
96+
## Getting Started (Dev)
14597

14698
### Prerequisites
147-
148-
| Tool | Version | Install |
149-
|---|---|---|
150-
| Node.js | ≥ 20 | [nodejs.org](https://nodejs.org) |
151-
| Rust | stable | `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \| sh` |
152-
| Tauri CLI | v2 | `npm install --save-dev @tauri-apps/cli@^2` |
153-
154-
**Ubuntu only — system libraries required:**
155-
```bash
156-
sudo apt-get update && sudo apt-get install -y \
157-
libwebkit2gtk-4.1-dev libappindicator3-dev \
158-
librsvg2-dev patchelf libssl-dev pkg-config
159-
```
160-
161-
**macOS only:**
162-
```bash
163-
xcode-select --install
164-
```
165-
166-
---
99+
- **Node.js** ≥ 20
100+
- **Rust** (stable)
101+
- **Tauri v2 CLI** (`npm install -g @tauri-apps/cli`)
167102

168103
### Run in development
169104

170105
```bash
171106
# 1. Clone the repo
172-
git clone https://github.com/chojuninengu/sysora.git
107+
git clone https://github.com/The-SudoStart/sysora.git
173108
cd sysora
174109

175-
# 2. Install frontend dependencies
110+
# 2. Install dependencies
176111
npm install
177112

178-
# 3. Add a placeholder tray icon (required for Tauri to start)
179-
mkdir -p src-tauri/icons
180-
# Copy any 32x32 PNG as icon.png — replace with real icon later
181-
cp /path/to/any-icon.png src-tauri/icons/icon.png
182-
183-
# 4. Start dev server (hot-reloads both React and Rust)
113+
# 3. Start dev server
184114
npm run tauri dev
185115
```
186116

187-
The app window opens automatically. The tray icon appears in your system tray.
188-
189-
---
190-
191-
### Build for production
192-
193-
```bash
194-
npm run tauri build
195-
```
196-
197-
Output artifacts are in `src-tauri/target/release/bundle/`:
198-
- **Ubuntu:** `deb/sysora_*.deb` and `appimage/sysora_*.AppImage`
199-
- **macOS:** `dmg/Sysora_*.dmg`
200-
- **Windows:** `msi/Sysora_*.msi` and `nsis/Sysora_*.exe`
201-
202-
---
203-
204-
### Release a new version
205-
206-
```bash
207-
# Bump version in package.json and src-tauri/tauri.conf.json + Cargo.toml, then:
208-
git tag v0.2.0
209-
git push origin v0.2.0
210-
```
211-
212-
GitHub Actions picks up the tag and starts three parallel build jobs. Once complete, artifacts appear as a draft release on GitHub — review and publish.
213-
214117
---
215118

216119
## Feature Roadmap
217120

218-
### ✅ Phase 1 — Foundation (current)
219-
- [x] Tauri 2 + React 19 + Vite + Tailwind scaffold
220-
- [x] Tray icon with toggle window / system info / quit
221-
- [x] Memory Monitor — live process list sorted by RAM, Kill button per process
222-
- [x] Process Manager — full sortable process list with search
223-
- [x] Disk Scanner — all mounted disks with usage bars
224-
- [x] System Info — OS, CPU, RAM, uptime, battery health (design capacity vs current)
225-
- [x] Quick Spec Summary panel — copy/share machine specs
226-
- [x] GitHub Actions CI — Ubuntu + macOS + Windows release builds
227-
228-
### 🔲 Phase 2 — Management
229-
- [ ] App Manager — list installed applications, uninstall from UI
230-
- [ ] Settings — refresh rate, startup on login, notification thresholds
231-
- [ ] Battery: macOS and Windows native battery API support
232-
- [ ] Disk file scanner — show largest files and folders (home / root)
233-
- [ ] CPU history graph (last 60s sparkline)
121+
### ✅ Phase 1 — Foundation
122+
- [x] Live process list + Kill button
123+
- [x] Disk usage bars
124+
- [x] System specs + Battery health
125+
- [x] Tray popup snapshot
126+
127+
### ✅ Phase 2 — Management (Current)
128+
- [x] **App Manager**: List installed applications.
129+
- [x] **Settings**: Refresh rate, startup behavior, and persistence.
130+
- [x] **Disk Scanner**: Find largest files/folders with deletion support.
131+
- [x] **Resource History**: 60s CPU/RAM chart in Memory tab.
132+
- [x] **Persistence**: Save user settings to JSON.
234133

235134
### 🔲 Phase 3 — Polish
236-
- [ ] Notifications — alert when RAM or CPU crosses threshold
237-
- [ ] Auto-launch on login (all platforms)
238-
- [ ] Sysora branded icon + splash screen
239-
- [ ] Export system report as PDF
240-
- [ ] Dark/light theme toggle
135+
- [ ] Notifications: Alert when RAM/CPU crosses threshold.
136+
- [ ] Branded icon + Splash screen.
137+
- [ ] Export system report as PDF.
138+
- [ ] Full Windows uninstallation logic.
241139

242140
---
243141

@@ -258,15 +156,13 @@ This is read from `/sys/class/power_supply/BAT0/` on Linux (`energy_full` vs `en
258156

259157
## Contributing
260158

261-
Pull requests are welcome! For major changes, please open an issue first.
262-
263159
1. Fork the repo
264160
2. Create a feature branch: `git checkout -b feat/my-feature`
265-
3. Commit your changes: `git commit -m "feat: add my feature"`
266-
4. Push and open a PR against `main`
161+
3. Commit changes: `git commit -m "feat: add feature"`
162+
4. Open a PR against `main`
267163

268164
---
269165

270166
## License
271167

272-
[MIT](LICENSE) © 2024 chojuninengu
168+
[MIT](LICENSE) © 2024 [The SudoStart](https://github.com/The-SudoStart)

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "sysora",
33
"private": true,
4-
"version": "0.1.0",
4+
"version": "0.2.0",
55
"type": "module",
66
"scripts": {
77
"dev": "vite",

src-tauri/Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src-tauri/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "sysora"
3-
version = "0.1.0"
3+
version = "0.2.0"
44
description = "Sysora — cross-platform system monitor & manager"
55
authors = ["chojuninengu"]
66
edition = "2021"

src-tauri/tauri.conf.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "https://schema.tauri.app/config/2",
33
"productName": "Sysora",
4-
"version": "0.1.0",
4+
"version": "0.2.0",
55
"identifier": "sysora",
66
"build": {
77
"frontendDist": "../dist",

src/components/layout/Sidebar.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ export function Sidebar() {
6666

6767
{/* Version footer */}
6868
<div className="px-4 py-3 border-t border-white/5">
69-
<p className="text-[10px] text-white/20">v0.1.0 · Phase 1</p>
69+
<p className="text-[10px] text-white/20">v0.2.0 · Phase 2 Stable</p>
7070
</div>
7171
</aside>
7272
);

0 commit comments

Comments
 (0)