autoforge-ai 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/.claude/commands/check-code.md +32 -0
  2. package/.claude/commands/checkpoint.md +40 -0
  3. package/.claude/commands/create-spec.md +613 -0
  4. package/.claude/commands/expand-project.md +234 -0
  5. package/.claude/commands/gsd-to-autoforge-spec.md +10 -0
  6. package/.claude/commands/review-pr.md +75 -0
  7. package/.claude/templates/app_spec.template.txt +331 -0
  8. package/.claude/templates/coding_prompt.template.md +265 -0
  9. package/.claude/templates/initializer_prompt.template.md +354 -0
  10. package/.claude/templates/testing_prompt.template.md +146 -0
  11. package/.env.example +64 -0
  12. package/LICENSE.md +676 -0
  13. package/README.md +423 -0
  14. package/agent.py +444 -0
  15. package/api/__init__.py +10 -0
  16. package/api/database.py +536 -0
  17. package/api/dependency_resolver.py +449 -0
  18. package/api/migration.py +156 -0
  19. package/auth.py +83 -0
  20. package/autoforge_paths.py +315 -0
  21. package/autonomous_agent_demo.py +293 -0
  22. package/bin/autoforge.js +3 -0
  23. package/client.py +607 -0
  24. package/env_constants.py +27 -0
  25. package/examples/OPTIMIZE_CONFIG.md +230 -0
  26. package/examples/README.md +531 -0
  27. package/examples/org_config.yaml +172 -0
  28. package/examples/project_allowed_commands.yaml +139 -0
  29. package/lib/cli.js +791 -0
  30. package/mcp_server/__init__.py +1 -0
  31. package/mcp_server/feature_mcp.py +988 -0
  32. package/package.json +53 -0
  33. package/parallel_orchestrator.py +1800 -0
  34. package/progress.py +247 -0
  35. package/prompts.py +427 -0
  36. package/pyproject.toml +17 -0
  37. package/rate_limit_utils.py +132 -0
  38. package/registry.py +614 -0
  39. package/requirements-prod.txt +14 -0
  40. package/security.py +959 -0
  41. package/server/__init__.py +17 -0
  42. package/server/main.py +261 -0
  43. package/server/routers/__init__.py +32 -0
  44. package/server/routers/agent.py +177 -0
  45. package/server/routers/assistant_chat.py +327 -0
  46. package/server/routers/devserver.py +309 -0
  47. package/server/routers/expand_project.py +239 -0
  48. package/server/routers/features.py +746 -0
  49. package/server/routers/filesystem.py +514 -0
  50. package/server/routers/projects.py +524 -0
  51. package/server/routers/schedules.py +356 -0
  52. package/server/routers/settings.py +127 -0
  53. package/server/routers/spec_creation.py +357 -0
  54. package/server/routers/terminal.py +453 -0
  55. package/server/schemas.py +593 -0
  56. package/server/services/__init__.py +36 -0
  57. package/server/services/assistant_chat_session.py +496 -0
  58. package/server/services/assistant_database.py +304 -0
  59. package/server/services/chat_constants.py +57 -0
  60. package/server/services/dev_server_manager.py +557 -0
  61. package/server/services/expand_chat_session.py +399 -0
  62. package/server/services/process_manager.py +657 -0
  63. package/server/services/project_config.py +475 -0
  64. package/server/services/scheduler_service.py +683 -0
  65. package/server/services/spec_chat_session.py +502 -0
  66. package/server/services/terminal_manager.py +756 -0
  67. package/server/utils/__init__.py +1 -0
  68. package/server/utils/process_utils.py +134 -0
  69. package/server/utils/project_helpers.py +32 -0
  70. package/server/utils/validation.py +54 -0
  71. package/server/websocket.py +903 -0
  72. package/start.py +456 -0
  73. package/ui/dist/assets/index-8W_wmZzz.js +168 -0
  74. package/ui/dist/assets/index-B47Ubhox.css +1 -0
  75. package/ui/dist/assets/vendor-flow-CVNK-_lx.js +7 -0
  76. package/ui/dist/assets/vendor-query-BUABzP5o.js +1 -0
  77. package/ui/dist/assets/vendor-radix-DTNNCg2d.js +45 -0
  78. package/ui/dist/assets/vendor-react-qkC6yhPU.js +1 -0
  79. package/ui/dist/assets/vendor-utils-COeKbHgx.js +2 -0
  80. package/ui/dist/assets/vendor-xterm-DP_gxef0.js +16 -0
  81. package/ui/dist/index.html +23 -0
  82. package/ui/dist/ollama.png +0 -0
  83. package/ui/dist/vite.svg +6 -0
  84. package/ui/package.json +57 -0
