CLI tool to call Grok LLM
Project description
grk
Use GROK API in the terminal, control input, output and profiles.
Features
- Prompt grok using a combination of file(s) and prompt.
- Have profiles to use different grok assistants in the same project.
- Precisely control which files go into
grok(contrast with agents).
Installation
Install with uv:
uv pip install https://github.com/wr1/grk.git
Configuration
You can create a .grkrc YAML file in the current directory to set default options. It now supports multiple profiles.
profiles:
default:
model: grok-code-fast-1
role: expert engineer and dev
output: output.json
prompt_prepend: " "
temperature: 0.1
law:
model: grok-4
role: lawyer, expert legal scholar
output: output.json
prompt_prepend: ""
temperature: 0.15
docs:
model: grok-4
role: documentation-specialist
output: output.json
prompt_prepend: "aim for conciseness and documenting use over implementation, "
temperature: 0.7
brief:
file: "design_brief.typ"
role: "assistant"
Usage
Quick start
Using shorthand for fish shell.
# write project brief
echo "write a 3d finite element solver using hex8 elements, use it to model a cube with 10x10x10 elements where x,y,z span range [0,1], clamp z==0 and apply unit distributed surface stress in positive z direction at z==1, output a vtu file where stresses and displacements are added as point data to the mesh, use numpy operations for speed and a logger to print progress to stdout, use user [{name="test",email="test@example.com"}]" > README.md
# fold the project
cf
# start session
gu codefold.json
# ask to implement
gm "please implement according to README" -o __temp.json
# unfold and install
cu __temp.json ; uv pip install -e .
# close session
gd
# run code
hex-fem
# INFO:hex_fem.fem:Generating mesh
# INFO:hex_fem.fem:Assembling stiffness
# INFO:hex_fem.fem:Assembling forces
# INFO:hex_fem.fem:Solving system
# INFO:hex_fem.fem:Computing stresses
# INFO:hex_fem.fem:Writing output
Single-Shot (One-Off) Commands
grk config init
grk config list
grk single run <input_file> <prompt> [-p <profile>] # Note: -p is the short form for --profile
Interactive (Session-Based) Commands
grk session up <initial_file> [-p <profile>]
grk session msg <prompt> [-o <output>] [-i <input_file>]
grk session list
grk session down
In session mode, responses are postprocessed: any explanatory messages are printed to the console, and the output file is cleaned to ensure valid JSON in {'files': [...]} format (if possible).
All settings are governed by the specified profile in .grkrc. If no .grkrc exists, it uses the default profile.
Environment Variables
XAI_API_KEY: xAI API key (required)
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file grk_cli-0.2.3.tar.gz.
File metadata
- Download URL: grk_cli-0.2.3.tar.gz
- Upload date:
- Size: 6.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f622250b9b48ee3e92c4fb62f290cd7d7ffa3fd214478c337270602d01d64e1
|
|
| MD5 |
937de3feb04033adc054cb174e418923
|
|
| BLAKE2b-256 |
59846e9f1ff09ff4815f150715e716d32d4f8584707c453468079098cac76952
|
Provenance
The following attestation bundles were made for grk_cli-0.2.3.tar.gz:
Publisher:
publish.yml on wr1/grk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
grk_cli-0.2.3.tar.gz -
Subject digest:
5f622250b9b48ee3e92c4fb62f290cd7d7ffa3fd214478c337270602d01d64e1 - Sigstore transparency entry: 729066105
- Sigstore integration time:
-
Permalink:
wr1/grk@95e5562e4c62687ea5ef1c72086eb1c55aaeb835 -
Branch / Tag:
refs/tags/v0.2.3 - Owner: https://github.com/wr1
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@95e5562e4c62687ea5ef1c72086eb1c55aaeb835 -
Trigger Event:
release
-
Statement type:
File details
Details for the file grk_cli-0.2.3-py3-none-any.whl.
File metadata
- Download URL: grk_cli-0.2.3-py3-none-any.whl
- Upload date:
- Size: 23.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dcb2ec5597168476936fa145983b5854a0423ded29731ce6dfae2ae1a7a75a3a
|
|
| MD5 |
6b1b0d384b8d9b3738d057e9d9d535f3
|
|
| BLAKE2b-256 |
076fec4943c4fe07d088852814f7cc3618c55dddc7d226321387188d329a3db6
|
Provenance
The following attestation bundles were made for grk_cli-0.2.3-py3-none-any.whl:
Publisher:
publish.yml on wr1/grk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
grk_cli-0.2.3-py3-none-any.whl -
Subject digest:
dcb2ec5597168476936fa145983b5854a0423ded29731ce6dfae2ae1a7a75a3a - Sigstore transparency entry: 729066106
- Sigstore integration time:
-
Permalink:
wr1/grk@95e5562e4c62687ea5ef1c72086eb1c55aaeb835 -
Branch / Tag:
refs/tags/v0.2.3 - Owner: https://github.com/wr1
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@95e5562e4c62687ea5ef1c72086eb1c55aaeb835 -
Trigger Event:
release
-
Statement type: