### Geneclaw Quick Start Commands Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/marketing/twitter-thread.md These commands provide a quick way to clone the Geneclaw repository, install dependencies, and run initial setup and evolution commands. No LLM key is required to use the heuristic-only mode. ```bash git clone github.com/Clawland-AI/Geneclaw pip install -e ".[dev,dashboard]" nanobot onboard nanobot geneclaw doctor nanobot geneclaw evolve --dry-run ``` -------------------------------- ### Quick Start Examples for Summarize Skill Source: https://github.com/clawland-ai/geneclaw/blob/master/nanobot/skills/summarize/SKILL.md Demonstrates basic usage for summarizing URLs, local files, and YouTube links using different models. ```bash summarize "https://example.com" --model google/gemini-3-flash-preview summarize "/path/to/file.pdf" --model google/gemini-3-flash-preview summarize "https://youtu.be/dQw4w9WgXcQ" --youtube auto ``` -------------------------------- ### Install Geneclaw and nanobot Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/quickstart/Geneclaw-Runbook.md Clone the Geneclaw repository and install it along with its development dependencies. This also includes the initial nanobot setup to create configuration files and a workspace. ```bash git clone https://github.com/Clawland-AI/Geneclaw.git cd Geneclaw pip install -e ".[dev]" nanobot onboard ``` -------------------------------- ### Install Dashboard Dependencies and Launch Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/ops/dashboard-runbook.md Installs the necessary dependencies for the dashboard and then launches the Streamlit application. The dashboard will be accessible at http://localhost:8501 by default. ```bash pip install -e ".[dashboard]" nanobot geneclaw dashboard ``` -------------------------------- ### Summarize Skill Configuration Example Source: https://github.com/clawland-ai/geneclaw/blob/master/nanobot/skills/summarize/SKILL.md Shows an example of the optional configuration file for the Summarize skill, specifying a model. ```json { "model": "openai/gpt-5.2" } ``` -------------------------------- ### Initialize Nanobot Onboarding Source: https://github.com/clawland-ai/geneclaw/blob/master/README.md Run this command to start the onboarding process for Nanobot. ```bash nanobot onboard ``` -------------------------------- ### Install Geneclaw from Source Source: https://github.com/clawland-ai/geneclaw/blob/master/README.md Use this command to clone the repository and install Geneclaw with development dependencies. ```bash git clone https://github.com/Clawland-AI/Geneclaw.git cd Geneclaw pip install -e ".[dev]" ``` -------------------------------- ### Install a Skill using ClawHub Source: https://github.com/clawland-ai/geneclaw/blob/master/nanobot/skills/clawhub/SKILL.md Installs a specified skill into the nanobot workspace. Always include the `--workdir` flag to ensure skills are placed in the correct directory (`~/.nanobot/workspace/skills/`). Replace `` with the actual skill name. ```bash npx --yes clawhub@latest install --workdir ~/.nanobot/workspace ``` -------------------------------- ### List Installed Skills Source: https://github.com/clawland-ai/geneclaw/blob/master/nanobot/skills/clawhub/SKILL.md Displays a list of all skills currently installed in the specified nanobot workspace. Ensure the `--workdir` flag points to your workspace directory. ```bash npx --yes clawhub@latest list --workdir ~/.nanobot/workspace ``` -------------------------------- ### Install Geneclaw with Dashboard Support Source: https://github.com/clawland-ai/geneclaw/blob/master/README.md Install Geneclaw with additional dependencies required for the dashboard functionality. ```bash pip install -e ".[dev,dashboard]" ``` -------------------------------- ### Geneclaw Dashboard Options Example Source: https://github.com/clawland-ai/geneclaw/blob/master/README.md Launches the Geneclaw dashboard on a specific port and directs it to load event and benchmark data from specified files. ```bash nanobot geneclaw dashboard \ --port 8501 \ --events /path/to/events.jsonl \ --benchmarks /path/to/benchmarks.jsonl ``` -------------------------------- ### Run Nanobot in a Container Source: https://github.com/clawland-ai/geneclaw/blob/master/SECURITY.md Use Docker to run Nanobot in an isolated environment. This example shows how to pull a Python image, install Nanobot, and run it interactively. ```bash # Run in a container or VM docker run --rm -it python:3.11 pip install nanobot-ai ``` -------------------------------- ### Verify Geneclaw Setup and Generate Proposal Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/ops/llm-provider-setup.md After configuring your LLM provider, use these commands to verify the setup, generate run events, and create a real proposal. The `geneclaw doctor` command is crucial for checking all configurations. ```bash nanobot geneclaw doctor # verify everything is green nanobot agent -m "Hello" # generate run events nanobot geneclaw evolve --dry-run # generate a real proposal ``` -------------------------------- ### Geneclaw Benchmark Options Example Source: https://github.com/clawland-ai/geneclaw/blob/master/README.md Sets up benchmark execution with specified event counts, gate iterations, and output format, including saving results. ```bash nanobot geneclaw benchmark \ --event-counts 100,500,1000 \ --gate-iterations 100 \ --save \ --format table ``` -------------------------------- ### Update All Installed Skills Source: https://github.com/clawland-ai/geneclaw/blob/master/nanobot/skills/clawhub/SKILL.md Updates all skills currently installed in the nanobot workspace. The `--workdir` flag is essential for targeting the correct workspace. ```bash npx --yes clawhub@latest update --all --workdir ~/.nanobot/workspace ``` -------------------------------- ### Geneclaw Autopilot Options Example Source: https://github.com/clawland-ai/geneclaw/blob/master/README.md Configures the autopilot mode with specific parameters for maximum cycles, cooldown, auto-approval, dry-run, and output format. ```bash nanobot geneclaw autopilot \ --max-cycles 5 \ --cooldown 10 \ --auto-approve low \ --dry-run \ --format table ``` -------------------------------- ### Initialize a New Skill Source: https://github.com/clawland-ai/geneclaw/blob/master/nanobot/skills/skill-creator/SKILL.md Use the init_skill.py script to create a new skill template. Specify the skill name, output directory, and optionally include resource directories or example files. ```bash scripts/init_skill.py --path [--resources scripts,references,assets] [--examples] ``` ```bash scripts/init_skill.py my-skill --path skills/public ``` ```bash scripts/init_skill.py my-skill --path skills/public --resources scripts,references ``` ```bash scripts/init_skill.py my-skill --path skills/public --resources scripts --examples ``` -------------------------------- ### Launch Geneclaw Dashboard Source: https://github.com/clawland-ai/geneclaw/blob/master/README.md Start the Streamlit dashboard for Geneclaw, accessible at http://localhost:8501. ```bash nanobot geneclaw dashboard ``` -------------------------------- ### Get Full Weather Forecast (wttr.in) Source: https://github.com/clawland-ai/geneclaw/blob/master/nanobot/skills/weather/SKILL.md Retrieve a full weather forecast for a location using wttr.in. Requires no API key. ```bash curl -s "wttr.in/London?T" ``` -------------------------------- ### Start Isolated tmux Session with Python REPL Source: https://github.com/clawland-ai/geneclaw/blob/master/nanobot/skills/tmux/SKILL.md This snippet initializes a new tmux session for a Python REPL, creates a socket for communication, and captures initial pane output. Ensure the NANOBOT_TMUX_SOCKET_DIR environment variable is set or a default temporary directory is used. ```bash SOCKET_DIR="${NANOBOT_TMUX_SOCKET_DIR:-"${TMPDIR:-/tmp}/nanobot-tmux-sockets}" mkdir -p "$SOCKET_DIR" SOCKET="$SOCKET_DIR/nanobot.sock" SESSION=nanobot-python tmux -S "$SOCKET" new -d -s "$SESSION" -n shell tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- 'PYTHON_BASIC_REPL=1 python3 -q' Enter tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -200 ``` -------------------------------- ### Get Compact Weather Forecast (wttr.in) Source: https://github.com/clawland-ai/geneclaw/blob/master/nanobot/skills/weather/SKILL.md Fetch weather data with specific format codes for a compact output. Requires no API key. ```bash curl -s "wttr.in/London?format=%l:+%c+%t+%h+%w" # Output: London: ⛅️ +8°C 71% ↙5km/h ``` -------------------------------- ### Get Weather Forecast (Open-Meteo) Source: https://github.com/clawland-ai/geneclaw/blob/master/nanobot/skills/weather/SKILL.md Fetch weather forecast data in JSON format from Open-Meteo. This service is free and requires no API key, making it suitable for programmatic use. ```bash curl -s "https://api.open-meteo.com/v1/forecast?latitude=51.5&longitude=-0.12¤t_weather=true" ``` -------------------------------- ### Geneclaw Commit Convention Example Source: https://github.com/clawland-ai/geneclaw/blob/master/README.md Follow this commit message format, including the type, scope, subject, and optional metadata like Evo-Event-ID, Risk-Level, and Tests. ```git feat(geneclaw): add autopilot controller Evo-Event-ID: abc123 Risk-Level: low Tests: pytest tests/test_geneclaw_autopilot.py -q ``` -------------------------------- ### Get Current Weather (wttr.in) Source: https://github.com/clawland-ai/geneclaw/blob/master/nanobot/skills/weather/SKILL.md Use curl to fetch current weather for a location in a simple format. Requires no API key. ```bash curl -s "wttr.in/London?format=3" # Output: London: ⛅️ +8°C ``` -------------------------------- ### Check Working Tree Status Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/ops/upstream-sync.md Ensure there are no uncommitted changes before starting the sync process. Stash or commit any pending work. ```bash git status # Must show: "nothing to commit, working tree clean" # If not, stash or commit your changes first ``` -------------------------------- ### Check for Vulnerable Dependencies Source: https://github.com/clawland-ai/geneclaw/blob/master/SECURITY.md Use `pip-audit` to identify vulnerable Python dependencies. Ensure you have the latest secure versions installed. ```bash # Check for vulnerable dependencies pip install pip-audit pip-audit ``` -------------------------------- ### Task Format for HEARTBEAT.md Source: https://github.com/clawland-ai/geneclaw/blob/master/workspace/AGENTS.md Examples of task formats to be used when managing periodic tasks in HEARTBEAT.md. These tasks are checked every 30 minutes. ```markdown - [ ] Check calendar and remind of upcoming events - [ ] Scan inbox for urgent emails - [ ] Check weather forecast for today ``` -------------------------------- ### Phase 1: Bootstrap Allowlist Configuration Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/specs/GEP-v0.md This initial configuration restricts Geneclaw to modifying only its own code and documentation. It's recommended for starting trust-building. ```json { "allowlist_paths": ["geneclaw/", "docs/"], "denylist_paths": [".env", "secrets/", ".git/", "config.json", "pyproject.toml"] } ``` -------------------------------- ### Geneclaw Doctor Check Output Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/quickstart/Geneclaw-Runbook.md Example output from the `nanobot geneclaw doctor` command, indicating the status of various Geneclaw configuration checks. ```text Geneclaw Doctor ✓ geneclaw.enabled: Geneclaw observability is enabled. ✓ dry_run_default: Dry-run is the default (allow_apply_default=false). Safe. ✓ restrict_to_workspace: tools.restrictToWorkspace is ON. Recommended. ✓ runs_dir_writable: Runs directory does not exist yet. Will be auto-created. ✓ allowlist_paths: Allowlist (4 entries): geneclaw/, nanobot/, tests/, docs/ ✓ denylist_paths: Denylist (4 entries): .env, secrets/, .git/, config.json ✓ redact_enabled: Secret redaction is enabled for run logs. Summary: 7 ok, 0 warnings, 0 errors Suggested next steps: ... ``` -------------------------------- ### Markdown Structure for PDF Processing Skill Source: https://github.com/clawland-ai/geneclaw/blob/master/nanobot/skills/skill-creator/SKILL.md Illustrates a high-level guide pattern for a skill, referencing external files for advanced features like form filling and API reference. ```markdown # PDF Processing ## Quick start Extract text with pdfplumber: [code example] ## Advanced features - **Form filling**: See [FORMS.md](FORMS.md) for complete guide - **API reference**: See [REFERENCE.md](REFERENCE.md) for all methods - **Examples**: See [EXAMPLES.md](EXAMPLES.md) for common patterns ``` -------------------------------- ### Verify Geneclaw Configuration Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/ops/first-real-proposal.md Run the Geneclaw doctor command to check if your configuration is set up correctly. All checks should pass with green indicators for successful setup. ```bash nanobot geneclaw doctor ``` -------------------------------- ### Download Weather Forecast as PNG (wttr.in) Source: https://github.com/clawland-ai/geneclaw/blob/master/nanobot/skills/weather/SKILL.md Save a weather forecast as a PNG image file using wttr.in. Requires no API key. ```bash curl -s "wttr.in/Berlin.png" -o /tmp/weather.png ``` -------------------------------- ### Pre-Release Checklist Commands Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/ops/release-runbook.md Execute these commands to ensure the repository is up-to-date, tests pass, and health checks are clear before creating a release. ```bash git checkout master git pull origin master pytest -q nanobot geneclaw doctor nanobot geneclaw evolve --dry-run nanobot geneclaw report nanobot geneclaw benchmark --format json > benchmark-v0.1.0.json ``` -------------------------------- ### Verify LLM Provider Configuration Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/ops/llm-provider-setup.md Run the `nanobot status` command to verify that your configured LLM provider is recognized and accessible. A green checkmark indicates a successful connection. ```bash nanobot status ``` -------------------------------- ### Create GitHub Release using gh CLI Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/ops/release-runbook.md Use the GitHub CLI to create a new release, linking it to the tag and changelog. ```bash gh release create v0.1.0 \ --title "Geneclaw v0.1.0 — GEP v0 Initial Release" \ --notes-file CHANGELOG.md \ --latest ``` -------------------------------- ### Add Recurring Cron Reminder Source: https://github.com/clawland-ai/geneclaw/blob/master/workspace/TOOLS.md Adds a recurring reminder using the nanobot cron command. Examples show daily and hourly scheduling. ```bash # Every day at 9am nanobot cron add --name "morning" --message "Good morning! ☀️" --cron "0 9 * * *" # Every 2 hours nanobot cron add --name "water" --message "Drink water! 💧" --every 7200 ``` -------------------------------- ### Run Nanobot as a Dedicated User Source: https://github.com/clawland-ai/geneclaw/blob/master/SECURITY.md Create a dedicated user account for Nanobot and run the gateway process as that user to limit privileges. Ensure the user has appropriate shell access. ```bash sudo useradd -m -s /bin/bash nanobot sudo -u nanobot nanobot gateway ``` -------------------------------- ### Run Post-Sync Verification Suite Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/ops/upstream-sync.md Execute a series of checks after merging upstream changes to ensure system stability and correctness. This includes running the test suite, performing a doctor check, comparing benchmarks, and verifying the evolve pipeline and report generation. ```bash # 1. Test suite pytest -q # Expected: all tests pass (including geneclaw tests) ``` ```bash # 2. Doctor check nanobot geneclaw doctor # Expected: 0 errors ``` ```bash # 3. Benchmark comparison nanobot geneclaw benchmark --format json > benchmark-post-sync.json # Compare with previous baseline — significant regressions need investigation ``` ```bash # 4. Evolve pipeline check nanobot geneclaw evolve --dry-run # Expected: completes without error ``` ```bash # 5. Report check nanobot geneclaw report # Expected: displays without error ``` -------------------------------- ### Directory Structure for Variant-Specific Skill Organization Source: https://github.com/clawland-ai/geneclaw/blob/master/nanobot/skills/skill-creator/SKILL.md Demonstrates a file organization pattern for skills supporting multiple frameworks or variants, separating provider-specific details into distinct files. ```directory cloud-deploy/ ├── SKILL.md (workflow + provider selection) └── references/ ├── aws.md (AWS deployment patterns) ├── gcp.md (GCP deployment patterns) └── azure.md (Azure deployment patterns) ``` -------------------------------- ### Create and Push Git Tag Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/ops/release-runbook.md Create an annotated Git tag for the release and push it to the remote repository. ```bash # Create annotated tag git tag -a v0.1.0 -m "Geneclaw v0.1.0 — GEP v0 initial release Features: - Observability: JSONL run event recorder with secret redaction - Evolver: heuristic + LLM-assisted evolution proposals - Gatekeeper: 5-layer safety validation - Apply: git-branched diff application with auto-rollback - Autopilot: multi-cycle evolution loop controller - Benchmarks: pipeline performance measurement - Doctor: read-only health checks - Report: aggregated pipeline statistics (table + JSON) - CI/CD: GitHub Actions workflow + PR template 54 tests passing. All dry-run by default." # Push the tag git push origin v0.1.0 ``` -------------------------------- ### Write File Tool Source: https://github.com/clawland-ai/geneclaw/blob/master/workspace/TOOLS.md Writes content to a file, creating parent directories if they do not exist. ```python write_file(path: str, content: str) -> str ``` -------------------------------- ### Verify Git Remotes Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/ops/upstream-sync.md Check if both 'origin' (your fork) and 'upstream' (original nanobot) remotes are configured correctly. ```bash git remote -v ``` -------------------------------- ### Reset to Pre-Merge State Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/ops/upstream-sync.md If a merge has started but not yet committed, this command can be used to reset the working directory and index to the state before the merge began. Use with caution as it discards uncommitted changes. ```bash git reset --hard HEAD ``` -------------------------------- ### Orchestrate Multiple Coding Agents with tmux Source: https://github.com/clawland-ai/geneclaw/blob/master/nanobot/skills/tmux/SKILL.md This snippet demonstrates how to set up and manage multiple tmux sessions for parallel execution of coding agents. It includes creating sessions, sending commands to different agents, and polling for completion. ```bash SOCKET="${TMPDIR:-/tmp}/codex-army.sock" # Create multiple sessions for i in 1 2 3 4 5; do tmux -S "$SOCKET" new-session -d -s "agent-$i" done # Launch agents in different workdirs tmux -S "$SOCKET" send-keys -t agent-1 "cd /tmp/project1 && codex --yolo 'Fix bug X'" Enter tmux -S "$SOCKET" send-keys -t agent-2 "cd /tmp/project2 && codex --yolo 'Fix bug Y'" Enter # Poll for completion (check if prompt returned) for sess in agent-1 agent-2; do if tmux -S "$SOCKET" capture-pane -p -t "$sess" -S -3 | grep -q "❯"; then echo "$sess: DONE" else echo "$sess: Running..." fi done # Get full output from completed session tmux -S "$SOCKET" capture-pane -p -t agent-1 -S -500 ``` -------------------------------- ### Monitor and Capture tmux Pane Output Source: https://github.com/clawland-ai/geneclaw/blob/master/nanobot/skills/tmux/SKILL.md Commands to monitor an active tmux session and capture its pane output. Use these after starting a session to observe its state and retrieve recent history. ```bash To monitor: tmux -S "$SOCKET" attach -t "$SESSION" tmux -S "$SOCKET" capture-pane -p -J -t "$SESSION":0.0 -S -200 ``` -------------------------------- ### Get PR Details with `gh api` Source: https://github.com/clawland-ai/geneclaw/blob/master/nanobot/skills/github/SKILL.md Accesses specific fields of a pull request using the `gh api` command with `--jq` for filtering. This is useful for retrieving data not available through standard subcommands. ```bash gh api repos/owner/repo/pulls/55 --jq '.title, .state, .user.login' ``` -------------------------------- ### Geneclaw CLI Reference - Apply Proposal File Command Source: https://github.com/clawland-ai/geneclaw/blob/master/README.md Applies a previously saved evolution proposal from a JSON file. ```bash nanobot geneclaw apply ``` -------------------------------- ### Geneclaw CLI Reference - Benchmark Command Source: https://github.com/clawland-ai/geneclaw/blob/master/README.md Runs pipeline performance benchmarks. ```bash nanobot geneclaw benchmark ``` -------------------------------- ### Example of Geneclaw Redaction Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/ops/llm-provider-setup.md Illustrates how Geneclaw's redaction layer masks sensitive information like API keys in logs before they are written. This protects keys even if they are accidentally exposed in conversations or tool outputs. ```text Input: api_key="sk-or-v1-abc123def456" Output: api_key="[REDACTED]" ``` -------------------------------- ### Geneclaw CLI Reference - Evolve Apply Command Source: https://github.com/clawland-ai/geneclaw/blob/master/README.md Generates and applies an evolution proposal. Requires specific configuration settings to be enabled. ```bash nanobot geneclaw evolve --apply ``` -------------------------------- ### Configure Channel Access Control Source: https://github.com/clawland-ai/geneclaw/blob/master/SECURITY.md Define `allowFrom` lists in the configuration to restrict access to specific user IDs or phone numbers for production environments. An empty list allows all access. ```json { "channels": { "telegram": { "enabled": true, "token": "YOUR_BOT_TOKEN", "allowFrom": ["123456789", "987654321"] }, "whatsapp": { "enabled": true, "allowFrom": ["+1234567890"] } } } ``` -------------------------------- ### Phase 3: Full Development Scope Allowlist Configuration Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/specs/GEP-v0.md This configuration allows modifications to the core nanobot framework, tests, and documentation. It still denies access to CI/CD workflows and critical CLI entry points. ```json { "allowlist_paths": ["geneclaw/", "nanobot/", "tests/", "docs/"], "denylist_paths": [".env", "secrets/", ".git/", "config.json", "pyproject.toml", ".github/", "nanobot/cli/"] } ``` -------------------------------- ### View GitHub Release Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/ops/release-runbook.md Display information about a specific GitHub release using the GitHub CLI. ```bash gh release view v0.1.0 ``` -------------------------------- ### Chat with Nanobot Agent Source: https://github.com/clawland-ai/geneclaw/blob/master/README.md Use this command to interact with the Nanobot agent and inquire about available tools. ```bash nanobot agent -m "Hello, what tools do you have?" ``` -------------------------------- ### View Geneclaw Proposals Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/quickstart/Geneclaw-Runbook.md Commands to list and read Geneclaw evolution proposals. Use 'ls' or 'dir' to list files and 'cat' or 'type' to read a specific proposal's JSON content. ```bash # List proposals ls ~/.nanobot/workspace/geneclaw/proposals/ # Windows: dir %USERPROFILE%\.nanobot\workspace\geneclaw\proposals\ ``` ```bash # Read a proposal cat ~/.nanobot/workspace/geneclaw/proposals/proposal_YYYYMMDD_HHMMSS.json # Windows: type %USERPROFILE%\.nanobot\workspace\geneclaw\proposals\proposal_...json ``` -------------------------------- ### Search for Skills with ClawHub Source: https://github.com/clawland-ai/geneclaw/blob/master/nanobot/skills/clawhub/SKILL.md Use this command to find skills in the ClawHub registry. Specify a search query and an optional limit for the number of results. ```bash npx --yes clawhub@latest search "web scraping" --limit 5 ``` -------------------------------- ### Configure LLM Provider API Key in config.json Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/ops/llm-provider-setup.md Set the API key for your chosen LLM provider within the `~/.nanobot/config.json` file. This file is stored locally and excluded from version control to maintain security. ```json { "providers": { "openrouter": { "apiKey": "sk-or-v1-your-key-here" } }, "agents": { "defaults": { "model": "openrouter/anthropic/claude-opus-4-5" } } } ``` -------------------------------- ### Export API Key as Environment Variable (Windows CMD) Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/ops/llm-provider-setup.md Set your LLM provider's API key as an environment variable in the Windows command prompt (cmd). This is a temporary setting for the current session. For persistence, add it to your batch file or system environment variables. ```cmd set OPENROUTER_API_KEY=sk-or-v1-your-key-here ``` -------------------------------- ### Geneclaw Data Layout Overview Source: https://github.com/clawland-ai/geneclaw/blob/master/README.md Runtime data for Geneclaw is organized under `~/.nanobot/workspace/geneclaw/`. This includes run logs, evolution events, generated proposals, and benchmark results. ```bash ~/.nanobot/workspace/geneclaw/ ├── runs/ # Run event logs (per session, per day) │ └── / │ └── YYYYMMDD.jsonl ├── events/ # Evolution lifecycle events │ └── events.jsonl ├── proposals/ # Generated proposals │ └── proposal_YYYYMMDD_HHMMSS.json └── benchmarks/ # Performance benchmark results └── benchmarks.jsonl ``` -------------------------------- ### Geneclaw CLI Evolve Command (Apply) Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/specs/GEP-v0.md Generates a proposal and applies it directly. Requires the --apply flag. ```bash # Generate and apply nanobot geneclaw evolve --apply ``` -------------------------------- ### Directory Structure for Domain-Specific Skill Organization Source: https://github.com/clawland-ai/geneclaw/blob/master/nanobot/skills/skill-creator/SKILL.md Shows a file organization pattern for skills with multiple domains, where content is separated into domain-specific files for efficient loading. ```directory bigquery-skill/ ├── SKILL.md (overview and navigation) └── reference/ ├── finance.md (revenue, billing metrics) ├── sales.md (opportunities, pipeline) ├── product.md (API usage, features) └── marketing.md (campaigns, attribution) ``` -------------------------------- ### Geneclaw CLI Apply Command Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/specs/GEP-v0.md Applies a previously saved proposal file. Requires the --apply flag. ```bash # Apply a saved proposal file nanobot geneclaw apply proposal.json --apply ``` -------------------------------- ### Set Secure File Permissions Source: https://github.com/clawland-ai/geneclaw/blob/master/SECURITY.md Apply strict file permissions to sensitive directories and configuration files. `chmod 700` restricts access to the owner for directories, while `chmod 600` does the same for files. ```bash chmod 700 ~/.nanobot chmod 600 ~/.nanobot/config.json chmod 700 ~/.nanobot/whatsapp-auth ``` -------------------------------- ### Background Tasks Source: https://github.com/clawland-ai/geneclaw/blob/master/workspace/TOOLS.md Tool for spawning background tasks. ```APIDOC ## spawn ### Description Spawn a subagent to handle a task in the background. ### Signature ```python spawn(task: str, label: str = None) -> str ``` ### Notes Use for complex or time-consuming tasks that can run independently. The subagent will complete the task and report back when done. ``` -------------------------------- ### Search for Access Denied Logs Source: https://github.com/clawland-ai/geneclaw/blob/master/SECURITY.md Use `grep` to search the Nanobot log file for 'Access denied' messages, which can indicate unauthorized access attempts. This is a key step in incident response. ```bash grep "Access denied" ~/.nanobot/logs/nanobot.log ``` -------------------------------- ### Enable Geneclaw in Nanobot Configuration Source: https://github.com/clawland-ai/geneclaw/blob/master/README.md Add or merge this JSON configuration into your `~/.nanobot/config.json` file to enable Geneclaw and set its parameters. ```json { "geneclaw": { "enabled": true, "redactEnabled": true, "allowApplyDefault": false, "allowlistPaths": ["geneclaw/", "docs/"], "denylistPaths": [".env", "secrets/", ".git/", "config.json"], "maxPatchLines": 500 } } ``` -------------------------------- ### List Directory Tool Source: https://github.com/clawland-ai/geneclaw/blob/master/workspace/TOOLS.md Lists the contents of a specified directory. ```python list_dir(path: str) -> str ``` -------------------------------- ### Launch Dashboard with Custom Data Files Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/ops/dashboard-runbook.md Launches the Geneclaw dashboard and specifies custom paths for the events and benchmarks data files. This is useful for using pre-generated or specific data sets. ```bash nanobot geneclaw dashboard \ --events /path/to/events.jsonl \ --benchmarks /path/to/benchmarks.jsonl ``` -------------------------------- ### Web Fetch Tool Source: https://github.com/clawland-ai/geneclaw/blob/master/workspace/TOOLS.md Fetches and extracts the main content from a URL, supporting markdown or plain text extraction. Output is truncated by default. ```python web_fetch(url: str, extractMode: str = "markdown", maxChars: int = 50000) -> str ``` -------------------------------- ### Geneclaw CLI Reference - Benchmark Save Command Source: https://github.com/clawland-ai/geneclaw/blob/master/README.md Runs benchmarks and persists the results to a JSONL file. ```bash nanobot geneclaw benchmark --save ``` -------------------------------- ### Monitor Nanobot Logs Source: https://github.com/clawland-ai/geneclaw/blob/master/SECURITY.md Use `tail -f` to continuously monitor the Nanobot log file for real-time activity and potential issues. Ensure log files are stored securely. ```bash # Configure log monitoring tail -f ~/.nanobot/logs/nanobot.log ``` -------------------------------- ### Manual Geneclaw Proposal Application Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/ops/first-real-proposal.md This sequence of commands allows for manual application of a geneclaw proposal, providing more control over branching, diff application, testing, and committing. ```bash # Create a branch git checkout -b feat/first-real-proposal # Apply the diff manually git apply path/to/extracted.patch # Run tests pytest -q # If all pass, commit git add -A git commit -m "feat(geneclaw): Evo-Event-ID: Risk-Level: low Tests: pytest -q" # Push and open PR git push -u origin feat/first-real-proposal gh pr create --title "" --body "Generated by geneclaw evolve" ``` -------------------------------- ### Package Skill Script Source: https://github.com/clawland-ai/geneclaw/blob/master/nanobot/skills/skill-creator/SKILL.md Use this script to package a developed skill into a distributable .skill file. It automatically validates the skill before packaging. ```bash scripts/package_skill.py ``` ```bash scripts/package_skill.py ./dist ``` -------------------------------- ### Export API Key as Environment Variable (Linux/macOS) Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/ops/llm-provider-setup.md Set your LLM provider's API key as an environment variable on Linux or macOS. This is a temporary setting for the current session. For persistence, add it to your shell profile. ```bash export OPENROUTER_API_KEY="sk-or-v1-your-key-here" ``` -------------------------------- ### View Geneclaw Evolution Report Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/quickstart/Geneclaw-Runbook.md Generate an evolution report for Geneclaw runs from the last 48 hours using the `nanobot geneclaw report` command. ```bash nanobot geneclaw report --since 48 ``` -------------------------------- ### Add a Scheduled Reminder Source: https://github.com/clawland-ai/geneclaw/blob/master/workspace/AGENTS.md Use this command to schedule a reminder for a specific time. Ensure USER_ID and CHANNEL are obtained from the current session. ```shell nanobot cron add --name "reminder" --message "Your message" --at "YYYY-MM-DDTHH:MM:SS" --deliver --to "USER_ID" --channel "CHANNEL" ``` -------------------------------- ### Geneclaw Evolve Dry-Run Output Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/ops/first-live-run-2026-02-18.md Output from `nanobot geneclaw evolve --dry-run`, showing the heuristic-only evolution proposal generated in the absence of an LLM provider. It details the analysis of recent events and the resulting proposal's objective and risk. ```text No LLM provider configured — running heuristic-only mode. Analysing recent events... Evolution Proposal: heuristic-only ID: b931ef32-f329-4fab-b5a2-85fece2d8e66 Objective: Heuristic diagnosis (no LLM): Top failing tools: web_search(2), exec_command(1); Exception clusters: "TimeoutError: web search timed out after 30s"(1), "ConnectionError: DNS lookup failed for search.api"(1), "CalledProcessError: command exited with code 1"(1) Risk: low Files: (none) Evidence: Top failing tools: web_search(2), exec_command(1); ... Proposal written to ~/.nanobot/workspace/geneclaw/proposals/proposal_20260218_013923.json Dry-run mode. Use --apply to apply the proposal. ``` -------------------------------- ### Run Geneclaw Autopilot with Auto-Apply Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/ops/github-governance.md Enables automatic application of changes after successful dry-runs and meeting specific prerequisites. The 'low' risk setting is recommended for auto-approval. ```bash nanobot geneclaw autopilot --apply --auto-approve low --max-cycles 1 ``` -------------------------------- ### Check for Security Updates Source: https://github.com/clawland-ai/geneclaw/blob/master/SECURITY.md Regularly check for and apply updates to the `nanobot-ai` package to ensure you have the latest security patches. This is crucial for maintaining a secure deployment. ```bash # Check for updates weekly pip install --upgrade nanobot-ai ``` -------------------------------- ### Export OpenRouter API Key Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/ops/first-real-proposal.md Set your OpenRouter API key as an environment variable. This is necessary for the LLM provider to authenticate. Ensure the key is also configured in your Nanobot config file. ```bash # Linux/macOS export OPENROUTER_API_KEY="sk-or-v1-your-key-here" ``` ```powershell # Windows PowerShell $env:OPENROUTER_API_KEY = "sk-or-v1-your-key-here" ``` -------------------------------- ### Scheduled Reminders (Cron) Source: https://github.com/clawland-ai/geneclaw/blob/master/workspace/TOOLS.md Instructions for managing scheduled reminders using the `nanobot cron` command. ```APIDOC ## Set a recurring reminder ### Example ```bash # Every day at 9am nanobot cron add --name "morning" --message "Good morning! ☀️" --cron "0 9 * * *" # Every 2 hours nanobot cron add --name "water" --message "Drink water! 💧" --every 7200 ``` ``` ```APIDOC ## Set a one-time reminder ### Example ```bash # At a specific time (ISO format) nanobot cron add --name "meeting" --message "Meeting starts now!" --at "2025-01-31T15:00:00" ``` ``` ```APIDOC ## Manage reminders ### Commands - `nanobot cron list` - List all jobs - `nanobot cron remove ` - Remove a job ``` -------------------------------- ### Configure Geneclaw in nanobot Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/quickstart/Geneclaw-Runbook.md Edit the nanobot configuration file to enable Geneclaw and set various operational parameters like redaction, path allowlists, and denylists. ```json { "geneclaw": { "enabled": true, "redactEnabled": true, "allowApplyDefault": false, "logMaxChars": 500, "maxPatchLines": 500, "allowlistPaths": ["geneclaw/", "nanobot/", "tests/", "docs/"], "denylistPaths": [".env", "secrets/", ".git/", "config.json"] }, "tools": { "restrictToWorkspace": true } } ``` -------------------------------- ### Push Changes to Origin Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/ops/upstream-sync.md Push the synchronized 'master' branch to your 'origin' remote repository. ```bash git push origin master ``` -------------------------------- ### Launch Dashboard on Custom Port Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/ops/dashboard-runbook.md Launches the Geneclaw dashboard on a specified port, useful if the default port 8501 is already in use. ```bash nanobot geneclaw dashboard --port 9090 ``` -------------------------------- ### Phase 2: Expanded Allowlist Configuration Source: https://github.com/clawland-ai/geneclaw/blob/master/docs/specs/GEP-v0.md After successful evolution cycles, expand the allowlist to include tests. This allows Geneclaw to propose test improvements and new test cases. ```json { "allowlist_paths": ["geneclaw/", "docs/", "tests/"], "denylist_paths": [".env", "secrets/", ".git/", "config.json", "pyproject.toml"] } ``` -------------------------------- ### File Operations Source: https://github.com/clawland-ai/geneclaw/blob/master/workspace/TOOLS.md Tools for interacting with the file system. ```APIDOC ## read_file ### Description Read the contents of a file. ### Signature ```python read_file(path: str) -> str ``` ``` ```APIDOC ## write_file ### Description Write content to a file (creates parent directories if needed). ### Signature ```python write_file(path: str, content: str) -> str ``` ``` ```APIDOC ## edit_file ### Description Edit a file by replacing specific text. ### Signature ```python edit_file(path: str, old_text: str, new_text: str) -> str ``` ``` ```APIDOC ## list_dir ### Description List contents of a directory. ### Signature ```python list_dir(path: str) -> str ``` ``` -------------------------------- ### Search Past Events with Grep Source: https://github.com/clawland-ai/geneclaw/blob/master/nanobot/skills/memory/SKILL.md Use this command to search for keywords within the event history log. Case-insensitive matching is enabled. ```bash grep -i "keyword" memory/HISTORY.md ```