Skip to main content

CLI tool to call Grok LLM

Project description

DeployVersion

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

help

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

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


Download files

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

Source Distribution

grk_cli-0.2.3.tar.gz (6.8 MB view details)

Uploaded Source

Built Distribution

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

grk_cli-0.2.3-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

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

Hashes for grk_cli-0.2.3.tar.gz
Algorithm Hash digest
SHA256 5f622250b9b48ee3e92c4fb62f290cd7d7ffa3fd214478c337270602d01d64e1
MD5 937de3feb04033adc054cb174e418923
BLAKE2b-256 59846e9f1ff09ff4815f150715e716d32d4f8584707c453468079098cac76952

See more details on using hashes here.

Provenance

The following attestation bundles were made for grk_cli-0.2.3.tar.gz:

Publisher: publish.yml on wr1/grk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for grk_cli-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 dcb2ec5597168476936fa145983b5854a0423ded29731ce6dfae2ae1a7a75a3a
MD5 6b1b0d384b8d9b3738d057e9d9d535f3
BLAKE2b-256 076fec4943c4fe07d088852814f7cc3618c55dddc7d226321387188d329a3db6

See more details on using hashes here.

Provenance

The following attestation bundles were made for grk_cli-0.2.3-py3-none-any.whl:

Publisher: publish.yml on wr1/grk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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