# Agentik (A CLI‑First Modular Agent Framework)
Agentik is a developer‑friendly framework for building LLM agents that run via **OpenRouter**. It emphasizes: clean YAML configs, a batteries‑included CLI, pluggable tools with safety policies, rich JSONL transcripts, and a **dev watcher** for rapid inner‑loop iteration.
---
## Table of Contents
1. [Prerequisites](#prerequisites)
2. [Installation](#installation)
3. [Configure OpenRouter](#configure-openrouter)
4. [Verify Setup](#verify-setup)
5. [Quick Start](#quick-start)
6. [Configuration Primer](#configuration-primer)
7. [CLI Reference (with Windows PowerShell and macOS/Linux examples)](#cli-reference)
* version, self-test, init
* new (agent|tool)
* template (list|apply|pull)
* run
* dev watch
* keys (set|show)
* models list
* tools (list|info|run)
* validate file
* batch run
* memory (init|recall|summarize|clear|path)
* eval run
* config path
8. [Built‑in Tools & Policies](#built-in-tools--policies)
9. [Transcripts & Cost Estimation](#transcripts--cost-estimation)
10. [Quick Reference Table](#Quick-Reference-Table)
10. [Troubleshooting](#troubleshooting)
11. [Development](#development)
---
## Prerequisites
* **Python 3.10+**
---
## Installation
**Windows (PowerShell)**
```powershell
pip install agentik-framework
```
**macOS/Linux**
```bash
pip install agentik-framework
```
<!-- > Local editable install for contributing:
>
> ```bash
> pip install -e .[dev]
> ``` -->
---
## Configure OpenRouter
Agentik uses OpenRouter for LLM calls. Provide your key via env var or store it in Agentik’s RC.
**Windows (PowerShell)**
```powershell
setx OPENROUTER_API_KEY "sk-or-XXXXXXXXXXXXXXXX"
# Close & reopen PowerShell so the env var is available in new sessions
```
**macOS/Linux (bash/zsh)**
```bash
echo 'export OPENROUTER_API_KEY="sk-or-XXXXXXXXXXXXXXXX"' >> ~/.bashrc
source ~/.bashrc # or: source ~/.zshrc
```
**Store via Agentik RC (either scope):**
```powershell
agentik keys set openrouter sk-or-XXXXXXXXXXXXXXXX --global
# or
agentik keys set openrouter sk-or-XXXXXXXXXXXXXXXX --local
```
---
## Verify Setup
**Windows (PowerShell)**
```powershell
agentik self-test
agentik models list --filter gpt --refresh # optional
```
**macOS/Linux**
```bash
agentik self-test
agentik models list --filter gpt --refresh
```
---
## Quick Start
1. **Initialize a project**
**PowerShell**
```powershell
mkdir my-agent; cd my-agent
agentik init . --template basic --name "My Agent Project"
```
**macOS/Linux**
```bash
mkdir my-agent && cd my-agent
agentik init . --template basic --name "My Agent Project"
```
2. **Scaffold an agent**
**PowerShell**
```powershell
agentik new agent research `
--template basic `
--tools http_fetch,html_to_text,write_file `
--with-tests `
--to .
```
**macOS/Linux**
```bash
agentik new agent research \
--template basic \
--tools http_fetch,html_to_text,write_file \
--with-tests \
--to .
```
3. **Minimal config (save as `agents/agent.yaml`)**
```yaml
agent:
name: ResearchBot
goal: "Research and summarize information."
loop:
max_steps: 3
reflect: true
llm:
model: openai/gpt-4o-mini
temperature: 0.3
memory:
type: json
path: ./memory/research.json
policies:
allow_network: true
allow_filesystem: true
tools:
- http_fetch
- html_to_text
- write_file
```
4. **Run your agent**
**PowerShell**
```powershell
agentik run .\agents\agent.yaml `
-p "Summarize the main differences between GPT-4o and small LLMs in 5 bullets." `
--profile fast `
--stream `
--save-transcript .\runs\first-run.jsonl
```
**macOS/Linux**
```bash
agentik run ./agents/agent.yaml \
-p "Summarize the main differences between GPT-4o and small LLMs in 5 bullets." \
--profile fast \
--stream \
--save-transcript ./runs/first-run.jsonl
```
5. **Use the dev watcher (auto re‑run on save)**
> PowerShell tip: **quote your globs** (e.g., `'**/*.py'`) so the shell doesn’t expand them.
**PowerShell**
```powershell
agentik dev watch .\agents\agent.yaml `
--prompt "Summarize this project in 3 bullets." `
--path . `
--include '**/*.py' --include '**/*.yaml' --include 'templates/**' `
--exclude '.venv/**' --exclude 'runs/**' `
--save-transcripts .\runs `
--profile dev `
--stream
```
**macOS/Linux**
```bash
agentik dev watch ./agents/agent.yaml \
--prompt "Summarize this project in 3 bullets." \
--path . \
--include '**/*.py' --include '**/*.yaml' --include 'templates/**' \
--exclude '.venv/**' --exclude 'runs/**' \
--save-transcripts ./runs \
--profile dev \
--stream
```
---
## Configuration Primer
* **YAML config** defines the agent (goal, loop), LLM (model, temperature), memory store, policies, and tools.
* **Profiles** (CLI `--profile`) apply overrides:
* `fast`: `{max_steps=2, reflect=false, temperature=0.2}`
* `thorough`: `{max_steps=6, reflect=true, temperature=0.3}`
* `deterministic`: `{temperature=0.0, reflect=false}`
* `creative`: `{temperature=0.9, reflect=false}`
* `cheap`: `{temperature=0.2}` (keeps configured model)
* `dev`: `{max_steps=3, reflect=false, temperature=0.3}`
* **Precedence**: YAML → RC/env → **CLI overrides** → **profile overrides**.
---
## CLI Reference
Below, every command shows a **signature** and examples for **Windows PowerShell** and **macOS/Linux**.
### Version & Environment
#### `agentik version`
Print CLI version.
**PowerShell**
```powershell
agentik version
```
**macOS/Linux**
```bash
agentik version
```
#### `agentik self-test`
Show Python/OS info, OpenRouter key presence, and RC location.
**PowerShell**
```powershell
agentik self-test
```
**macOS/Linux**
```bash
agentik self-test
```
---
### Project Scaffolding
#### `agentik init`
```
agentik init [PATH] --template TEXT --force --name TEXT
```
* `PATH` default `.`
* `--template` default `basic`
* `--force` overwrite existing files
* `--name` project name override
**PowerShell**
```powershell
agentik init . --template basic --name "Demo"
```
**macOS/Linux**
```bash
agentik init . --template basic --name "Demo"
```
#### `agentik new agent`
```
agentik new agent NAME \
--template TEXT \
--tools "t1,t2" \
--memory [dict|json] \
--memory-path PATH \
--to DIR \
--with-tests \
--force
```
**PowerShell**
```powershell
agentik new agent helper `
--template basic `
--tools http_fetch,html_to_text `
--memory json `
--memory-path .\memory\agent.json `
--to . `
--with-tests `
--force
```
**macOS/Linux**
```bash
agentik new agent helper \
--template basic \
--tools http_fetch,html_to_text \
--memory json \
--memory-path ./memory/agent.json \
--to . \
--with-tests \
--force
```
#### `agentik new tool`
```
agentik new tool NAME --template [python] --to DIR --with-tests --force
```
**PowerShell**
```powershell
agentik new tool web_fetcher --template python --to . --with-tests --force
```
**macOS/Linux**
```bash
agentik new tool web_fetcher --template python --to . --with-tests --force
```
---
### Templates
#### `agentik template list`
List built‑ins.
**PowerShell**
```powershell
agentik template list
```
**macOS/Linux**
```bash
agentik template list
```
#### `agentik template apply`
```
agentik template apply kind/name --to DIR --force --name TEXT
```
**PowerShell**
```powershell
agentik template apply agent/basic --to . --force --name MyBot
```
**macOS/Linux**
```bash
agentik template apply agent/basic --to . --force --name MyBot
```
#### `agentik template pull`
Pull a git repo or zip into `templates/third_party`.
**PowerShell**
```powershell
agentik template pull https://example.com/my-templates.zip --to .
```
**macOS/Linux**
```bash
agentik template pull https://example.com/my-templates.zip --to .
```
---
### Running Agents
#### `agentik run`
```
agentik run CONFIG \
-p/--prompt TEXT \
--model TEXT \
--temperature FLOAT \
--stream \
--dry-run \
--save-transcript PATH \
--profile [fast|thorough|deterministic|creative|cheap|dev|none] \
--tag TAG (repeatable) \
--note TEXT \
--run-id TEXT \
--obs-max-chars INT
```
**PowerShell**
```powershell
agentik run .\agents\agent.yaml `
-p "Five bullet summary of topic X" `
--profile fast `
--stream `
--save-transcript .\runs\out.jsonl
```
**macOS/Linux**
```bash
agentik run ./agents/agent.yaml \
-p "Five bullet summary of topic X" \
--profile fast \
--stream \
--save-transcript ./runs/out.jsonl
```
---
### Developer Watch Mode
#### `agentik dev watch`
```
agentik dev watch CONFIG \
-p/--prompt TEXT \
--prompt-file PATH \
--path PATH # repeatable; default "." \
--include GLOB # repeatable; default ["**/*.py", "**/*.yml", "**/*.yaml", "**/*.json", "**/*.md", "templates/**", "tools/**"] \
--exclude GLOB # repeatable \
--interval FLOAT # default 0.6 \
--debounce FLOAT # default 0.5 \
--clear/--no-clear # default clear \
--stream/--no-stream # default stream \
--profile dev # default "dev" \
--save-transcripts DIR \
--obs-max-chars INT # default 800 \
--no-initial-run \
--tag TAG # repeatable; default ["dev"] \
--note TEXT
```
**PowerShell**
```powershell
agentik dev watch .\agents\agent.yaml `
--prompt "Echo the date" `
--include '**/*.py' `
--exclude '.venv/**' `
--save-transcripts .\runs
```
**macOS/Linux**
```bash
agentik dev watch ./agents/agent.yaml \
--prompt "Echo the date" \
--include '**/*.py' \
--exclude '.venv/**' \
--save-transcripts ./runs
```
---
### Keys & Models
#### `agentik keys set openrouter`
Store an API key in RC.
**PowerShell**
```powershell
agentik keys set openrouter sk-or-... --global
# or
agentik keys set openrouter sk-or-... --local
```
**macOS/Linux**
```bash
agentik keys set openrouter sk-or-... --global
# or
agentik keys set openrouter sk-or-... --local
```
#### `agentik keys show`
Display masked key (env & RC) and RC scope/path.
**PowerShell**
```powershell
agentik keys show
```
**macOS/Linux**
```bash
agentik keys show
```
#### `agentik models list`
List OpenRouter models (with optional cache bypass).
**PowerShell**
```powershell
agentik models list --filter gpt --refresh
```
**macOS/Linux**
```bash
agentik models list --filter gpt --refresh
```
---
### Tools (Discovery & Direct Runs)
#### `agentik tools list`
List discoverable tools.
**PowerShell**
```powershell
agentik tools list
```
**macOS/Linux**
```bash
agentik tools list
```
#### `agentik tools info NAME`
Show class & description.
**PowerShell**
```powershell
agentik tools info http_fetch
```
**macOS/Linux**
```bash
agentik tools info http_fetch
```
#### `agentik tools run NAME`
Call a tool directly (no agent loop). Values auto‑coerce: `true/false` → bool; `1`→int; `1.2`→float; else string. Quote values with spaces/HTML.
**PowerShell**
```powershell
agentik tools run http_fetch --arg url=https://example.com --arg ttl=3600 --arg allow_network=true --json
agentik tools run html_to_text --arg "html=<p>Hello</p>" --arg keep_newlines=true --json
agentik tools run write_file --arg path=out\hello.txt --arg "content=Hello" --arg allow_filesystem=true --json
```
**macOS/Linux**
```bash
agentik tools run http_fetch --arg url=https://example.com --arg ttl=3600 --arg allow_network=true --json
agentik tools run html_to_text --arg 'html=<p>Hello</p>' --arg keep_newlines=true --json
agentik tools run write_file --arg path=out/hello.txt --arg 'content=Hello' --arg allow_filesystem=true --json
```
---
### Validation & Batch
#### `agentik validate file`
Validate YAML; optionally print **effective** config after CLI overrides.
**PowerShell**
```powershell
agentik validate file .\agents\agent.yaml `
--show-effective `
--model openai/gpt-4o-mini `
--temperature 0.2 `
--max-steps 2
```
**macOS/Linux**
```bash
agentik validate file ./agents/agent.yaml \
--show-effective \
--model openai/gpt-4o-mini \
--temperature 0.2 \
--max-steps 2
```
#### `agentik batch run`
Run prompts from CSV/JSONL and write JSONL results.
**PowerShell**
```powershell
agentik batch run .\prompts.jsonl `
--column prompt `
--out .\results.jsonl `
--model openai/gpt-4o-mini `
--temperature 0.2
```
**macOS/Linux**
```bash
agentik batch run ./prompts.jsonl \
--column prompt \
--out ./results.jsonl \
--model openai/gpt-4o-mini \
--temperature 0.2
```
---
### Memory Helpers
#### `agentik memory init`
Initialize store and add an initial record.
**PowerShell**
```powershell
agentik memory init --type json --path .\memory\agentik.json
```
**macOS/Linux**
```bash
agentik memory init --type json --path ./memory/agentik.json
```
#### `agentik memory recall`
**PowerShell**
```powershell
agentik memory recall --n 10 --config .\agents\agent.yaml
```
**macOS/Linux**
```bash
agentik memory recall --n 10 --config ./agents/agent.yaml
```
#### `agentik memory summarize`
**PowerShell**
```powershell
agentik memory summarize --n 20 --max-chars 1200 --config .\agents\agent.yaml
```
**macOS/Linux**
```bash
agentik memory summarize --n 20 --max-chars 1200 --config ./agents/agent.yaml
```
#### `agentik memory clear`
**PowerShell**
```powershell
agentik memory clear --config .\agents\agent.yaml
```
**macOS/Linux**
```bash
agentik memory clear --config ./agents/agent.yaml
```
#### `agentik memory path`
**PowerShell**
```powershell
agentik memory path --config .\agents\agent.yaml
```
**macOS/Linux**
```bash
agentik memory path --config ./agents/agent.yaml
```
---
### Lightweight Eval Harness
#### `agentik eval run`
Each JSONL line should have `prompt`, and optional `expect_contains[]` and/or `expect_regex`.
**PowerShell**
```powershell
agentik eval run .\tests.jsonl --config .\agents\agent.yaml --out .\eval_results.jsonl
```
**macOS/Linux**
```bash
agentik eval run ./tests.jsonl --config ./agents/agent.yaml --out ./eval_results.jsonl
```
---
### Config Helpers
#### `agentik config path`
Show the `.agentikrc` path for a scope.
**PowerShell**
```powershell
agentik config path --global
agentik config path --local
```
**macOS/Linux**
```bash
agentik config path --global
agentik config path --local
```
---
## Built‑in Tools & Policies
Selected built‑ins:
* `http_fetch(url, ttl, timeout, max_bytes, headers, allow_network)` → `{ok, data, error, meta}` (`data.text`, `data.status`, cache info)
* `html_to_text(html, keep_newlines, drop_links, max_chars)` → plaintext
* `write_file(path, content, encoding, overwrite, allow_abs, allow_filesystem)` → safe file writer
Policies are enforced by config:
```yaml
policies:
allow_network: true | false
allow_filesystem: true | false
```
If a tool requires a disabled capability, the call is blocked and recorded in observations/transcripts.
---
## Transcripts & Cost Estimation
Add `--save-transcript PATH` (single run) or `--save-transcripts DIR` (dev watch) to write JSONL transcripts. Summaries include steps, token counts, timings, and cost if available.
**Optional pricing overrides (USD / 1K tokens):**
**PowerShell**
```powershell
$env:AGENTIK_PRICE_PROMPT_PER_1K = "0.50"
$env:AGENTIK_PRICE_COMPLETION_PER_1K = "1.50"
```
**macOS/Linux**
```bash
export AGENTIK_PRICE_PROMPT_PER_1K="0.50"
export AGENTIK_PRICE_COMPLETION_PER_1K="1.50"
```
---
### Quick Reference Table
| Area | Command | Key Options | | | | |
| --------- | ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ----- | ------- | --------- |
| Version | `agentik version` | – | | | | |
| Self‑test | `agentik self-test` | – | | | | |
| Init | `agentik init [PATH]` | `--template`, `--force`, `--name` | | | | |
| Run | `agentik run CONFIG` | `-p`, `--model`, `--temperature`, `--stream`, `--dry-run`, `--save-transcript`, `--profile`, `--tag`, `--note`, `--run-id`, `--obs-max-chars` | | | | |
| Keys | `agentik keys set openrouter` | `--global` or `--local` | | | | |
| Keys | `agentik keys show` | – | | | | |
| Models | `agentik models list` | `--filter`, `--refresh` | | | | |
| New | `agentik new agent NAME` | `--template`, `--tools`, `--memory`, `--memory-path`, `--to`, `--with-tests`, `--force` | | | | |
| New | `agentik new tool NAME` | `--template`, `--to`, `--with-tests`, `--force` | | | | |
| Templates | `agentik template list/apply/pull` | as above | | | | |
| Tools | `agentik tools list/info/run` | `--arg`, `--json` | | | | |
| Validate | `agentik validate file CONFIG` | `--show-effective`, `--model`, `--temperature`, `--max-steps` | | | | |
| Batch | `agentik batch run FILE` | `--column`, `--out`, `--model`, `--temperature` | | | | |
| Memory | `agentik memory {init recall summarize clear path}` | see above |
| Eval | `agentik eval run FILE.jsonl` | `--config`, `--out` | | | | |
| Dev | `agentik dev watch CONFIG` | `-p`/`--prompt-file`, `--path`, `--include`, `--exclude`, `--interval`, `--debounce`, `--clear`, `--stream`, `--profile`, `--save-transcripts`, `--obs-max-chars`, `--no-initial-run`, `--tag`, `--note` | | | | |
| Config | `agentik config path` | `--global` or `--local` | | | | |
---
**You’re set.** Keep this open while you iterate; pair it with `agentik dev watch` for the fastest edit‑run loop.
---
## Troubleshooting
* **“Network error talking to OpenRouter.”** Confirm your key in the current shell:
* PowerShell: `echo $env:OPENROUTER_API_KEY`
* macOS/Linux: `echo $OPENROUTER_API_KEY`
Then try: `agentik models list --refresh`. Behind a proxy? Set `HTTP_PROXY`/`HTTPS_PROXY`.
* **Dev watcher: “unexpected extra arguments …”**
* Quote globs in PowerShell: `--include '**/*.py'` (single quotes).
* **Auth error / missing key**: set `OPENROUTER_API_KEY` or run `agentik keys set openrouter ...`.
* **Rate limited**: add delays, batch, or upgrade your OpenRouter plan.
* **Network error**: check connectivity or proxy settings (`HTTP_PROXY`, `HTTPS_PROXY`).
* **PowerShell globbing**: quote globs, e.g. `--include '**/*.py'`.
---
## Development
* Lint/format: `ruff check .` and `black .`
* Tests: `pytest -q`
<!-- * Build: `python -m build`
* Publish: `twine upload dist/*` -->
---
**Happy building with Agentik!**
Raw data
{
"_id": null,
"home_page": null,
"name": "agentik-framework",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "agents, cli, llm, openrouter, framework, automation",
"author": null,
"author_email": "Vinay Joshi <joshivinay822@gmail.com>, Avinash Raghuvanshi <avi95461@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/6e/96/d589ea3302657a350fc388a27b799cf8bea15aeeca2068e74e45304f5b64/agentik_framework-1.1.5.tar.gz",
"platform": null,
"description": "# Agentik (A CLI\u2011First Modular Agent Framework)\r\n\r\nAgentik is a developer\u2011friendly framework for building LLM agents that run via **OpenRouter**. It emphasizes: clean YAML configs, a batteries\u2011included CLI, pluggable tools with safety policies, rich JSONL transcripts, and a **dev watcher** for rapid inner\u2011loop iteration.\r\n\r\n---\r\n\r\n## Table of Contents\r\n\r\n1. [Prerequisites](#prerequisites)\r\n2. [Installation](#installation)\r\n3. [Configure OpenRouter](#configure-openrouter)\r\n4. [Verify Setup](#verify-setup)\r\n5. [Quick Start](#quick-start)\r\n6. [Configuration Primer](#configuration-primer)\r\n7. [CLI Reference (with Windows PowerShell and macOS/Linux examples)](#cli-reference)\r\n\r\n * version, self-test, init\r\n * new (agent|tool)\r\n * template (list|apply|pull)\r\n * run\r\n * dev watch\r\n * keys (set|show)\r\n * models list\r\n * tools (list|info|run)\r\n * validate file\r\n * batch run\r\n * memory (init|recall|summarize|clear|path)\r\n * eval run\r\n * config path\r\n8. [Built\u2011in Tools & Policies](#built-in-tools--policies)\r\n9. [Transcripts & Cost Estimation](#transcripts--cost-estimation)\r\n10. [Quick Reference Table](#Quick-Reference-Table)\r\n10. [Troubleshooting](#troubleshooting)\r\n11. [Development](#development)\r\n\r\n---\r\n\r\n## Prerequisites\r\n\r\n* **Python 3.10+**\r\n\r\n---\r\n\r\n## Installation\r\n\r\n**Windows (PowerShell)**\r\n\r\n```powershell\r\npip install agentik-framework\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\npip install agentik-framework\r\n```\r\n\r\n<!-- > Local editable install for contributing:\r\n>\r\n> ```bash\r\n> pip install -e .[dev]\r\n> ``` -->\r\n\r\n---\r\n\r\n## Configure OpenRouter\r\n\r\nAgentik uses OpenRouter for LLM calls. Provide your key via env var or store it in Agentik\u2019s RC.\r\n\r\n**Windows (PowerShell)**\r\n\r\n```powershell\r\nsetx OPENROUTER_API_KEY \"sk-or-XXXXXXXXXXXXXXXX\"\r\n# Close & reopen PowerShell so the env var is available in new sessions\r\n```\r\n\r\n**macOS/Linux (bash/zsh)**\r\n\r\n```bash\r\necho 'export OPENROUTER_API_KEY=\"sk-or-XXXXXXXXXXXXXXXX\"' >> ~/.bashrc\r\nsource ~/.bashrc # or: source ~/.zshrc\r\n```\r\n\r\n**Store via Agentik RC (either scope):**\r\n\r\n```powershell\r\nagentik keys set openrouter sk-or-XXXXXXXXXXXXXXXX --global\r\n# or\r\nagentik keys set openrouter sk-or-XXXXXXXXXXXXXXXX --local\r\n```\r\n\r\n---\r\n\r\n## Verify Setup\r\n\r\n**Windows (PowerShell)**\r\n\r\n```powershell\r\nagentik self-test\r\nagentik models list --filter gpt --refresh # optional\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik self-test\r\nagentik models list --filter gpt --refresh\r\n```\r\n\r\n---\r\n\r\n## Quick Start\r\n\r\n1. **Initialize a project**\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nmkdir my-agent; cd my-agent\r\nagentik init . --template basic --name \"My Agent Project\"\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nmkdir my-agent && cd my-agent\r\nagentik init . --template basic --name \"My Agent Project\"\r\n```\r\n\r\n2. **Scaffold an agent**\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik new agent research `\r\n --template basic `\r\n --tools http_fetch,html_to_text,write_file `\r\n --with-tests `\r\n --to .\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik new agent research \\\r\n --template basic \\\r\n --tools http_fetch,html_to_text,write_file \\\r\n --with-tests \\\r\n --to .\r\n```\r\n\r\n3. **Minimal config (save as `agents/agent.yaml`)**\r\n\r\n```yaml\r\nagent:\r\n name: ResearchBot\r\n goal: \"Research and summarize information.\"\r\n loop:\r\n max_steps: 3\r\n reflect: true\r\n\r\nllm:\r\n model: openai/gpt-4o-mini\r\n temperature: 0.3\r\n\r\nmemory:\r\n type: json\r\n path: ./memory/research.json\r\n\r\npolicies:\r\n allow_network: true\r\n allow_filesystem: true\r\n\r\ntools:\r\n - http_fetch\r\n - html_to_text\r\n - write_file\r\n```\r\n\r\n4. **Run your agent**\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik run .\\agents\\agent.yaml `\r\n -p \"Summarize the main differences between GPT-4o and small LLMs in 5 bullets.\" `\r\n --profile fast `\r\n --stream `\r\n --save-transcript .\\runs\\first-run.jsonl\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik run ./agents/agent.yaml \\\r\n -p \"Summarize the main differences between GPT-4o and small LLMs in 5 bullets.\" \\\r\n --profile fast \\\r\n --stream \\\r\n --save-transcript ./runs/first-run.jsonl\r\n```\r\n\r\n5. **Use the dev watcher (auto re\u2011run on save)**\r\n\r\n> PowerShell tip: **quote your globs** (e.g., `'**/*.py'`) so the shell doesn\u2019t expand them.\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik dev watch .\\agents\\agent.yaml `\r\n --prompt \"Summarize this project in 3 bullets.\" `\r\n --path . `\r\n --include '**/*.py' --include '**/*.yaml' --include 'templates/**' `\r\n --exclude '.venv/**' --exclude 'runs/**' `\r\n --save-transcripts .\\runs `\r\n --profile dev `\r\n --stream\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik dev watch ./agents/agent.yaml \\\r\n --prompt \"Summarize this project in 3 bullets.\" \\\r\n --path . \\\r\n --include '**/*.py' --include '**/*.yaml' --include 'templates/**' \\\r\n --exclude '.venv/**' --exclude 'runs/**' \\\r\n --save-transcripts ./runs \\\r\n --profile dev \\\r\n --stream\r\n```\r\n\r\n---\r\n\r\n## Configuration Primer\r\n\r\n* **YAML config** defines the agent (goal, loop), LLM (model, temperature), memory store, policies, and tools.\r\n* **Profiles** (CLI `--profile`) apply overrides:\r\n\r\n * `fast`: `{max_steps=2, reflect=false, temperature=0.2}`\r\n * `thorough`: `{max_steps=6, reflect=true, temperature=0.3}`\r\n * `deterministic`: `{temperature=0.0, reflect=false}`\r\n * `creative`: `{temperature=0.9, reflect=false}`\r\n * `cheap`: `{temperature=0.2}` (keeps configured model)\r\n * `dev`: `{max_steps=3, reflect=false, temperature=0.3}`\r\n* **Precedence**: YAML \u2192 RC/env \u2192 **CLI overrides** \u2192 **profile overrides**.\r\n\r\n---\r\n\r\n## CLI Reference\r\n\r\nBelow, every command shows a **signature** and examples for **Windows PowerShell** and **macOS/Linux**.\r\n\r\n### Version & Environment\r\n\r\n#### `agentik version`\r\n\r\nPrint CLI version.\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik version\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik version\r\n```\r\n\r\n#### `agentik self-test`\r\n\r\nShow Python/OS info, OpenRouter key presence, and RC location.\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik self-test\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik self-test\r\n```\r\n\r\n---\r\n\r\n### Project Scaffolding\r\n\r\n#### `agentik init`\r\n\r\n```\r\nagentik init [PATH] --template TEXT --force --name TEXT\r\n```\r\n\r\n* `PATH` default `.`\r\n* `--template` default `basic`\r\n* `--force` overwrite existing files\r\n* `--name` project name override\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik init . --template basic --name \"Demo\"\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik init . --template basic --name \"Demo\"\r\n```\r\n\r\n#### `agentik new agent`\r\n\r\n```\r\nagentik new agent NAME \\\r\n --template TEXT \\\r\n --tools \"t1,t2\" \\\r\n --memory [dict|json] \\\r\n --memory-path PATH \\\r\n --to DIR \\\r\n --with-tests \\\r\n --force\r\n```\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik new agent helper `\r\n --template basic `\r\n --tools http_fetch,html_to_text `\r\n --memory json `\r\n --memory-path .\\memory\\agent.json `\r\n --to . `\r\n --with-tests `\r\n --force\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik new agent helper \\\r\n --template basic \\\r\n --tools http_fetch,html_to_text \\\r\n --memory json \\\r\n --memory-path ./memory/agent.json \\\r\n --to . \\\r\n --with-tests \\\r\n --force\r\n```\r\n\r\n#### `agentik new tool`\r\n\r\n```\r\nagentik new tool NAME --template [python] --to DIR --with-tests --force\r\n```\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik new tool web_fetcher --template python --to . --with-tests --force\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik new tool web_fetcher --template python --to . --with-tests --force\r\n```\r\n\r\n---\r\n\r\n### Templates\r\n\r\n#### `agentik template list`\r\n\r\nList built\u2011ins.\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik template list\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik template list\r\n```\r\n\r\n#### `agentik template apply`\r\n\r\n```\r\nagentik template apply kind/name --to DIR --force --name TEXT\r\n```\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik template apply agent/basic --to . --force --name MyBot\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik template apply agent/basic --to . --force --name MyBot\r\n```\r\n\r\n#### `agentik template pull`\r\n\r\nPull a git repo or zip into `templates/third_party`.\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik template pull https://example.com/my-templates.zip --to .\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik template pull https://example.com/my-templates.zip --to .\r\n```\r\n\r\n---\r\n\r\n### Running Agents\r\n\r\n#### `agentik run`\r\n\r\n```\r\nagentik run CONFIG \\\r\n -p/--prompt TEXT \\\r\n --model TEXT \\\r\n --temperature FLOAT \\\r\n --stream \\\r\n --dry-run \\\r\n --save-transcript PATH \\\r\n --profile [fast|thorough|deterministic|creative|cheap|dev|none] \\\r\n --tag TAG (repeatable) \\\r\n --note TEXT \\\r\n --run-id TEXT \\\r\n --obs-max-chars INT\r\n```\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik run .\\agents\\agent.yaml `\r\n -p \"Five bullet summary of topic X\" `\r\n --profile fast `\r\n --stream `\r\n --save-transcript .\\runs\\out.jsonl\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik run ./agents/agent.yaml \\\r\n -p \"Five bullet summary of topic X\" \\\r\n --profile fast \\\r\n --stream \\\r\n --save-transcript ./runs/out.jsonl\r\n```\r\n\r\n---\r\n\r\n### Developer Watch Mode\r\n\r\n#### `agentik dev watch`\r\n\r\n```\r\nagentik dev watch CONFIG \\\r\n -p/--prompt TEXT \\\r\n --prompt-file PATH \\\r\n --path PATH # repeatable; default \".\" \\\r\n --include GLOB # repeatable; default [\"**/*.py\", \"**/*.yml\", \"**/*.yaml\", \"**/*.json\", \"**/*.md\", \"templates/**\", \"tools/**\"] \\\r\n --exclude GLOB # repeatable \\\r\n --interval FLOAT # default 0.6 \\\r\n --debounce FLOAT # default 0.5 \\\r\n --clear/--no-clear # default clear \\\r\n --stream/--no-stream # default stream \\\r\n --profile dev # default \"dev\" \\\r\n --save-transcripts DIR \\\r\n --obs-max-chars INT # default 800 \\\r\n --no-initial-run \\\r\n --tag TAG # repeatable; default [\"dev\"] \\\r\n --note TEXT\r\n```\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik dev watch .\\agents\\agent.yaml `\r\n --prompt \"Echo the date\" `\r\n --include '**/*.py' `\r\n --exclude '.venv/**' `\r\n --save-transcripts .\\runs\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik dev watch ./agents/agent.yaml \\\r\n --prompt \"Echo the date\" \\\r\n --include '**/*.py' \\\r\n --exclude '.venv/**' \\\r\n --save-transcripts ./runs\r\n```\r\n\r\n---\r\n\r\n### Keys & Models\r\n\r\n#### `agentik keys set openrouter`\r\n\r\nStore an API key in RC.\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik keys set openrouter sk-or-... --global\r\n# or\r\nagentik keys set openrouter sk-or-... --local\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik keys set openrouter sk-or-... --global\r\n# or\r\nagentik keys set openrouter sk-or-... --local\r\n```\r\n\r\n#### `agentik keys show`\r\n\r\nDisplay masked key (env & RC) and RC scope/path.\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik keys show\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik keys show\r\n```\r\n\r\n#### `agentik models list`\r\n\r\nList OpenRouter models (with optional cache bypass).\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik models list --filter gpt --refresh\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik models list --filter gpt --refresh\r\n```\r\n\r\n---\r\n\r\n### Tools (Discovery & Direct Runs)\r\n\r\n#### `agentik tools list`\r\n\r\nList discoverable tools.\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik tools list\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik tools list\r\n```\r\n\r\n#### `agentik tools info NAME`\r\n\r\nShow class & description.\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik tools info http_fetch\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik tools info http_fetch\r\n```\r\n\r\n#### `agentik tools run NAME`\r\n\r\nCall a tool directly (no agent loop). Values auto\u2011coerce: `true/false` \u2192 bool; `1`\u2192int; `1.2`\u2192float; else string. Quote values with spaces/HTML.\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik tools run http_fetch --arg url=https://example.com --arg ttl=3600 --arg allow_network=true --json\r\nagentik tools run html_to_text --arg \"html=<p>Hello</p>\" --arg keep_newlines=true --json\r\nagentik tools run write_file --arg path=out\\hello.txt --arg \"content=Hello\" --arg allow_filesystem=true --json\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik tools run http_fetch --arg url=https://example.com --arg ttl=3600 --arg allow_network=true --json\r\nagentik tools run html_to_text --arg 'html=<p>Hello</p>' --arg keep_newlines=true --json\r\nagentik tools run write_file --arg path=out/hello.txt --arg 'content=Hello' --arg allow_filesystem=true --json\r\n```\r\n\r\n---\r\n\r\n### Validation & Batch\r\n\r\n#### `agentik validate file`\r\n\r\nValidate YAML; optionally print **effective** config after CLI overrides.\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik validate file .\\agents\\agent.yaml `\r\n --show-effective `\r\n --model openai/gpt-4o-mini `\r\n --temperature 0.2 `\r\n --max-steps 2\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik validate file ./agents/agent.yaml \\\r\n --show-effective \\\r\n --model openai/gpt-4o-mini \\\r\n --temperature 0.2 \\\r\n --max-steps 2\r\n```\r\n\r\n#### `agentik batch run`\r\n\r\nRun prompts from CSV/JSONL and write JSONL results.\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik batch run .\\prompts.jsonl `\r\n --column prompt `\r\n --out .\\results.jsonl `\r\n --model openai/gpt-4o-mini `\r\n --temperature 0.2\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik batch run ./prompts.jsonl \\\r\n --column prompt \\\r\n --out ./results.jsonl \\\r\n --model openai/gpt-4o-mini \\\r\n --temperature 0.2\r\n```\r\n\r\n---\r\n\r\n### Memory Helpers\r\n\r\n#### `agentik memory init`\r\n\r\nInitialize store and add an initial record.\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik memory init --type json --path .\\memory\\agentik.json\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik memory init --type json --path ./memory/agentik.json\r\n```\r\n\r\n#### `agentik memory recall`\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik memory recall --n 10 --config .\\agents\\agent.yaml\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik memory recall --n 10 --config ./agents/agent.yaml\r\n```\r\n\r\n#### `agentik memory summarize`\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik memory summarize --n 20 --max-chars 1200 --config .\\agents\\agent.yaml\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik memory summarize --n 20 --max-chars 1200 --config ./agents/agent.yaml\r\n```\r\n\r\n#### `agentik memory clear`\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik memory clear --config .\\agents\\agent.yaml\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik memory clear --config ./agents/agent.yaml\r\n```\r\n\r\n#### `agentik memory path`\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik memory path --config .\\agents\\agent.yaml\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik memory path --config ./agents/agent.yaml\r\n```\r\n\r\n---\r\n\r\n### Lightweight Eval Harness\r\n\r\n#### `agentik eval run`\r\n\r\nEach JSONL line should have `prompt`, and optional `expect_contains[]` and/or `expect_regex`.\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik eval run .\\tests.jsonl --config .\\agents\\agent.yaml --out .\\eval_results.jsonl\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik eval run ./tests.jsonl --config ./agents/agent.yaml --out ./eval_results.jsonl\r\n```\r\n\r\n---\r\n\r\n### Config Helpers\r\n\r\n#### `agentik config path`\r\n\r\nShow the `.agentikrc` path for a scope.\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\nagentik config path --global\r\nagentik config path --local\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nagentik config path --global\r\nagentik config path --local\r\n```\r\n\r\n---\r\n\r\n## Built\u2011in Tools & Policies\r\n\r\nSelected built\u2011ins:\r\n\r\n* `http_fetch(url, ttl, timeout, max_bytes, headers, allow_network)` \u2192 `{ok, data, error, meta}` (`data.text`, `data.status`, cache info)\r\n* `html_to_text(html, keep_newlines, drop_links, max_chars)` \u2192 plaintext\r\n* `write_file(path, content, encoding, overwrite, allow_abs, allow_filesystem)` \u2192 safe file writer\r\n\r\nPolicies are enforced by config:\r\n\r\n```yaml\r\npolicies:\r\n allow_network: true | false\r\n allow_filesystem: true | false\r\n```\r\n\r\nIf a tool requires a disabled capability, the call is blocked and recorded in observations/transcripts.\r\n\r\n---\r\n\r\n## Transcripts & Cost Estimation\r\n\r\nAdd `--save-transcript PATH` (single run) or `--save-transcripts DIR` (dev watch) to write JSONL transcripts. Summaries include steps, token counts, timings, and cost if available.\r\n\r\n**Optional pricing overrides (USD / 1K tokens):**\r\n\r\n**PowerShell**\r\n\r\n```powershell\r\n$env:AGENTIK_PRICE_PROMPT_PER_1K = \"0.50\"\r\n$env:AGENTIK_PRICE_COMPLETION_PER_1K = \"1.50\"\r\n```\r\n\r\n**macOS/Linux**\r\n\r\n```bash\r\nexport AGENTIK_PRICE_PROMPT_PER_1K=\"0.50\"\r\nexport AGENTIK_PRICE_COMPLETION_PER_1K=\"1.50\"\r\n```\r\n\r\n---\r\n\r\n### Quick Reference Table\r\n\r\n| Area | Command | Key Options | | | | |\r\n| --------- | ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ----- | ------- | --------- |\r\n| Version | `agentik version` | \u2013 | | | | |\r\n| Self\u2011test | `agentik self-test` | \u2013 | | | | |\r\n| Init | `agentik init [PATH]` | `--template`, `--force`, `--name` | | | | |\r\n| Run | `agentik run CONFIG` | `-p`, `--model`, `--temperature`, `--stream`, `--dry-run`, `--save-transcript`, `--profile`, `--tag`, `--note`, `--run-id`, `--obs-max-chars` | | | | |\r\n| Keys | `agentik keys set openrouter` | `--global` or `--local` | | | | |\r\n| Keys | `agentik keys show` | \u2013 | | | | |\r\n| Models | `agentik models list` | `--filter`, `--refresh` | | | | |\r\n| New | `agentik new agent NAME` | `--template`, `--tools`, `--memory`, `--memory-path`, `--to`, `--with-tests`, `--force` | | | | |\r\n| New | `agentik new tool NAME` | `--template`, `--to`, `--with-tests`, `--force` | | | | |\r\n| Templates | `agentik template list/apply/pull` | as above | | | | |\r\n| Tools | `agentik tools list/info/run` | `--arg`, `--json` | | | | |\r\n| Validate | `agentik validate file CONFIG` | `--show-effective`, `--model`, `--temperature`, `--max-steps` | | | | |\r\n| Batch | `agentik batch run FILE` | `--column`, `--out`, `--model`, `--temperature` | | | | |\r\n| Memory | `agentik memory {init recall summarize clear path}` | see above |\r\n| Eval | `agentik eval run FILE.jsonl` | `--config`, `--out` | | | | |\r\n| Dev | `agentik dev watch CONFIG` | `-p`/`--prompt-file`, `--path`, `--include`, `--exclude`, `--interval`, `--debounce`, `--clear`, `--stream`, `--profile`, `--save-transcripts`, `--obs-max-chars`, `--no-initial-run`, `--tag`, `--note` | | | | |\r\n| Config | `agentik config path` | `--global` or `--local` | | | | |\r\n\r\n---\r\n\r\n**You\u2019re set.** Keep this open while you iterate; pair it with `agentik dev watch` for the fastest edit\u2011run loop.\r\n\r\n---\r\n\r\n## Troubleshooting\r\n\r\n* **\u201cNetwork error talking to OpenRouter.\u201d** Confirm your key in the current shell:\r\n\r\n * PowerShell: `echo $env:OPENROUTER_API_KEY`\r\n * macOS/Linux: `echo $OPENROUTER_API_KEY`\r\n Then try: `agentik models list --refresh`. Behind a proxy? Set `HTTP_PROXY`/`HTTPS_PROXY`.\r\n\r\n* **Dev watcher: \u201cunexpected extra arguments \u2026\u201d**\r\n\r\n * Quote globs in PowerShell: `--include '**/*.py'` (single quotes).\r\n\r\n* **Auth error / missing key**: set `OPENROUTER_API_KEY` or run `agentik keys set openrouter ...`.\r\n* **Rate limited**: add delays, batch, or upgrade your OpenRouter plan.\r\n* **Network error**: check connectivity or proxy settings (`HTTP_PROXY`, `HTTPS_PROXY`).\r\n* **PowerShell globbing**: quote globs, e.g. `--include '**/*.py'`.\r\n\r\n---\r\n\r\n## Development\r\n\r\n* Lint/format: `ruff check .` and `black .`\r\n* Tests: `pytest -q`\r\n<!-- * Build: `python -m build`\r\n* Publish: `twine upload dist/*` -->\r\n\r\n---\r\n\r\n**Happy building with Agentik!**\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Agentik - a CLI-first, modular agent framework that runs LLMs via OpenRouter.",
"version": "1.1.5",
"project_urls": null,
"split_keywords": [
"agents",
" cli",
" llm",
" openrouter",
" framework",
" automation"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "f001be41734d1b92fd93c967b29b7257b257f362b7158f0247e070b9db82dad0",
"md5": "22b6f7d1e78ebb110a4a83a7809dd8c7",
"sha256": "a42c53c07179927ad900a0736f1767e2b0e9c747e739c50fb54f4ca8b60cee8e"
},
"downloads": -1,
"filename": "agentik_framework-1.1.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "22b6f7d1e78ebb110a4a83a7809dd8c7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 52945,
"upload_time": "2025-08-22T06:53:09",
"upload_time_iso_8601": "2025-08-22T06:53:09.573922Z",
"url": "https://files.pythonhosted.org/packages/f0/01/be41734d1b92fd93c967b29b7257b257f362b7158f0247e070b9db82dad0/agentik_framework-1.1.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6e96d589ea3302657a350fc388a27b799cf8bea15aeeca2068e74e45304f5b64",
"md5": "6226a753abebbe9d70ac4b0d97950c49",
"sha256": "9d2fd66aee26199da2c4d20e15a656b2846dee9f50b68f12b1972759f7c801db"
},
"downloads": -1,
"filename": "agentik_framework-1.1.5.tar.gz",
"has_sig": false,
"md5_digest": "6226a753abebbe9d70ac4b0d97950c49",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 50171,
"upload_time": "2025-08-22T06:53:11",
"upload_time_iso_8601": "2025-08-22T06:53:11.361137Z",
"url": "https://files.pythonhosted.org/packages/6e/96/d589ea3302657a350fc388a27b799cf8bea15aeeca2068e74e45304f5b64/agentik_framework-1.1.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-22 06:53:11",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "agentik-framework"
}