π Askimo Command Reference
This document lists all available Askimo commands, their purpose, parameters, and usage examples.
Command Modes
Askimo supports two modes of operation:
π₯οΈ Interactive Mode (REPL)
Start the interactive shell by running askimo without arguments. Commands use the :keyword format:
askimo
askimo> :help
askimo> :models
β‘ Non-Interactive Mode (CLI)
Run commands directly from your terminal using the --flag format:
askimo --help
askimo --models
askimo --tools
π Composite Commands
You can combine multiple non-interactive commands in a single invocation. Commands are executed in the order they appear:
# Configure provider and multiple parameters at once
askimo --set-provider openai --set-param api_key sk-abc123 --set-param model gpt-4
# Set provider and check available models
askimo --set-provider ollama --models
# Configure multiple parameters
askimo --set-param temperature 0.7 --set-param max_tokens 2000
# Combine informational commands
askimo --list-providers --list-tools --version
This is especially useful for scripting and automation, allowing you to configure the entire environment with a single command.
Available Commands
Commands Available in BOTH Modes
The following commands work in both interactive (:keyword) and non-interactive (--flag) modes:
:help/--help- Show available commands:config/--config- Show current provider, model, and settings:providers/--providers- List all supported model providers:set-provider/--set-provider- Set the current model provider:models/--models- List available models for the current provider:params/--params- Show current model parameters or list available param keys:set-param/--set-param- Set a model parameter:tools/--tools- List all available tools:version/--version- Show detailed version and build information
Non-Interactive Mode Only Commands
The following commands are only available in non-interactive mode (CLI flags):
--create-recipe- Create a provider-agnostic recipe from a YAML template--recipes- List all registered recipes in ~/.askimo/recipes--delete-recipe- Delete a registered recipe
Interactive Mode Only Commands
The following commands are only available in interactive mode:
:clear- Clear the current chat memory:copy- Copy the last AI response to the clipboard:create-project- Create a project, auto-start Postgres+pgvector, and index the folder:projects- List all saved Askimo projects:project- Activate a saved project (sets scope and enables RAG):delete-project- Delete a saved project and drop its pgvector embedding table:sessions- List all saved sessions:new-session- Start a new chat session:resume-session- Resume a previous chat session:agent- Enable agent mode for autonomous task execution
Command Reference
:help / βhelp
Description:
Display all available commands and their short descriptions.
Syntax:
# Interactive mode
:help
# Non-interactive mode
askimo --help
Example (Interactive):
askimo> :help
Available commands:
:help - Show available commands
:config - Show the current provider, model, and settings
:models - List available models for the current provider
...
Example (Non-interactive):
$ askimo --help
Available commands (non-interactive mode):
--help - Show available commands
--config - Show the current provider, model, and settings
--models - List available models for the current provider
...
:clear
Description:
Clear the chat history for the current session.
This does not reset provider, model, or session parameters - only the conversation context is removed.
Availability: Interactive mode only
Syntax:
:clear
:copy
Description:
Copy the last AI response to your system clipboard.
This is useful for quickly pasting the output into another application without manually selecting it.
Availability: Interactive mode only
Syntax:
:copy
:params / βparams
Description:
Display the current session parameters, including:
- Active provider
- Selected model
- All configurable parameters available for
:set-param/--set-param
Syntax:
# Interactive mode
:params
:params --list
# Non-interactive mode
askimo --params
askimo --params --list
Example:
askimo> :params --list
Available parameter keys for gpt-4o (OPENAI):
model (String) β Model name to use (e.g., gpt-4, llama3)
style (Enum(precise|balanced|creative)) β Output style (determinism vs. creativity)
verbosity (Enum(short|normal|long)) β Controls response length/cost
api_key (String) β OpenAI API key
Notes:
- The list under βAvailable parametersβ shows what can be changed with
:set-paramor--set-param - Parameter names and defaults may vary depending on the active provider
:set-param / βset-param
Description:
Set a parameter for the current AI provider.
Available parameters depend on the provider and can be viewed using :params or --params.
Syntax:
# Interactive mode
:set-param <name> <value>
# Non-interactive mode
askimo --set-param <name> <value>
Parameters:
<name>- Name of the parameter (e.g.,model,style)<value>- New value to assign to the parameter
Example:
# Interactive mode
askimo> :set-param model gpt-4o
# Non-interactive mode
$ askimo --set-param model gpt-4o
:config / βconfig
Description:
Display the current Askimo configuration values.
Syntax:
# Interactive mode
:config
# Non-interactive mode
askimo --config
Example:
askimo> :config
π§ Current configuration:
Provider: OPENAI
Model: gpt-4o
Settings:
apiKey: sk-pr***
presets: Presets(style=BALANCED, verbosity=NORMAL)
:providers / βproviders
Description:
List all AI providers supported by Askimo.
Syntax:
# Interactive mode
:providers
# Non-interactive mode
askimo --providers
Notes:
- The list may vary depending on your installation and configuration
- Use
:set-provider <name>oraskimo --set-provider <name>to switch to one of the available providers
:set-provider / βset-provider
Description:
Switch to a different AI provider for the current session.
Syntax:
# Interactive mode
:set-provider <provider_name>
# Non-interactive mode
askimo --set-provider <provider_name>
Notes:
- Switching providers may change the available parameters and models
- After switching, you can use
:modelsor--modelsto see available models for the new provider
:models / βmodels
Description:
List all models available for the current provider.
The list is retrieved dynamically based on the active providerβs settings.
Syntax:
# Interactive mode
:models
# Non-interactive mode
askimo --models
Notes:
- The available models depend on the provider and your local/remote configuration
- Use
:set-param model <model_name>or--set-param model <model_name>to change the active model for the session
:create-project
Description: Create a new Askimo project, automatically start a Postgres database with pgvector extension using Testcontainers, and index the specified folder for Retrieval-Augmented Generation (RAG).
Availability: Interactive mode only
Syntax:
:create-project -n <project-name> -d <project-folder>
Parameters:
-n, --name- Name of the project to create-d, --dir, --folder- Path to the project folder to index
Example:
askimo> :create-project -n myapp -d /Users/john/projects/myapp
Notes:
- The project name must be unique
- The folder path must exist and be a directory
- A Postgres+pgvector container will be started automatically if not already running
- All project files will be indexed for RAG-enabled chat
:projects
Description: List all saved Askimo projects registered in your configuration.
Availability: Interactive mode only
Syntax:
:projects
Example:
askimo> :projects
π Projects:
1. myapp β /Users/john/projects/myapp
2. webapp β /Users/john/projects/webapp
:project
Description: Activate a previously saved Askimo project by name. This sets the project scope and enables RAG (Retrieval-Augmented Generation) for the session.
Availability: Interactive mode only
Syntax:
:project <project-name>
Parameters:
<project-name>- Name of the saved project to activate
Example:
askimo> :project myapp
Notes:
- The project must have been previously created with
:create-project - Postgres+pgvector will be started automatically if not already running
- RAG will be enabled for the active project
:delete-project
Description: Delete a saved project from the Askimo registry (~/.askimo/projects.json) and drop its pgvector embedding table from the database, or delete all projects at once.
Availability: Interactive mode only
Syntax:
:delete-project <project-name>
:delete-project --all
Parameters:
<project-name>- Name of the project to delete--all- Delete all saved projects and their embeddings
Examples:
# Delete a specific project
askimo> :delete-project myapp
# Delete all projects
askimo> :delete-project --all
Notes:
- This action removes the project(s) from the registry and deletes all indexed embeddings
- The original project folders remain untouched
- When using
--all, youβll see a list of all projects before confirmation - This operation cannot be undone
βcreate-recipe
Description: Create a provider-agnostic recipe from a YAML template file. Recipes are reusable prompt templates that can be used across different AI providers.
Availability: Non-interactive mode only
Syntax:
askimo --create-recipe [name] -f <file.yml>
askimo --create-recipe [name] -i
Parameters:
[name]- Optional name for the recipe (can also be specified in the YAML file)-f, --file- Path to the YAML template file-i, --interactive- Create recipe interactively with guided prompts
Example:
$ askimo --create-recipe myrecipe -f ~/templates/code-review.yml
Notes:
- If the name is not provided as an argument, it must be specified in the YAML fileβs
name:field - The recipe will be saved to ~/.askimo/recipes/
- Use
askimo -r <recipe-name>to run the recipe from the command line
βrecipes
Description: List all registered recipes stored in ~/.askimo/recipes.
Availability: Non-interactive mode only
Syntax:
askimo --recipes
Example:
$ askimo --recipes
π¦ Registered recipes (3)
ββββββββββββββββββββββββββββ
code-review - Review code for bugs and improvements
documentation - Generate documentation for code
refactoring - Suggest refactoring improvements
βdelete-recipe
Description: Delete a registered recipe from ~/.askimo/recipes, or delete all recipes at once.
Availability: Non-interactive mode only
Syntax:
askimo --delete-recipe <name>
askimo --delete-recipe --all
Parameters:
<name>- Name of the recipe to delete--all- Delete all registered recipes
Examples:
# Delete a specific recipe
$ askimo --delete-recipe myrecipe
# Delete all recipes
$ askimo --delete-recipe --all
Notes:
- You will be prompted to confirm the deletion
- When using
--all, youβll see a list of all recipes before confirmation - This operation cannot be undone
:tools / βtools
Description: List all available tools that can be used in recipes and by the AI agent. This includes tools from GitTools and LocalFsTools.
Syntax:
# Interactive mode
:tools
# Non-interactive mode
askimo --tools
Example:
$ askimo --tools
π§ Available Tools
ββββββββββββββββββββββββββββββ
π¦ GitTools
β’ branch
Current branch name
β’ commit
Write .git/COMMIT_EDITMSG and run git commit -F -
β’ stagedDiff
Unified diff of staged changes (git diff --cached)
β’ status
Concise git status (-sb)
π¦ LocalFsTools
β’ readFile
Read text file from path
β’ writeFile
Write text file to path
β’ runCommand
Run shell commands in a persistent terminal...
β’ searchFileContent
Search for text content within files in a directory...
β’ searchFilesByGlob
Search for files by name/pattern with smart matching...
(and more...)
ββββββββββββββββββββββββββββββ
Total: 14 tools
Notes:
- Tools are organized by their provider class (GitTools, LocalFsTools)
- Each tool shows its name and description
- These tools can be invoked by recipes or used by AI agents during code generation
:sessions
Description: List all saved chat sessions for the current provider and model.
Availability: Interactive mode only
Syntax:
:sessions
Example:
askimo> :sessions
π¬ Saved Sessions:
1. [2025-11-06 14:30] Session with 15 messages
2. [2025-11-05 09:15] Session with 8 messages
3. [2025-11-04 16:45] Session with 23 messages
Notes:
- Sessions are saved automatically during interactive chat
- Each session is tied to a specific provider and model combination
- Use
:resume-sessionto continue a previous conversation
:new-session
Description: Start a new chat session, clearing the current conversation history and creating a fresh context.
Availability: Interactive mode only
Syntax:
:new-session
Example:
askimo> :new-session
β¨ Started new session
Notes:
- This command clears the current conversation context
- The previous session is saved and can be resumed later with
:resume-session - Provider, model, and configuration settings are preserved
:resume-session
Description: Resume a previous chat session by selecting from your saved sessions.
Availability: Interactive mode only
Syntax:
:resume-session
:resume-session <session-id>
Parameters:
<session-id>- Optional session ID to resume directly
Example:
# Interactive selection
askimo> :resume-session
π¬ Saved Sessions:
1. [2025-11-06 14:30] Session with 15 messages
2. [2025-11-05 09:15] Session with 8 messages
Select session to resume [1-2]:
# Direct resume
askimo> :resume-session 1
Notes:
- If no session ID is provided, youβll be prompted to select from available sessions
- Resuming a session loads all previous messages and context
- Sessions are specific to the provider and model they were created with
:agent
Description: Enable agent mode for autonomous task execution. In agent mode, the AI can use available tools to complete complex tasks independently.
Availability: Interactive mode only
Syntax:
:agent <task-description>
Parameters:
<task-description>- Description of the task you want the agent to accomplish
Example:
askimo> :agent Analyze the git repository, find all TODO comments, and create a summary report
π€ Agent mode activated
π Task: Analyze the git repository, find all TODO comments, and create a summary report
π§ Using tools: searchFileContent, readFile, writeFile
...
β
Task completed. Report saved to TODO-summary.md
Notes:
- Agent mode allows the AI to autonomously use tools like
searchFileContent,runCommand,readFile, etc. - The agent will break down complex tasks into steps and execute them
- You can see which tools the agent is using in real-time
- Use
:toolsto see all available tools the agent can use
:version / βversion
Description: Show detailed version and build information for Askimo.
Syntax:
# Interactive mode
:version
# Non-interactive mode
askimo --version
Example:
$ askimo --version
Askimo v0.2.0
Build: 2025-11-06
Commit: a1b2c3d
Platform: macOS (arm64)