mirror of
https://github.com/leonvanzyl/autocoder.git
synced 2026-02-05 08:23:08 +00:00
rebrand: rename AutoCoder to AutoForge across entire codebase
Complete project rebrand from AutoCoder to AutoForge, touching 62 files across Python backend, FastAPI server, React UI, documentation, config, and CI/CD. Key changes: - Rename autocoder_paths.py -> autoforge_paths.py with backward-compat migration from .autocoder/ -> .autoforge/ directories - Update registry.py to migrate ~/.autocoder/ -> ~/.autoforge/ global config directory with fallback support - Update security.py with fallback reads from legacy .autocoder/ paths - Rename .claude/commands and skills from gsd-to-autocoder-spec to gsd-to-autoforge-spec - Update all Python modules: client, prompts, progress, agent, orchestrator, server routers and services - Update React UI: package.json name, index.html title, localStorage keys, all documentation sections, component references - Update start scripts (bat/sh/py), examples, and .env.example - Update CLAUDE.md and README.md with new branding and paths - Update test files for new .autoforge/ directory structure - Transfer git remote from leonvanzyl/autocoder to AutoForgeAI/autoforge Backward compatibility preserved: legacy .autocoder/ directories are auto-detected and migrated on next agent start. Config fallback chain checks both new and old paths. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
22
security.py
22
security.py
@@ -553,14 +553,23 @@ def get_org_config_path() -> Path:
|
||||
Get the organization-level config file path.
|
||||
|
||||
Returns:
|
||||
Path to ~/.autocoder/config.yaml
|
||||
Path to ~/.autoforge/config.yaml (falls back to ~/.autocoder/config.yaml)
|
||||
"""
|
||||
return Path.home() / ".autocoder" / "config.yaml"
|
||||
new_path = Path.home() / ".autoforge" / "config.yaml"
|
||||
if new_path.exists():
|
||||
return new_path
|
||||
# Backward compatibility: check old location
|
||||
old_path = Path.home() / ".autocoder" / "config.yaml"
|
||||
if old_path.exists():
|
||||
return old_path
|
||||
return new_path
|
||||
|
||||
|
||||
def load_org_config() -> Optional[dict]:
|
||||
"""
|
||||
Load organization-level config from ~/.autocoder/config.yaml.
|
||||
Load organization-level config from ~/.autoforge/config.yaml.
|
||||
|
||||
Falls back to ~/.autocoder/config.yaml for backward compatibility.
|
||||
|
||||
Returns:
|
||||
Dict with parsed org config, or None if file doesn't exist or is invalid
|
||||
@@ -630,7 +639,10 @@ def load_project_commands(project_dir: Path) -> Optional[dict]:
|
||||
Returns:
|
||||
Dict with parsed YAML config, or None if file doesn't exist or is invalid
|
||||
"""
|
||||
config_path = project_dir.resolve() / ".autocoder" / "allowed_commands.yaml"
|
||||
# Check new location first, fall back to old for backward compatibility
|
||||
config_path = project_dir.resolve() / ".autoforge" / "allowed_commands.yaml"
|
||||
if not config_path.exists():
|
||||
config_path = project_dir.resolve() / ".autocoder" / "allowed_commands.yaml"
|
||||
|
||||
if not config_path.exists():
|
||||
return None
|
||||
@@ -909,7 +921,7 @@ async def bash_security_hook(input_data, tool_use_id=None, context=None):
|
||||
# Provide helpful error message with config hint
|
||||
error_msg = f"Command '{cmd}' is not allowed.\n"
|
||||
error_msg += "To allow this command:\n"
|
||||
error_msg += " 1. Add to .autocoder/allowed_commands.yaml for this project, OR\n"
|
||||
error_msg += " 1. Add to .autoforge/allowed_commands.yaml for this project, OR\n"
|
||||
error_msg += " 2. Request mid-session approval (the agent can ask)\n"
|
||||
error_msg += "Note: Some commands are blocked at org-level and cannot be overridden."
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user