Metadata-Version: 2.1
Name: vibedir
Version: 0.1.0
Summary: Utility to prompt for and apply changes to a code base using prepdir and applydir.
Keywords: ai,artificial intelligence,apply changes,code review,directory traversal,file content,project documentation,code sharing,developer tools,large language models,llm,project structure
Author-Email: eyecantell <paul@pneuma.solutions>
License: MIT
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Classifier: Topic :: Text Processing :: Markup
Classifier: Development Status :: 4 - Beta
Project-URL: Repository, https://github.com/eyecantell/vibedir
Project-URL: Issues, https://github.com/eyecantell/vibedir/issues
Project-URL: Documentation, https://github.com/eyecantell/vibedir#readme
Requires-Python: >=3.8
Requires-Dist: typing-extensions>=4.7.1; python_version < "3.11"
Requires-Dist: importlib-resources>=5.0; python_version < "3.9"
Requires-Dist: pyyaml>=6.0
Requires-Dist: prepdir>=0.9.0
Requires-Dist: applydir>=0.1.0
Provides-Extra: test
Requires-Dist: pytest>=7.4.4; extra == "test"
Requires-Dist: pytest-cov>=4.1.0; extra == "test"
Requires-Dist: coverage>=7.2.7; extra == "test"
Description-Content-Type: text/markdown

# VibeDir

VibeDir is a utility to facilitate code modifications by integrating with `prepdir` and `applydir`. It generates prompts for large language models (like Grok 3) to modify a codebase, producing a `modified_prepped_dir.txt` file that can be applied to update your project. VibeDir supports both manual workflows and future API integration with Grok 3.

# Functionality is "COMING SOON" #

## Features
- Generate prompts for code changes based on `prepped_dir.txt` from `prepdir`.
- Support manual editing or API-driven workflows.
- Preserve the structure of `prepped_dir.txt` for compatibility with `applydir`.
- Configurable via a YAML file for custom prompt templates and logging.

## Installation
```bash
pip install vibedir
```

## Usage
1. Generate a `prepped_dir.txt` file using `prepdir` (requires `prepdir` installed):
   ```bash
   prepdir --output prepped_dir.txt
   ```
2. Use `vibedir` to create a prompt for Grok 3 or another LLM:
   ```bash
   vibedir prepped_dir.txt --request "Refactor test_file.py to use async functions" --output modified_prepped_dir.txt --manual
   ```
   - This outputs a prompt to copy into Grok 3. Save the response as `modified_prepped_dir.txt`.
3. Apply changes using `applydir` (requires `applydir` installed):
   ```bash
   applydir modified_prepped_dir.txt
   ```

## Configuration
VibeDir uses a `vibedir.yaml` file for settings. Example:
```yaml
logging:
  level: INFO
prompt_template: |
  You are a code modification assistant. Below is the content of a prepped_dir.txt file generated by prepdir, listing files and additional commands for a project. Your task is to apply the following changes: {user_request}. Return the modified content in a file named modified_prepped_dir.txt, preserving the original format, including delimiters (e.g., =-=, ===---===), file markers (Begin File, End File), and additional commands section. Ensure filenames in Begin File and End File markers match exactly, and only include valid code changes.

  === prepped_dir.txt Content ===
  {prepped_dir_content}
  === End prepped_dir.txt Content ===

  Output the modified content as modified_prepped_dir.txt with the same structure.
```

## Development
- Clone the repository: `git clone https://github.com/eyecantell/vibedir`
- Install with PDM: `pdm install -G test`
- Run tests: `pdm run pytest`
- Build and publish: `pdm build && pdm publish`

## License
MIT License. See [LICENSE](LICENSE) for details.

## Contributing
Issues and PRs are welcome at [https://github.com/eyecantell/vibedir](https://github.com/eyecantell/vibedir).