docs(root): Add initial README for lapctl
This adds the project's README documenting its purpose, planned features, and roadmap to orient contributors and users. - New Features - Introduce overview of lapctl, including hybrid GPU control, battery limit management, and status commands - Enhancements - Provide structured sections for project status, goals, example CLI, and roadmap - Bug Fixes - None
This commit is contained in:
1 file changed
+120
@@ -0,0 +1,120 @@
|
||||
# lapctl
|
||||
|
||||
**lapctl** is an upcoming command-line utility written in Rust for managing laptop hardware features on Linux.
|
||||
|
||||
It aims to provide a simple and unified interface for controlling hybrid GPU modes, battery charging limits, and other laptop power features directly from the terminal.
|
||||
|
||||
---
|
||||
|
||||
## Planned Features
|
||||
|
||||
- Switch GPU modes on hybrid graphics laptops
|
||||
- Integrated GPU
|
||||
- Hybrid mode
|
||||
- NVIDIA GPU
|
||||
|
||||
- Set and manage battery charging limits
|
||||
- View laptop hardware and power status
|
||||
- Lightweight and fast CLI interface
|
||||
- Designed for Linux systems with hybrid GPUs (Optimus)
|
||||
|
||||
---
|
||||
|
||||
## Project Status
|
||||
|
||||
**Work in progress**
|
||||
|
||||
This project is currently in early development.
|
||||
Features, commands may change as development progresses.
|
||||
|
||||
---
|
||||
|
||||
## Goals
|
||||
|
||||
- Provide a **simple CLI interface** for laptop hardware management
|
||||
- Support **hybrid GPU laptops (Intel + NVIDIA / AMD + NVIDIA)**
|
||||
- Offer **battery health features like charge limit control**
|
||||
- Be **lightweight, fast, and easy to use**
|
||||
|
||||
---
|
||||
|
||||
## Example CLI (Planned)
|
||||
|
||||
```bash
|
||||
lapctl gpu integrated
|
||||
lapctl gpu hybrid
|
||||
lapctl gpu nvidia
|
||||
|
||||
lapctl battery limit 80
|
||||
lapctl battery status
|
||||
|
||||
lapctl status
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Built With
|
||||
|
||||
- Rust
|
||||
- Modern Linux system interfaces
|
||||
|
||||
---
|
||||
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
lapctl
|
||||
│
|
||||
├── Cargo.toml
|
||||
├── README.md
|
||||
├── LICENSE
|
||||
├── .gitignore
|
||||
│
|
||||
├── src/
|
||||
│ ├── main.rs
|
||||
│ ├── cli.rs
|
||||
│ │
|
||||
│ ├── commands/
|
||||
│ │ ├── mod.rs
|
||||
│ │ ├── gpu.rs
|
||||
│ │ ├── battery.rs
|
||||
│ │ ├── power.rs
|
||||
│ │ └── status.rs
|
||||
│ │
|
||||
│ ├── hardware/
|
||||
│ │ ├── mod.rs
|
||||
│ │ ├── gpu.rs
|
||||
│ │ └── battery.rs
|
||||
│ │
|
||||
│ └── utils/
|
||||
│ └── system.rs
|
||||
|
||||
```
|
||||
|
||||
## Roadmap
|
||||
|
||||
- [ ] CLI structure
|
||||
- [ ] GPU mode switching
|
||||
- [ ] Battery charge limit management
|
||||
- [ ] Hardware status command
|
||||
- [ ] Configuration support
|
||||
|
||||
---
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions, ideas, and feature suggestions are welcome.
|
||||
More contribution guidelines will be added once the project reaches its first stable milestone.
|
||||
|
||||
---
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the **GNU Affero General Public License v3.0 (AGPL-3.0)**.
|
||||
|
||||
You are free to use, modify, and distribute this software under the terms of the license.
|
||||
For full details, see the [LICENSE](LICENSE) file in this repository.
|
||||
|
||||
---
|
||||
|
||||
⭐ If you find this project interesting, consider starring the repository to follow its progress.
|
||||
Reference in new issue
Block a user