This is a comprehensive command-line interface (CLI) tool designed to interact seamlessly with PiecesOS. It provides a range of functionalities such as asset management, application interaction, and integration with various PiecesOS features.
Make sure you have PiecesOS installed in order to run the Pieces CLI tool.
The Pieces Python CLI Tool is compatible with various operating systems, ensuring a wide range of usage and adaptability. While it offers full support across most systems, specific features might have varied performance based on the OS environment.
The CLI Supports
- Windows 10 or greater
- Mac
- Windows
To get started with the Pieces Python CLI Tool, you need to:
-
Ensure PiecesOS is installed and running on your system.
-
Install the Python package:
pip install pieces-cli
brew install pieces-cli
conda install pieces-cli
After installing the CLI tool, you can access its functionalities through the terminal. The tool is initialized with the command pieces
followed by various subcommands and options.
x
-> The indexcurrent asset
-> The asset that you are currently using can be changed by the open commandcurrent conversation
-> The conversation that you currently using in the ask command
To refer to the list of all the commands currently supported in the Pieces CLI Agent, visit the documentation.
To run this project locally, follow these steps:
-
Fork this project via GitHub.
-
Clone this project:
git clone https://github.com/pieces-app/cli-agent
- Create a Virtual Environment
python3 -m venv venv
- Activate Your Virtualenv
source venv/bin/activate for Mac & Linux OS
cd venv\Scripts for Windows OS
activate
- This project uses poetry for managing dependencies and builds. Install poetry with:
pip install poetry
- Then use poetry to install the required dependencies
poetry install
- You build with
poetry build
- Finally any project dependencies should be added to the pyproject.toml file with
poetry add
- Open the Dist folder
cd dist
- Install the WHL file
pip install pieces-cli-{VERSION}-py3-none-any.whl
replace the VERSION with the version you downloaded Note: Ensure you get latest from the releases of the cli-agent
- To view all the CLI Commands
pieces help
these can be local/github/pypi etc.
To update the project, run the following command:
pip install pieces-cli --upgrade
To discover and run all the test cases in the repository, run the following command:
pytest
To check the test coverage, you can use the coverage package. Install coverage with:
pip install coverage
Run the tests with coverage using the following command:
coverage run -m pytest
coverage report
To uninstall the project, run the following command:
pip uninstall pieces-cli
Don't forget to remove the virtual environment and dist folder
run - Starts a looped version of the CLI that only requires you to type the flag
list - Lists all the materials in your Pieces Drive (alias: 'drive')
list apps - List all registered applications
list models - List all registered AI models and change the AI model that you are using the ask command
modify - Modify the current material content after you edit it in the editor
edit - Edit the current material name or classification you can use -n and -c for name and classification respectively
delete - Deletes the current or most recent material.
create - Creates a new material based on what you've copied to your clipboard
execute - Execute a Pieces bash material
clear - to clear the terminal
config - View current configuration
config --editor x - Set the editor to 'x' in the configuration
ask "ask" - Asks a single question to the model selected in change model. Default timeout set to 10 seconds
--materials,-m - Add material(s) by index. Separate materials with spaces. Run 'drive' to find material indexes
--file,-f - Add a certain files or folders to the ask command it can be absolute or relative path
chats - List all the chats. The green chat shows the currently using one in the ask command
chat - Show the messages of the currently using chat in the ask command
chat x - List all the messages in a certain chat and switch to it in the ask command
-n,--new - To create a new chat in the ask command
-d,--delete - Deletes the current chat
-r,--rename - Rename the current chat. If no value given it will let the model rename it for you
commit - Commits the changes to github and auto generate the message, you can use -p or --push to push
search q - Does a fuzzy search for your query
--mode ncs - Does a neural code search for your query
--mode fts - Does a full text search for your query
login - Login to pieces
logout - Logout from pieces
version - Gets version of PiecesOS and the version of the cli tool
help - Show this help message
onboarding - Start the onboarding process
feedback - Send feedback to Pieces
contribute - Contribute to Pieces CLI
install - Install PiecesOS
open - Opens PiecesOS