* Custom user defined roles.
* Option to change default roles like **shell**, **code** and **default**.
* Option to force use [system role](https://help.openai.com/en/articles/7042661-chatgpt-api-transition-guide) messages (not recommended).
* Improvements when passing stdin and prompt `echo hello | sgpt "another hello"`.
* Fixed typo in `--list-chat` option renamed as `--list-chats`
Roles
ShellGPT allows you to create custom roles, which can be utilized to generate code, shell commands, or to fulfill your specific needs. To create a new role, use the `--create-role` option followed by the role name. You will be prompted to provide a description for the role, along with other details. This will create a JSON file in `~/.config/shell_gpt/roles` with the role name. Inside this directory, you can also edit default `sgpt` roles, such as **shell**, **code**, and **default**. Use the `--list-roles` option to list all available roles, and the `--show-role` option to display the details of a specific role. Here's an example of a custom role:
shell
sgpt --create-role json
Enter role description: You are JSON generator, provide only valid json as response.
Enter expecting result, e.g. answer, code, shell command, etc.: json
sgpt --role json "random: user, password, email, address"
{
"user": "JohnDoe",
"password": "pssw0rd",
"email": "johndoeexample.com",
"address": {
"street": "123 Main St",
"city": "Anytown",
"state": "CA",
"zip": "12345"
}
}
Note that all previous chats which were created in previous version of ShellGPT will not work with this new version.