Metadata-Version: 2.4
Name: devctl
Version: 1.2.1
Summary: Local development orchestrator for Spring Boot, Angular, and Vue.js
Author: Youssef Fellah
License: MIT License
        
        Copyright (c) 2026 Youssef Fellah
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Build Tools
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer>=0.12.3
Requires-Dist: requests>=2.31.0
Requires-Dist: jinja2>=3.1.3
Requires-Dist: rich>=13.7.0
Requires-Dist: pyyaml>=6.0.1
Requires-Dist: textual>=0.80.0
Requires-Dist: psutil>=5.9.0
Dynamic: license-file

# devctl

`devctl` is a professional command-line interface (CLI) designed to automate and
orchestrate the development lifecycle for modern full-stack architectures. It
provides a unified workflow for managing backends (Spring Boot, NestJS, Go,
FastAPI), frontends (Angular, Vue, React, NextJS, Svelte), and their
containerization across Linux, macOS, and Windows.

## Core Features

-   **Cross-Platform Architecture**: Out-of-the-box support for Windows, Linux, and macOS utilizing a robust platform abstraction layer.
-   **Multi-Stack Orchestration**: Launch databases, multiple microservices, and
    frontend dev servers with a single command. Includes real-time, prefixed log
    streaming.
-   **Full-Stack Scaffolding**: Generate consistent business resources
    (Entities, DTOs, Controllers, Services) across both backend and frontend
    layers simultaneously.
-   **Instant Infrastructure**: Automatically generate optimized, multi-stage
    `Dockerfiles` and global `docker-compose-prod.yml` configurations by scanning
    your project tree.
-   **Interactive Dashboard**: Real-time system monitoring (CPU/RAM/Disk) and service orchestration with side-by-side log streaming (`devctl tui`).
-   **Security by Default**: Inject standardized JWT authentication and security
    configurations into new projects.

## Interactive Dashboard (TUI)

Launch the real-time terminal dashboard using `devctl tui`:

### Dashboard & System Monitoring
![Dashboard View](screenshots/tui_dashboard.png)

### Real-Time Service Controls & Log Streaming
![Services Control View](screenshots/tui_services_control.png)

<details>
<summary><b>View More TUI Views (Docker, Scaffolding, Project Init)</b></summary>

#### Docker Tools
![Docker Scaffolding](screenshots/tui_docker_tools.png)

#### Vertical Resource Generator
![Add Resource Generator](screenshots/tui_add_resource.png)

#### Project Initializer
![Init Project Generator](screenshots/tui_init_project.png)

</details>

## Installation

You can install `devctl` locally for development:

```bash
git clone https://github.com/yss-ef/devctl.git
cd devctl
pip install -e .
```

## Quick Start

### 1. Initialize a Full-Stack Project

Create a new backend and frontend in seconds:

```bash
mkdir my-app && cd my-app
devctl init spring api --db postgres
devctl init angular front
```

### 2. Add a Business Resource

Generate a complete vertical slice of your application:

```bash
devctl add resource Product -f "name:string,price:double,quantity:int"
```

### 3. Run the Environment

Launch everything in parallel with automatic database startup:

```bash
devctl run
```

## Supported Stacks

| Type | Frameworks / Technologies |
| :--- | :--- |
| **Backends** | Spring Boot, NestJS, Express (NodeJS), FastAPI, Django, Go (Fiber) |
| **Frontends** | Angular, Vue.js, ReactJS, NextJS, Svelte |
| **Databases** | PostgreSQL, MySQL, MongoDB |

## Documentation

*   For a detailed reference of all available commands and their options, see the
    [Commands Reference](COMMANDS.md).
*   For an overview of the internal code structures and process pipelines, see the
    [Architecture Guide](ARCHITECTURE.md).

## Contributing

Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for
development setup and code quality guidelines.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file
for details.

---
Authored by Youssef Fellah.
Professional Development Orchestrator.
