nyra 0.1.1

Network Yield Runtime Assistant : system assistant for process control and monitoring.
# 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

| Feature | Command | Status |
|--------|---------|--------|
| 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
```

---

<!-- ## Roadmap

Nyra is under active development.  
Planned upcoming features:

### Supervision Mode
- Automatically restart a process if it exits:

```
nyra supervise firefox
```

### Sandboxed Execution
- Run untrusted programs with restricted system access:

```
nyra sandbox run "python script.py"
```

### Live Top Mode
Real-time terminal dashboard similar to `htop`:

```
nyra top
```

### Force Stop
Provide a SIGKILL fallback when SIGTERM is ignored:

``` -->
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.