Metadata-Version: 2.4
Name: devscript
Version: 0.2.1
Summary: A utility for managing custom development scripts pyproject.toml configuration
Author-email: "Маг Ильяс DOMA (MagIlyasDOMA)" <magilyas.doma.09@list.ru>
License: GPL-3.0-only
Project-URL: Homepage, https://github.com/MagIlyasDOMA/devscript
Project-URL: Repository, https://github.com/MagIlyasDOMA/devscript.git
Project-URL: BugTracker, https://github.com/MagIlyasDOMA/devscript/issues
Keywords: cli,scripts
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

<a id="doc_en"></a>
# DevScript
#### [Документация на русском](#doc_ru)

DevScript is a simple utility for managing custom development scripts. It allows you to define commands in pyproject.toml file and execute them through a single interface.

## Installation

### Python version
```shell
pip install devscript
```

#### Or install from source:

```shell
git clone https://github.com/MagIlyasDOMA/devscript.git
cd devscript
pip install -e .
```

### Configuration format
```toml
[tool.devscript]
build = "python -m build"
test = "pytest tests/"
lint = "flake8 src/"
dev = "python -m app --debug"
```

### Running commands
#### The package provides four CLI commands:
- `devscript` — full name
- `devscr` — abbreviation
- `devs` — short
- `dvs` — shortest

#### All of them work the same:
```shell
# Show the list of available commands
devscript --help

# Run a command
devscript build
devscr dev
devs test
dvs lint 

# Pass arguments to a command
devscript dev --port 8000 --reload
```

## Examples
### Example 1: Basic usage
```toml
# pyproject.toml
[tool.devscript]
start = "uvicorn main:app --reload"
migrate = "alembic upgrade head"
shell = "ipython"
```

```shell
devs start      # Starts the uvicorn server
devs migrate    # Applies migrations
devs shell      # Starts IPython
```

### Example 2: Passing arguments
```toml
[tool.devscript]
test = "pytest"
cov = "pytest --cov=src"
```

```shell
devs test tests/test_api.py -v  # pytest tests/test_api.py -v
devs cov --cov-report=html      # pytest --cov=src --cov-report=html
```

## Development
### Python version
```shell
# Clone the repository
git clone https://github.com/MagIlyasDOMA/devscript.git
cd devscript

# Install in development mode
pip install -e .

# Run tests
devs test

# Run linter
devs lint
```

## Project structure
```text
devscript/
├── devscript.py            # Python implementation
├── pyproject.toml
├── README.md
├── schema.json             # JSON Schema for autocompletion
└── LICENSE
```

## JSON Schema
For autocompletion and validation in code editors, use the schema:
```json
{
  "$schema": "https://raw.githubusercontent.com/MagIlyasDOMA/devscript/refs/heads/main/schema.json"
}
```

## API
### Using in code
#### Python
```python
from devscript import DevScriptCore

core = DevScriptCore()
print("Available commands:", core.commands_list())
core.run("build", ["--verbose"])
```

## Requirements
### Python version
- Python 3.11 or higher
- No external dependencies (uses the standard library)

## License
GPL-3.0-only

## Author
#### Mag Ilyas DOMA (MagIlyasDOMA)
- GitHub: [@MagIlyasDOMA](https://github.com/MagIlyasDOMA)
- Project: [devscript](https://github.com/MagIlyasDOMA/devscript)

## Contribution
1. Fork the repository
2. Create a branch for the feature (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

---

<a id="doc_ru"></a>
# DevScript
#### [Documentation in English](#doc_en)

DevScript — это простая утилита для управления пользовательскими скриптами разработки. Она позволяет определять команды в файле pyproject.toml и запускать их через единый интерфейс.

## Установка

### Python версия
```shell
pip install devscript
```

#### Или установка из исходного кода:

```shell
git clone https://github.com/MagIlyasDOMA/devscript.git
cd devscript
pip install -e .
```

### Формат конфигурации
```toml
[tool.devscript]
build = "python -m build"
test = "pytest tests/"
lint = "flake8 src/"
dev = "python -m app --debug"
```

### Запуск команд
#### Пакет предоставляет четыре CLI-команды:
- `devscript` — полное имя
- `devscr` — сокращение
- `devs` — короткое
- `dvs` — самое короткое

#### Все они работают одинаково:
```shell
# Показать список доступных команд
devscript --help

# Запустить команду
devscript build
devscr dev
devs test
dvs lint 

# Передать аргументы команде
devscript dev --port 8000 --reload
```

## Примеры
### Пример 1: Базовое использование
```toml
# pyproject.toml
[tool.devscript]
start = "uvicorn main:app --reload"
migrate = "alembic upgrade head"
shell = "ipython"
```

```shell
devs start      # Запускает uvicorn сервер
devs migrate    # Применяет миграции
devs shell      # Запускает IPython
```

### Пример 2: Передача аргументов
```toml
[tool.devscript]
test = "pytest"
cov = "pytest --cov=src"
```

```shell
devs test tests/test_api.py -v  # pytest tests/test_api.py -v
devs cov --cov-report=html      # pytest --cov=src --cov-report=html
```

## Разработка
### Python версия
```shell
# Клонировать репозиторий
git clone https://github.com/MagIlyasDOMA/devscript.git
cd devscript

# Установить в режиме разработки
pip install -e .

# Запустить тесты
devs test

# Запустить линтер
devs lint
```

## Структура проекта
```text
devscript/
├── devscript.py            # Python-реализация
├── pyproject.toml
├── README.md
├── schema.json             # JSON Schema для автодополнения
└── LICENSE
```

## JSON Schema
Для автодополнения и валидации в редакторах кода используйте схему:
```json
{
  "$schema": "https://raw.githubusercontent.com/MagIlyasDOMA/devscript/refs/heads/main/schema.json"
}
```

## API
### Использование в коде
#### Python
```python
from devscript import DevScriptCore

core = DevScriptCore()
print("Доступные команды:", core.commands_list())
core.run("build", ["--verbose"])
```

## Требования
### Python версия
- Python 3.11 или выше
- Нет внешних зависимостей (использует стандартную библиотеку)

## Лицензия
GPL-3.0-only

## Автор
#### Маг Ильяс DOMA (MagIlyasDOMA)
- GitHub: [@MagIlyasDOMA](https://github.com/MagIlyasDOMA)
- Проект: [devscript](https://github.com/MagIlyasDOMA/devscript)

## Вклад в разработку
1. Форкните репозиторий
2. Создайте ветку для фичи (`git checkout -b feature/amazing-feature`)
3. Закоммитьте изменения (`git commit -m 'Add some amazing feature'`)
4. Запушьте в ветку (`git push origin feature/amazing-feature`)
5. Откройте Pull Request
