Skip to main content

A configuration and prompt updater for Roo Code

Project description

roo-conf

A Python package to deploy configuration and prompt files for Roo Code into a repository.

Purpose

This package provides a command-line utility (roo-conf) that copies specific configuration and prompt files from the installed package to a .roo directory within the current working directory of a Git repository. This allows for easy deployment and management of Roo Code configurations across different projects.

Installation

You can install roo-conf using uv:

uv pip install roo-conf

Usage

The roo-conf command supports several subcommands: deploy, edit, and config.

Note: While uvx roo-conf is the intended way to run installed console scripts, there seems to be a caching issue with uvx that prevents it from picking up the latest changes to the package metadata, resulting in an "invalid console script" error. Until this is resolved, it is recommended to use uv run roo-conf to execute the package's commands within the project's virtual environment.

Deploying Prompts

Navigate to the root directory of your Git repository in the terminal. Then, execute the deploy subcommand using uv run:

uv run roo-conf deploy

This will create a .roo directory in your current repository (if it doesn't exist) and copy the necessary configuration files into it, replacing the {{repo-full-path}} placeholder with the absolute path to your repository.

Editing Deployed Prompts

To edit a deployed prompt file in your .roo directory, use the edit subcommand followed by the prompt file name (without the .md extension). The file will be opened using your configured editor.

uv run roo-conf edit <prompt_name>

Replace <prompt_name> with the name of the prompt file you want to edit (e.g., system-prompt-code-gh).

If you run the edit subcommand without a filename, it will list the available prompt files:

uv run roo-conf edit

Configuring roo-conf

To set configuration options for roo-conf, use the config subcommand followed by the key and value. Currently, the only supported configuration is setting your preferred editor.

uv run roo-conf config editor <editor_command>

Replace <editor_command> with the command to launch your preferred text editor (e.g., code, nano, vim). This setting is stored in a configuration file in your user's home directory (~/.config/roo-conf/config.json).

Development

Building Locally

To build the package locally (create the source distribution and wheel), you can use the ./publish.sh script. This script will:

  1. Clear the uv cache.
  2. Build the source distribution and wheel using hatch build.
./publish.sh

Automated Publishing

Publishing to PyPI is automated via a GitHub Actions workflow. When a new Git tag starting with v (e.g., v1.0.0) is pushed to the repository, the workflow defined in .github/workflows/workflow.yml will trigger. This workflow will build the package and publish it to PyPI.

To publish a new version:

  1. Manually update the version in pyproject.toml.
  2. Commit the changes.
  3. Create a new Git tag matching the version (e.g., git tag v1.0.0).
  4. Push the commit and the tag (git push && git push --tags).

The GitHub Actions workflow requires a PyPI API token stored as a GitHub Secret named PYPI_API_TOKEN to authenticate with PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

roo_conf-0.1.9.tar.gz (45.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

roo_conf-0.1.9-py3-none-any.whl (26.4 kB view details)

Uploaded Python 3

File details

Details for the file roo_conf-0.1.9.tar.gz.

File metadata

  • Download URL: roo_conf-0.1.9.tar.gz
  • Upload date:
  • Size: 45.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.13

File hashes

Hashes for roo_conf-0.1.9.tar.gz
Algorithm Hash digest
SHA256 b371ed340ef9a7179777584f227ed99a22c0a737b054be3cc8209f2a40623a81
MD5 8b773ab3163018dd623994241a77f0c2
BLAKE2b-256 d7e4987a033ec5b24b0ff676fade46873f0dd6e960e2ca68371f5c10f16f3f3f

See more details on using hashes here.

File details

Details for the file roo_conf-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: roo_conf-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 26.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.13

File hashes

Hashes for roo_conf-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 d8c8b36afa9964974f596a0a8d2499ebbcc56110e5e7e2aa82590056daf27076
MD5 f11f5fc254e53dc31b07952cae09f591
BLAKE2b-256 81a561e11a1cdd5f7e9617f017a59156f0a20a0b59c6ee3c93467a318238d51f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page