mirror of
https://github.com/leonvanzyl/autocoder.git
synced 2026-01-30 06:12:06 +00:00
Changes: - Increase command limit from 50 to 100 per project - Add examples/OPTIMIZE_CONFIG.md with optimization strategies - Update all documentation references (50 → 100) - Update tests for new limit Rationale: - 50 was too restrictive for projects with many tools (Flutter, etc.) - Users were unknowingly exceeding limit by listing subcommands - 100 provides headroom while maintaining security - New guide teaches wildcard optimization (flutter* vs listing each subcommand) UI feedback idea: Show command count and optimization suggestions (tracked for Phase 3 or future enhancement)
140 lines
4.1 KiB
YAML
140 lines
4.1 KiB
YAML
# Project-Specific Allowed Commands
|
|
# ==================================
|
|
# Location: {project_dir}/.autocoder/allowed_commands.yaml
|
|
#
|
|
# This file defines bash commands that the autonomous coding agent can use
|
|
# for THIS SPECIFIC PROJECT, beyond the default allowed commands.
|
|
#
|
|
# When you create a new project, AutoCoder automatically creates this file
|
|
# in your project's .autocoder/ directory. You can customize it for your
|
|
# project's specific needs (iOS, Rust, Python, etc.).
|
|
|
|
version: 1
|
|
|
|
# Uncomment the commands you need for your specific project.
|
|
# By default, this file has NO commands enabled - you must explicitly add them.
|
|
|
|
commands: []
|
|
|
|
# ==========================================
|
|
# iOS Development Example
|
|
# ==========================================
|
|
# Uncomment these if building an iOS app:
|
|
|
|
# - name: xcodebuild
|
|
# description: Xcode build system for compiling iOS apps
|
|
|
|
# - name: swift
|
|
# description: Swift compiler and REPL
|
|
|
|
# - name: swiftc
|
|
# description: Swift compiler command-line interface
|
|
|
|
# - name: xcrun
|
|
# description: Run Xcode developer tools
|
|
|
|
# - name: simctl
|
|
# description: iOS Simulator control tool
|
|
|
|
# Pattern matching with wildcard
|
|
# This matches: swift, swiftc, swiftformat, swiftlint, etc.
|
|
# - name: swift*
|
|
# description: All Swift development tools
|
|
|
|
|
|
# ==========================================
|
|
# Rust Development Example
|
|
# ==========================================
|
|
# Uncomment these if building a Rust project:
|
|
|
|
# - name: cargo
|
|
# description: Rust package manager and build tool
|
|
|
|
# - name: rustc
|
|
# description: Rust compiler
|
|
|
|
# - name: rustfmt
|
|
# description: Rust code formatter
|
|
|
|
# - name: clippy
|
|
# description: Rust linter
|
|
|
|
|
|
# ==========================================
|
|
# Python Development Example
|
|
# ==========================================
|
|
# Uncomment these if building a Python project:
|
|
|
|
# - name: python3
|
|
# description: Python 3 interpreter
|
|
|
|
# - name: pip3
|
|
# description: Python package installer
|
|
|
|
# - name: pytest
|
|
# description: Python testing framework
|
|
|
|
|
|
# ==========================================
|
|
# Database Tools Example
|
|
# ==========================================
|
|
# Uncomment these if you need database access:
|
|
|
|
# - name: psql
|
|
# description: PostgreSQL command-line client
|
|
|
|
# - name: sqlite3
|
|
# description: SQLite database CLI
|
|
|
|
|
|
# ==========================================
|
|
# Project-Specific Scripts
|
|
# ==========================================
|
|
# Local scripts are matched by filename, so these work from any directory
|
|
# Uncomment and customize for your project:
|
|
|
|
# - name: ./scripts/build.sh
|
|
# description: Project build script
|
|
|
|
# - name: ./scripts/test.sh
|
|
# description: Run all project tests
|
|
|
|
# - name: ./scripts/deploy-staging.sh
|
|
# description: Deploy to staging environment
|
|
|
|
|
|
# ==========================================
|
|
# Notes and Best Practices
|
|
# ==========================================
|
|
#
|
|
# Pattern Matching:
|
|
# - Exact: "swift" matches only "swift"
|
|
# - Wildcard: "swift*" matches "swift", "swiftc", "swiftlint", etc.
|
|
# - Scripts: "./scripts/build.sh" matches the script by name
|
|
#
|
|
# Limits:
|
|
# - Maximum 100 commands per project
|
|
# - Commands in the blocklist (sudo, dd, shutdown, etc.) can NEVER be allowed
|
|
# - Org-level blocked commands (see ~/.autocoder/config.yaml) cannot be overridden
|
|
#
|
|
# Default Allowed Commands (always available):
|
|
# File operations: ls, cat, head, tail, wc, grep, cp, mkdir, mv, rm, touch
|
|
# Shell: pwd, echo, sh, bash, sleep
|
|
# Version control: git
|
|
# Process management: ps, lsof, kill, pkill (dev processes only)
|
|
# Network: curl
|
|
# Node.js: npm, npx, pnpm, node
|
|
# Docker: docker
|
|
# chmod: Only +x mode (making scripts executable)
|
|
#
|
|
# Hardcoded Blocklist (NEVER allowed):
|
|
# Disk operations: dd, mkfs, fdisk, parted
|
|
# System control: shutdown, reboot, poweroff, halt, init
|
|
# Privilege escalation: sudo, su, doas
|
|
# System services: systemctl, service, launchctl
|
|
# Network security: iptables, ufw
|
|
# Ownership changes: chown, chgrp
|
|
# Dangerous commands: aws, gcloud, az, kubectl (unless org allows)
|
|
#
|
|
# To learn more, see: examples/README.md
|