# Nyra
NYRA — Network Yield Runtime Assistant : System assistant for process control and monitoring.
It provides a single, unified interface for interacting with processes on Linux:
- launching programs
- listing running tasks
- stopping them
- inspecting resource usage
While traditional Linux tools like `ps`, `kill`, and `htop` exist as separate utilities,
Nyra focuses on *automation, consistent ergonomics,* and a *Rust-native developer interface* — making it suitable both as a command-line tool and an embeddable library.
---
## Features
| Run a program | `Nyra run <program>` | ✅ Working |
| List running processes | `Nyra list` | ✅ Working |
| Stop a process (SIGTERM) | `Nyra stop <pid>` | ✅ Working |
| Get process resource usage (CPU + memory) | `Nyra stats <pid>` | ✅ Working |
---
### Examples
- Start a program:
```
Nyra run firefox
```
- View running processes:
```
Nyra list
```
- Stop a process:
```
Nyra stop 2173
```
- Check usage stats:
```
Nyra stats 2173
```
---
nyra stop <pid> --force
```
---
## 🎯 Vision
Linux provides powerful primitives — signals, `/proc`, namespaces, cgroups —
but they are fragmented across many command-line tools and scripting interfaces.
Nyra aims to unify these capabilities into:
- one consistent CLI
- one stable Rust API
- one programmable automation layer
It is designed for:
- DevOps automation
- Sandboxing and experimentation
- Process supervision and local orchestration
- Systems research and education
- Embedded and developer tooling
Nyra is *not* trying to replace Linux tooling —
it is giving those tools a **programmable, ergonomic, and portable interface.**
---
## 🛠️ Installation (local)
```
cargo build --release
sudo cp target/release/Nyra/usr/local/bin/
```
Then run:
```
nyra list
```
---
## License
MIT
---
## Contributing
Issues, feature proposals, PRs, and discussion are welcome.