@@ -0,0 +1,139 @@
1
+ # Project-Specific Allowed Commands
2
+ # ==================================
3
+ # Location: {project_dir}/.autoforge/allowed_commands.yaml
4
+ #
5
+ # This file defines bash commands that the autonomous coding agent can use
6
+ # for THIS SPECIFIC PROJECT, beyond the default allowed commands.
7
+ #
8
+ # When you create a new project, AutoForge automatically creates this file
9
+ # in your project's .autoforge/ directory. You can customize it for your
10
+ # project's specific needs (iOS, Rust, Python, etc.).
11
+
12
+ version: 1
13
+
14
+ # Uncomment the commands you need for your specific project.
15
+ # By default, this file has NO commands enabled - you must explicitly add them.
16
+
17
+ commands: []
18
+
19
+ # ==========================================
20
+ # iOS Development Example
21
+ # ==========================================
22
+ # Uncomment these if building an iOS app:
23
+
24
+ # - name: xcodebuild
25
+ # description: Xcode build system for compiling iOS apps
26
+
27
+ # - name: swift
28
+ # description: Swift compiler and REPL
29
+
30
+ # - name: swiftc
31
+ # description: Swift compiler command-line interface
32
+
33
+ # - name: xcrun
34
+ # description: Run Xcode developer tools
35
+
36
+ # - name: simctl
37
+ # description: iOS Simulator control tool
38
+
39
+ # Pattern matching with wildcard
40
+ # This matches: swift, swiftc, swiftformat, swiftlint, etc.
41
+ # - name: swift*
42
+ # description: All Swift development tools
43
+
44
+
45
+ # ==========================================
46
+ # Rust Development Example
47
+ # ==========================================
48
+ # Uncomment these if building a Rust project:
49
+
50
+ # - name: cargo
51
+ # description: Rust package manager and build tool
52
+
53
+ # - name: rustc
54
+ # description: Rust compiler
55
+
56
+ # - name: rustfmt
57
+ # description: Rust code formatter
58
+
59
+ # - name: clippy
60
+ # description: Rust linter
61
+
62
+
63
+ # ==========================================
64
+ # Python Development Example
65
+ # ==========================================
66
+ # Uncomment these if building a Python project:
67
+
68
+ # - name: python3
69
+ # description: Python 3 interpreter
70
+
71
+ # - name: pip3
72
+ # description: Python package installer
73
+
74
+ # - name: pytest
75
+ # description: Python testing framework
76
+
77
+
78
+ # ==========================================
79
+ # Database Tools Example
80
+ # ==========================================
81
+ # Uncomment these if you need database access:
82
+
83
+ # - name: psql
84
+ # description: PostgreSQL command-line client
85
+
86
+ # - name: sqlite3
87
+ # description: SQLite database CLI
88
+
89
+
90
+ # ==========================================
91
+ # Project-Specific Scripts
92
+ # ==========================================
93
+ # Local scripts are matched by filename, so these work from any directory
94
+ # Uncomment and customize for your project:
95
+
96
+ # - name: ./scripts/build.sh
97
+ # description: Project build script
98
+
99
+ # - name: ./scripts/test.sh
100
+ # description: Run all project tests
101
+
102
+ # - name: ./scripts/deploy-staging.sh
103
+ # description: Deploy to staging environment
104
+
105
+
106
+ # ==========================================
107
+ # Notes and Best Practices
108
+ # ==========================================
109
+ #
110
+ # Pattern Matching:
111
+ # - Exact: "swift" matches only "swift"
112
+ # - Wildcard: "swift*" matches "swift", "swiftc", "swiftlint", etc.
113
+ # - Scripts: "./scripts/build.sh" matches the script by name
114
+ #
115
+ # Limits:
116
+ # - Maximum 100 commands per project
117
+ # - Commands in the blocklist (sudo, dd, shutdown, etc.) can NEVER be allowed
118
+ # - Org-level blocked commands (see ~/.autoforge/config.yaml) cannot be overridden
119
+ #
120
+ # Default Allowed Commands (always available):
121
+ # File operations: ls, cat, head, tail, wc, grep, cp, mkdir, mv, rm, touch
122
+ # Shell: pwd, echo, sh, bash, sleep
123
+ # Version control: git
124
+ # Process management: ps, lsof, kill, pkill (dev processes only)
125
+ # Network: curl
126
+ # Node.js: npm, npx, pnpm, node
127
+ # Docker: docker
128
+ # chmod: Only +x mode (making scripts executable)
129
+ #
130
+ # Hardcoded Blocklist (NEVER allowed):
131
+ # Disk operations: dd, mkfs, fdisk, parted
132
+ # System control: shutdown, reboot, poweroff, halt, init
133
+ # Privilege escalation: sudo, su, doas
134
+ # System services: systemctl, service, launchctl
135
+ # Network security: iptables, ufw
136
+ # Ownership changes: chown, chgrp
137
+ # Dangerous commands: aws, gcloud, az, kubectl (unless org allows)
138
+ #
139
+ # To learn more, see: examples/README.md