X Tutup
Skip to main content
It all starts with calling
$ agentstack

Shortcut Aliases

Many top-level AgentStack commands can be invoked using a single-letter prefix to save keystrokes. These are indicated in the commandโ€™s documentation here after a | character. Run agentstack help for the full list.

Global Flags

These flags work with all commands: --debug - Print a full traceback when an error is encountered. This also enables printing additional debug information from within AgentStack useful for development and debugging. --path=<path> - Set the working directory of the current AgentStack project. By default agentstack works inside of the current directory and looks for an agentstack.json file there. By passing a path to this flag you can work on a project from outside of itโ€™s directory. --version - Prints the current version and exits.

$ agentstack init

This initializes a new AgentStack project.
agentstack init <slug_name>
slug_name is the name of your project, and will be created as a directory to initialize your project inside. When the default arguments are passed, a starter project template will be used, which adds a single agent, a single task and demonstrates the use of a tool.

Init Creates a Virtual Environment

AgentStack creates a new directory, initializes a new virtual environment, installs dependencies, and populates the project structure. After init completes, cd into the directory, activate the virtual environment with source .venv/bin/activate. Virtual environments and package management are handled by the uv package manager.

Initializing with the Wizard

You can pass the --wizard flag to agentstack init to use an interactive project configuration wizard.

Initializing from a Template

You can also pass a --template=<template_name> argument to agentstack init which will pre-populate your project with functionality from a built-in template, or one found on the internet. A template_name can be one of three identifiers:
  • A built-in AgentStack template (see the templates directory in the AgentStack repo for bundled templates).
  • A template file from the internet; pass the full https URL of the template.
  • A local template file; pass an absolute or relative path.

$ agentstack run

This runs your AgentStack project.
agentstack run
Environment variables will be loaded from ~/.env and from the .env file inside your project directory. Make sure you have enabled your projectโ€™s venv before executing to include all dependencies required.

Overriding Inputs

Your project defines Inputs which are used to customize the Agent and Task prompts for a specific task. In cases where using the inputs.yaml file to populate data is not flexible enough, run can accept value overrides for all defined inputs. Use --input-<input_key>=<input_value> to pass data which will only be used on this run. For example, if you have a key in your inputs.yaml file named topic and want to override it for this run, you would use the following command:
agentstack run --input-topic=Sports

Running other project commands

By default, run will call the main() function inside your projectโ€™s main.py file. You can pass alternate function names to run with --function=<function_name>.

Generate

Code generation commands for automatically creating new agents or tasks.

$ agentstack generate agent | agentstack g a

Generate a new agent
  • agent_name (required | str) - the name of the agent
  • --role (optional | str) - Prompt parameter: The role of the agent
  • --goal (optional | str) - Prompt parameter: The goal of the agent
  • --backstory (optional | str) - Prompt parameter: The backstory of the agent
  • --llm (optional | <provider>/<model>) - Which model to use for this agent

Default LLM

All arguments to generate a new Agent are optional. A default LLM can be configured in agentstack.jsonunder the default_model setting to populate a provider/model. If you are generating an agent in a project which does not have a default model set, you will be prompted to configure one.

Example

Generate Agent
agentstack generate agent script_writer

$ agentstack generate task | agentstack g t

Generate a new task
  • task_name (required | str) - the name of the task
  • --description (optional | str) - Prompt parameter: Explain the task in detail
  • --expected_output (optional | str) - What is the expected output from the agent (ex: data in json format)
  • --agent (optional | str) - The name of the agent of which to assign the task to (when using Crew in sequential mode)

Example

Generate Task
agentstack g t gen_script --description "Write a short film script about secret agents"

Tools

Tools are what make AgentStack powerful. Adding and removing Tools from Agents is easy with this command.

$ agentstack tools list | agentstack t l

Lists all tools available in AgentStack.

$ agentstack tools add | agentstack t a

Shows an interactive interface for selecting which Tool to add and which Agents to add it to.

Add a Tool to all Agents

When a tool_name is provided it will be made available to all Agents in the project.
$ agentstack tools add <tool_name>

Add a Tool to a single Agent

When an agent_name is provided, the tool will be made available to only that agent.
$ agentstack tools add <tool_name> --agent=<agent_name>

Add a Tool to multiple Agents

When a comma-separated list of Agents is passed, the tool will be made available to those agents.
$ agentstack tools add <tool_name> --agents=<agent_name>,<agent_name>,<agent_name>

$ agentstack tools remove <tool_name>

Removes a tool from all Agents in the project.

Templates

Projects can be exported into a template to facilitate sharing configurations. Re-initialize a project from a template with agentstack init --template=<filename>.

$ agentstack export <filename>

The current project will be written to a JSON template at the provided filename.

$ agentstack update

Check for updates and allow the user to install the latest release of AgentStack.

$ agentstack login

Authenticate with agentstack.sh for hosted integrations.
X Tutup