Metadata-Version: 2.4
Name: cursor-tz-generator
Version: 0.1.3
Summary: CLI: генерация проектов по ТЗ через Cursor Cloud Agent и GitHub
Author: anddenprod
License-Expression: MIT
Project-URL: Homepage, https://github.com/anddenprod/cursor-tz-generator
Project-URL: Repository, https://github.com/anddenprod/cursor-tz-generator
Keywords: cursor,github,codegen,django,tz
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Code Generators
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests<3,>=2.28
Dynamic: license-file

# cursor-tz-generator

CLI для генерации проектов по техническому заданию через **Cursor Cloud Agent** (REST API) и **GitHub**.

Скрипт умеет:

1. **generate** — читает файл ТЗ, создаёт репозиторий на GitHub, запускает cloud agent, клонирует результат;
2. **fix** — отправляет список багов агенту в существующий репозиторий, после исправлений снова клонирует локально.

## Установка

```bash
pip install cursor-tz-generator
```

Или из исходников:

```bash
pip install .
```

## Настройки

Ключи и параметры заданы в `cursor_tz_generator/config.py` внутри пакета:

- `CURSOR_API_KEY`
- `GITHUB_TOKEN`
- `GITHUB_USERNAME`
- `EXAMPLE_REPO`
- `MODEL` (по умолчанию `composer-2.5`)

Отредактируйте файл после установки при необходимости:

```bash
python -c "import cursor_tz_generator.config as c; print(c.__file__)"
```

## Использование

### Генерация по ТЗ

```bash
cursor-tz-gen generate --tz path/to/task.md
```

Или по-старому:

```bash
cursor-tz-gen --tz path/to/task.md
python generate.py --tz task_5_probe.md --output-dir AGENT_CREATE
```

Опции:

- `--name` — имя нового GitHub-репозитория (по умолчанию имя файла ТЗ + timestamp)
- `--output-dir` — локальная папка для клона (по умолчанию `AGENT_CREATE`)

Пример:

```bash
cursor-tz-gen generate --tz task_5_probe.md --name my-api --output-dir ./output
```

### Исправление багов

После `generate` репозиторий запоминается автоматически — `--repo` указывать не нужно.

```bash
cursor-tz-gen fix --bugs "login с неверным паролем должен возвращать 401, не 422"
```

Несколько багов из файла:

```bash
cursor-tz-gen fix --bugs-file bugs.md
```

Или через stdin:

```bash
cursor-tz-gen fix --bugs-file - <<'EOF'
1. login с неверным паролем → 401
2. сообщение регистрации на русском
EOF
```

Через локальный скрипт:

```bash
python fix_bugs.py --bugs "..."
```

Репозиторий определяется так:

1. из `.cursor-tz-generator/last.json` (последний успешный `generate` или `fix`);
2. иначе из `git remote origin` в папке `--output-dir`;
3. иначе можно явно передать `--repo`.

После каждого запуска `generate` / `fix` создаётся файл **`.cursor-tz-generator/last.json`**:

```json
{
  "mode": "generate",
  "status": "FINISHED",
  "agent_id": "...",
  "run_id": "...",
  "dashboard_url": "https://cursor.com/agents/...",
  "html_url": "https://github.com/owner/repo",
  "clone_url": "https://github.com/owner/repo.git",
  "repo_name": "repo",
  "owner": "owner",
  "output_dir": "C:/path/AGENT_CREATE",
  "model": "composer-2.5",
  "tz_file": "C:/path/task.md",
  "started_at": "...",
  "finished_at": "..."
}
```

Если основной скрипт упал, но агент ещё работает:

```bash
python wait_and_clone.py --from-session
```

## Требования

- Python 3.10+
- `git` в PATH
- Аккаунт Cursor с Cloud Agents
- GitHub, подключённый в Cursor Dashboard
- Токен GitHub с правом создавать репозитории

## Публикация на PyPI (для разработчика)

```bash
pip install build twine
python -m build
twine upload dist/*
```

## Лицензия

MIT
