@profoundlogic/coderflow-server 0.2.1

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 (202) hide show
  1. package/LICENSE.txt +322 -0
  2. package/README.md +158 -0
  3. package/dist/LICENSE.txt +322 -0
  4. package/dist/README.md +158 -0
  5. package/dist/base-image/Dockerfile +184 -0
  6. package/dist/base-image/agent-wrapper.sh +143 -0
  7. package/dist/base-image/apply-local-state.sh +357 -0
  8. package/dist/base-image/coder-git-credential-helper +307 -0
  9. package/dist/base-image/entrypoint.sh +942 -0
  10. package/dist/base-image/ssh_config_template +41 -0
  11. package/dist/base-image/start-code-server.sh +76 -0
  12. package/dist/base-image/sync-repos.sh +170 -0
  13. package/dist/base-image/vscode-extensions.txt +10 -0
  14. package/dist/base-image/vscode-settings.json +41 -0
  15. package/dist/coder-server.js +2 -0
  16. package/dist/config/cli-models.json +45 -0
  17. package/dist/config/imported-skills.schema.json +83 -0
  18. package/dist/config/skill-catalog.json +18 -0
  19. package/dist/config/skill-catalog.schema.json +140 -0
  20. package/dist/config.js +1 -0
  21. package/dist/examples/oidc.json.example +11 -0
  22. package/dist/lib/agent-keepalive.js +1 -0
  23. package/dist/lib/api-keys.js +1 -0
  24. package/dist/lib/apiKeys.js +1 -0
  25. package/dist/lib/auto-judge.js +1 -0
  26. package/dist/lib/basic-auth.js +1 -0
  27. package/dist/lib/build-history.js +1 -0
  28. package/dist/lib/build-output-service.js +1 -0
  29. package/dist/lib/build-scheduler.js +1 -0
  30. package/dist/lib/build-service.js +1 -0
  31. package/dist/lib/claude-oauth-refresh.js +1 -0
  32. package/dist/lib/cli/build.js +1 -0
  33. package/dist/lib/cli/config-command.js +1 -0
  34. package/dist/lib/cli/config.js +1 -0
  35. package/dist/lib/cli/create-user.js +1 -0
  36. package/dist/lib/cli/init.js +1 -0
  37. package/dist/lib/cli/jira.js +1 -0
  38. package/dist/lib/cli/license.js +1 -0
  39. package/dist/lib/cli/server-manager.js +1 -0
  40. package/dist/lib/container-tokens.js +1 -0
  41. package/dist/lib/data-dir.js +1 -0
  42. package/dist/lib/deployment-history.js +1 -0
  43. package/dist/lib/deployment-service.js +1 -0
  44. package/dist/lib/docker-utils.js +1 -0
  45. package/dist/lib/email.js +1 -0
  46. package/dist/lib/emailTemplates.js +1 -0
  47. package/dist/lib/entitlement.js +1 -0
  48. package/dist/lib/fetch-utils.js +1 -0
  49. package/dist/lib/git-provider-service.js +1 -0
  50. package/dist/lib/git-provider-setup/assets/coderflow_github_app.png +0 -0
  51. package/dist/lib/git-provider-setup/github-setup-handler.js +1 -0
  52. package/dist/lib/git-provider-setup/index.js +1 -0
  53. package/dist/lib/git-provider-setup/setup-factory.js +1 -0
  54. package/dist/lib/git-provider-setup/setup-interface.js +1 -0
  55. package/dist/lib/git-providers/azure-devops-provider.js +1 -0
  56. package/dist/lib/git-providers/github-app-provider.js +1 -0
  57. package/dist/lib/git-providers/index.js +1 -0
  58. package/dist/lib/git-providers/provider-factory.js +1 -0
  59. package/dist/lib/git-providers/provider-interface.js +1 -0
  60. package/dist/lib/jira-client.js +1 -0
  61. package/dist/lib/logger.js +1 -0
  62. package/dist/lib/model-fetcher.js +1 -0
  63. package/dist/lib/notifications.js +1 -0
  64. package/dist/lib/oidc-auth.js +1 -0
  65. package/dist/lib/oidc-device-flow.js +1 -0
  66. package/dist/lib/passwordTokens.js +1 -0
  67. package/dist/lib/pin-cascade.js +1 -0
  68. package/dist/lib/provider-accounts.js +1 -0
  69. package/dist/lib/provider-oauth.js +1 -0
  70. package/dist/lib/provider-profile.js +1 -0
  71. package/dist/lib/provider-token-refresh.js +1 -0
  72. package/dist/lib/roles.js +1 -0
  73. package/dist/lib/secrets.js +1 -0
  74. package/dist/lib/state-capture.js +1 -0
  75. package/dist/lib/static-files.js +1 -0
  76. package/dist/lib/task-name-generator.js +1 -0
  77. package/dist/lib/users.js +1 -0
  78. package/dist/middleware/requireAuth.js +1 -0
  79. package/dist/middleware/requireInit.js +1 -0
  80. package/dist/middleware/requirePermission.js +1 -0
  81. package/dist/package-lock.json +4151 -0
  82. package/dist/package.json +50 -0
  83. package/dist/routes/apiKeys.js +1 -0
  84. package/dist/routes/auth-oidc.js +1 -0
  85. package/dist/routes/auth.js +1 -0
  86. package/dist/routes/build.js +1 -0
  87. package/dist/routes/containers.js +1 -0
  88. package/dist/routes/deploy-task.js +1 -0
  89. package/dist/routes/environment-management.js +1 -0
  90. package/dist/routes/environments.js +1 -0
  91. package/dist/routes/external-skills.js +1 -0
  92. package/dist/routes/git-credentials.js +1 -0
  93. package/dist/routes/git-provider-setup.js +1 -0
  94. package/dist/routes/health.js +1 -0
  95. package/dist/routes/jira.js +1 -0
  96. package/dist/routes/objective-management.js +1 -0
  97. package/dist/routes/password.js +1 -0
  98. package/dist/routes/prompt.js +1 -0
  99. package/dist/routes/provider-auth.js +1 -0
  100. package/dist/routes/qa.js +1 -0
  101. package/dist/routes/settings.js +1 -0
  102. package/dist/routes/skill-management.js +1 -0
  103. package/dist/routes/skills.js +1 -0
  104. package/dist/routes/tasks.js +2 -0
  105. package/dist/routes/templates.js +1 -0
  106. package/dist/routes/test-task.js +1 -0
  107. package/dist/routes/test.js +1 -0
  108. package/dist/routes/users.js +1 -0
  109. package/dist/routes/visualizations.js +1 -0
  110. package/dist/schemas/template-metadata.schema.json +178 -0
  111. package/dist/scripts/create-user.js +2 -0
  112. package/dist/shipped-skills/environment-instructions/SKILL.md +154 -0
  113. package/dist/shipped-skills/environment-templates/SKILL.md +282 -0
  114. package/dist/shipped-skills/objective-management/SKILL.md +238 -0
  115. package/dist/shipped-skills/skill-editor/SKILL.md +326 -0
  116. package/dist/start.js +2 -0
  117. package/dist/web-ui/public/activity-detail-modal.js +1 -0
  118. package/dist/web-ui/public/activity-feed.js +1 -0
  119. package/dist/web-ui/public/activity-formatters.js +1 -0
  120. package/dist/web-ui/public/agent-event-parser.js +1 -0
  121. package/dist/web-ui/public/app.js +1 -0
  122. package/dist/web-ui/public/approve-dialog.js +1 -0
  123. package/dist/web-ui/public/coderflow-logo-reversed.svg +46 -0
  124. package/dist/web-ui/public/coderflow-logo.svg +46 -0
  125. package/dist/web-ui/public/comments-widget.js +1 -0
  126. package/dist/web-ui/public/docs/.nojekyll +0 -0
  127. package/dist/web-ui/public/docs/README.md +26 -0
  128. package/dist/web-ui/public/docs/_sidebar.md +47 -0
  129. package/dist/web-ui/public/docs/admin/ai-providers.md +132 -0
  130. package/dist/web-ui/public/docs/admin/email-notifications.md +69 -0
  131. package/dist/web-ui/public/docs/admin/environments.md +215 -0
  132. package/dist/web-ui/public/docs/admin/git-providers.md +147 -0
  133. package/dist/web-ui/public/docs/admin/installation.md +313 -0
  134. package/dist/web-ui/public/docs/admin/skills.md +35 -0
  135. package/dist/web-ui/public/docs/admin/sso.md +241 -0
  136. package/dist/web-ui/public/docs/admin/users-and-roles.md +57 -0
  137. package/dist/web-ui/public/docs/code/cli.md +102 -0
  138. package/dist/web-ui/public/docs/code/files-and-editing.md +86 -0
  139. package/dist/web-ui/public/docs/code/terminal-access.md +110 -0
  140. package/dist/web-ui/public/docs/code/vscode-extension.md +58 -0
  141. package/dist/web-ui/public/docs/getting-started/core-concepts.md +129 -0
  142. package/dist/web-ui/public/docs/getting-started/overview.md +46 -0
  143. package/dist/web-ui/public/docs/index.html +151 -0
  144. package/dist/web-ui/public/docs/integrations/custom.md +58 -0
  145. package/dist/web-ui/public/docs/integrations/ibmi/overview.md +58 -0
  146. package/dist/web-ui/public/docs/integrations/overview.md +48 -0
  147. package/dist/web-ui/public/docs/objectives/qa-mode.md +90 -0
  148. package/dist/web-ui/public/docs/objectives/staged-tasks.md +60 -0
  149. package/dist/web-ui/public/docs/objectives/working-with-objectives.md +102 -0
  150. package/dist/web-ui/public/docs/tasks/approval-and-deployment.md +83 -0
  151. package/dist/web-ui/public/docs/tasks/creating-tasks.md +111 -0
  152. package/dist/web-ui/public/docs/tasks/judging.md +114 -0
  153. package/dist/web-ui/public/docs/tasks/providing-feedback.md +41 -0
  154. package/dist/web-ui/public/docs/tasks/task-groups.md +73 -0
  155. package/dist/web-ui/public/docs/tasks/winner-selection.md +75 -0
  156. package/dist/web-ui/public/docs/templates/batch-processing.md +152 -0
  157. package/dist/web-ui/public/docs/templates/task-templates.md +44 -0
  158. package/dist/web-ui/public/docs/templates/template-examples.md +93 -0
  159. package/dist/web-ui/public/docs/testing/profound-automated-testing.md +77 -0
  160. package/dist/web-ui/public/docs/testing/task-visualizations.md +42 -0
  161. package/dist/web-ui/public/docs/testing/testing-menu.md +118 -0
  162. package/dist/web-ui/public/environments.css +3942 -0
  163. package/dist/web-ui/public/environments.html +1791 -0
  164. package/dist/web-ui/public/environments.js +1 -0
  165. package/dist/web-ui/public/favicon-16.png +0 -0
  166. package/dist/web-ui/public/favicon-32.png +0 -0
  167. package/dist/web-ui/public/favicon.ico +0 -0
  168. package/dist/web-ui/public/feedback-widget.css +3133 -0
  169. package/dist/web-ui/public/feedback-widget.js +1 -0
  170. package/dist/web-ui/public/git-history.css +2663 -0
  171. package/dist/web-ui/public/git-history.html +272 -0
  172. package/dist/web-ui/public/git-history.js +1 -0
  173. package/dist/web-ui/public/git-status.js +1 -0
  174. package/dist/web-ui/public/index.html +1459 -0
  175. package/dist/web-ui/public/index.js +1 -0
  176. package/dist/web-ui/public/login.html +346 -0
  177. package/dist/web-ui/public/login.js +1 -0
  178. package/dist/web-ui/public/markdown-editor.js +1 -0
  179. package/dist/web-ui/public/markdown-file-editor.js +1 -0
  180. package/dist/web-ui/public/modal-maximize.js +1 -0
  181. package/dist/web-ui/public/notifications.js +1 -0
  182. package/dist/web-ui/public/server-health.js +1 -0
  183. package/dist/web-ui/public/settings.css +761 -0
  184. package/dist/web-ui/public/settings.html +1044 -0
  185. package/dist/web-ui/public/settings.js +1 -0
  186. package/dist/web-ui/public/setup-password.html +355 -0
  187. package/dist/web-ui/public/setup-password.js +1 -0
  188. package/dist/web-ui/public/skills.css +1949 -0
  189. package/dist/web-ui/public/skills.html +820 -0
  190. package/dist/web-ui/public/skills.js +1 -0
  191. package/dist/web-ui/public/sse-client.js +1 -0
  192. package/dist/web-ui/public/sse-shared-worker.js +1 -0
  193. package/dist/web-ui/public/styles.css +18614 -0
  194. package/dist/web-ui/public/task.html +1779 -0
  195. package/dist/web-ui/public/task.js +1 -0
  196. package/dist/web-ui/public/terminal.html +45 -0
  197. package/dist/web-ui/public/terminal.js +1 -0
  198. package/dist/web-ui/public/theme.js +1 -0
  199. package/dist/web-ui/public/users.html +298 -0
  200. package/dist/web-ui/public/users.js +1 -0
  201. package/dist/web-ui/public/variant-grouping.js +1 -0
  202. package/package.json +63 -0
@@ -0,0 +1,102 @@
1
+ # CLI
2
+
3
+ The CLI applies completed task patches to your local repositories. It bridges server-based AI work with your local development.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install -g @profoundlogic/coderflow-cli
9
+ ```
10
+
11
+ ## Connecting to the Server
12
+
13
+ ```bash
14
+ coder login
15
+ ```
16
+
17
+ Enter your server URL and credentials when prompted.
18
+
19
+ ## Applying Patches
20
+
21
+ Apply changes from a completed task to your local repos:
22
+
23
+ ```bash
24
+ # Interactive selection from completed tasks
25
+ coder apply
26
+
27
+ # Apply a specific task
28
+ coder apply <task-id>
29
+
30
+ # Apply only certain files
31
+ coder apply --include="*.js"
32
+ ```
33
+
34
+ Changes are staged (`git add`) but not committed, so you can review before committing.
35
+
36
+ ## Discarding Changes
37
+
38
+ Undo applied changes (unstage, restore, clean):
39
+
40
+ ```bash
41
+ # Discard in default environment
42
+ coder discard
43
+
44
+ # Discard in specific environment
45
+ coder discard --env=myproject
46
+
47
+ # Skip confirmation
48
+ coder discard --yes
49
+ ```
50
+
51
+ ## Attaching to Containers
52
+
53
+ ```bash
54
+ # Connect to last container
55
+ coder attach
56
+
57
+ # Connect with bash shell
58
+ coder attach --shell
59
+
60
+ # Connect to specific container
61
+ coder attach <container-id>
62
+ ```
63
+
64
+ ## Configuration and Profiles
65
+
66
+ Manage connection settings:
67
+
68
+ ```bash
69
+ # Show current config
70
+ coder config show
71
+
72
+ # Set server URL
73
+ coder config set serverUrl http://myserver:3000
74
+ ```
75
+
76
+ Use profiles to connect to different servers:
77
+
78
+ ```bash
79
+ # Create profile
80
+ coder profile create production
81
+
82
+ # Switch profiles
83
+ coder profile switch production
84
+
85
+ # Use profile for one command
86
+ coder --profile=production apply
87
+ ```
88
+
89
+ ## Getting Help
90
+
91
+ ```bash
92
+ # General help
93
+ coder --help
94
+
95
+ # All commands
96
+ coder --help-all
97
+
98
+ # Help for specific command
99
+ coder apply --help
100
+ ```
101
+
102
+ Task management commands are available for when you prefer CLI over the Web UI. Run `coder --help-all` to see `run`, `status`, `results`, `list`, and more.
@@ -0,0 +1,86 @@
1
+ # Files & Editing
2
+
3
+ CoderFlow lets you edit files directly in the running container and view how they've changed. You can browse the diff, edit files interactively, and discard changes if needed.
4
+
5
+ ## Viewing Changed Files
6
+
7
+ The **Changed Files** section displays all repository changes made during the task execution. When a task completes or when you view an active task, you'll see:
8
+
9
+ - **Change statistics** - Count of repositories, files changed, lines added, and lines deleted
10
+ - **Repository list** - Each modified repository with the number of files changed
11
+ - **File diffs** - Detailed unified diffs showing what changed in each file, with syntax highlighting
12
+
13
+ You can toggle each file's diff to expand or collapse it. The diffs are read-only and show the state of the repository at the moment the task finished syncing.
14
+
15
+ ## Editing Files
16
+
17
+ You can edit files directly in the container using the built-in Monaco code editor:
18
+
19
+ 1. Click the **Edit** button next to any file in the Changed Files section
20
+ 2. The editor opens with the current file content from the container
21
+ 3. Make your edits in the editor
22
+ 4. Click **Save & Sync** to:
23
+ - Write your changes to the file in the container
24
+ - Sync the repository to update the diff view
25
+ - Refresh the Changed Files display with your new changes
26
+
27
+ The editor supports:
28
+ - Syntax highlighting for hundreds of languages (automatically detected from file extension)
29
+ - Line numbers and code folding
30
+ - Search and replace (Ctrl+H / Cmd+H)
31
+ - Auto-formatting support
32
+ - Minimap navigation for larger files
33
+
34
+ **Note:** Editing is only available while the container is running. If the container stops, you'll need to restart the container to enable editing.
35
+
36
+ ## VS Code IDE
37
+
38
+ For more extensive editing, open the container in a full web-based VS Code environment. This gives you a complete IDE experience directly in your browser—no local installation required.
39
+
40
+ ### Opening VS Code
41
+
42
+ Click the **VS Code** button in the task detail view. The IDE opens in a new browser tab connected to the running container.
43
+
44
+ Use the dropdown arrow next to the button to choose which folder to open:
45
+
46
+ - **Workspace**: Opens `/workspace`, where repositories are cloned
47
+ - **Container Root**: Opens the entire container filesystem
48
+ - **Task Output**: Opens `/task-output`, where agent results are stored
49
+ - **Repository folders**: Opens specific repository directories (your environment may contain multiple repos)
50
+
51
+ ### Features
52
+
53
+ The web-based VS Code includes:
54
+
55
+ - Full syntax highlighting and IntelliSense for all major languages
56
+ - Integrated terminal with direct container access
57
+ - Git integration for viewing changes and staging files
58
+ - Search across files and folders
59
+ - Extensions for common development tasks
60
+ - Auto-save (changes save automatically after 1 second)
61
+
62
+ The theme automatically matches your CoderFlow theme preference (dark or light).
63
+
64
+ ### When to Use VS Code vs. Quick Edit
65
+
66
+ - **Quick Edit (Monaco)**: Best for small, targeted changes to individual files you've already identified
67
+ - **VS Code**: Best for exploring the codebase, making changes across multiple files, running commands, or when you need full IDE capabilities
68
+
69
+ Both edit the same container filesystem—changes made in VS Code appear in the Changed Files view after syncing.
70
+
71
+ If you prefer working in your local VS Code installation, see **VS Code Extension** for how to connect directly to CoderFlow tasks.
72
+
73
+ ## Discarding Changes
74
+
75
+ To revert changes to a file back to what's in the Git repository:
76
+
77
+ 1. Click the **Discard** button next to the file in the Changed Files section
78
+ 2. A confirmation modal appears with the filename
79
+ 3. Click **Discard** to confirm
80
+
81
+ The discard operation:
82
+ - Uses `git checkout` if the file exists in the repository's HEAD commit
83
+ - Removes the file entirely if it's a new file that doesn't exist in HEAD (handles staged and untracked files)
84
+ - Updates the Changed Files view to reflect the removal of that file's changes
85
+
86
+ After discarding, you can immediately see the updated diffs. If you discard all changes to a file, it disappears from the Changed Files section.
@@ -0,0 +1,110 @@
1
+ # Terminal Access
2
+
3
+ You can open an interactive terminal connected directly to the task's container. This lets you run commands, explore the filesystem, resume agents, and debug issues in real-time.
4
+
5
+ ## Web-Based Terminal
6
+
7
+ Click the **Terminal** button in the task toolbar to open a terminal in a new browser tab. You're immediately connected to the running container and can execute commands.
8
+
9
+ The web-based terminal supports:
10
+ - Full shell capabilities (bash)
11
+ - Running commands and tools installed in the container
12
+ - Interactive prompts and text input
13
+ - Colors and text formatting
14
+ - Standard input/output redirection
15
+
16
+ This is the quickest way to access the container—no local setup required.
17
+
18
+ ## Attaching from Your Own Terminal
19
+
20
+ If you prefer using your local terminal application, click the dropdown arrow next to the Terminal button and select **Copy Attach Command**. This copies a `coder` CLI command to your clipboard.
21
+
22
+ Paste and run this command in your local terminal to attach directly to the container. This gives you:
23
+ - Your preferred terminal emulator and configuration
24
+ - Better keyboard shortcut support
25
+ - Integration with local tools and shell customizations
26
+ - Easier copy/paste workflows
27
+
28
+ The attach command connects to the same container as the web terminal—both access the identical environment.
29
+
30
+ **Note:** Terminal access is only available while the container is running. If the container stops, restart it to use the terminal again.
31
+
32
+ ## Working in the Container
33
+
34
+ The container environment has a specific structure:
35
+
36
+ - **`/workspace`** - The main working directory where repositories are cloned. This is where you'll spend most of your time. All repository code, configurations, and edits live here.
37
+ - **`/task-output`** - Output directory containing task metadata, logs, and state information. This is managed by the system.
38
+
39
+ When you open a terminal, it starts in the `/workspace` directory by default. All code changes you make here (whether through file editing or terminal commands) are reflected in the Changed Files section after syncing.
40
+
41
+ ### Environment Setup
42
+
43
+ The container includes:
44
+ - Pre-installed AI agent runtimes (Claude Code, Codex, Gemini, etc.)
45
+ - Git configured for the workspace
46
+ - Development tools (Node.js, Python, etc.)
47
+ - SSH and other utilities for advanced workflows
48
+
49
+ ## Common Operations
50
+
51
+ ### Run a Shell Command
52
+
53
+ ```bash
54
+ # Any bash command works as normal
55
+ ls -la
56
+ grep -r "search-term" .
57
+ npm install
58
+ python script.py
59
+ ```
60
+
61
+ ### Resume an AI Agent
62
+
63
+ The terminal dropdown menu provides quick shortcuts to resume agents:
64
+
65
+ ```bash
66
+ # Resume Claude Code from the last session
67
+ claude resume
68
+
69
+ # Resume Codex from the last session
70
+ codex resume
71
+
72
+ # Start a new Claude Code session
73
+ claude exec
74
+ ```
75
+
76
+ These commands automatically set up the necessary environment and load previous session state if available.
77
+
78
+ ### Apply a Patch Locally
79
+
80
+ If you want to apply the current task's patch to a local repository on your machine, use the CLI (not in the terminal):
81
+
82
+ ```bash
83
+ # From your local machine
84
+ coder apply <task-id> <filename>
85
+ ```
86
+
87
+ This is useful if you prefer to review and integrate changes in your local development environment.
88
+
89
+ ### Explore the Workspace
90
+
91
+ ```bash
92
+ # See what repositories are available
93
+ ls /workspace
94
+
95
+ # View repository status
96
+ cd /workspace/<repo-name>
97
+ git status
98
+
99
+ # See recent commits
100
+ git log --oneline -10
101
+ ```
102
+
103
+ ### Interact with the Agent
104
+
105
+ When an agent is running, you can:
106
+ - Inspect what it's doing with logs
107
+ - Check intermediate results in `/task-output`
108
+ - Modify files and re-run commands to guide the agent
109
+
110
+ All changes made in the terminal contribute to the final diff and appear in the Changed Files section.
@@ -0,0 +1,58 @@
1
+ # VS Code Extension
2
+
3
+ The CoderFlow extension lets you preview and apply AI-generated changes directly in VS Code.
4
+
5
+ - Browse completed tasks with code changes
6
+ - Preview diffs side-by-side
7
+ - Apply changes to your local repositories
8
+ - Work with multi-repository projects
9
+
10
+ **Note**: Create and manage tasks in the Web UI. The extension is for reviewing and applying completed work.
11
+
12
+ ## Installation
13
+
14
+ **From VS Code Marketplace:**
15
+ Search for "CoderFlow" in Extensions and click Install.
16
+
17
+ **From VSIX File:**
18
+ 1. Get the `.vsix` file from your admin
19
+ 2. In VS Code: Extensions → `...` menu → Install from VSIX
20
+
21
+ ## Connecting to the Server
22
+
23
+ 1. Click the CoderFlow icon in the Activity Bar
24
+ 2. Click the server icon to open Profile Manager
25
+ 3. Create a profile with your server URL and credentials
26
+ 4. Tasks from completed work will appear in the tree view
27
+
28
+ ## Previewing Changes
29
+
30
+ Click the diff icon next to any file to see changes side-by-side.
31
+
32
+ ## Applying Changes
33
+
34
+ **Apply all changes from a variant:**
35
+ Click the ↓ icon next to the AI agent name (Claude, Codex, etc.)
36
+
37
+ **Apply a single file:**
38
+ Click the ↓ icon next to an individual file.
39
+
40
+ **When You Have Uncommitted Work:**
41
+ If your repository has uncommitted changes, you'll be prompted to:
42
+ - **Stash & Continue** - Saves your work, applies patch (recommended)
43
+ - **Discard & Continue** - Loses your work, applies patch
44
+ - **View Changes** - Opens Source Control to review first
45
+
46
+ ## Multi-Repository Projects
47
+
48
+ Open all repositories in your VS Code workspace. The extension matches folders by name and applies changes to each repository.
49
+
50
+ ## Troubleshooting
51
+
52
+ **"Cannot find repository"**
53
+ - Ensure the repository folder is open in your workspace
54
+ - Folder name must match the repository name on the server
55
+
56
+ **Connection issues**
57
+ - Verify server URL in Profile Manager
58
+ - Re-login if your API key expired
@@ -0,0 +1,129 @@
1
+ # Core Concepts
2
+
3
+ ## Environments
4
+
5
+ An **environment** represents a complete development workspace packaged as a Docker image. It contains your source code repositories, build tools, runtime dependencies, and any application servers needed to run and test your software.
6
+
7
+ Administrators configure environments to match your team's development setup. When you create a task, you select which environment to use, and CoderFlow launches an isolated container from that image. This ensures every agent works in a consistent, reproducible environment with access to the correct codebase and tools.
8
+
9
+ Environments can be scheduled to rebuild automatically, keeping dependencies current and repositories synced with your latest code.
10
+
11
+ ## Skills
12
+
13
+ **Skills** are reusable, prompt-based actions that agents can invoke while working. Skills can include their own instructions and supporting files, and they are managed by administrators in the Skills area of the Web UI.
14
+
15
+ Skills are assigned at the environment level. When a task launches, CoderFlow injects the assigned skills into the task container so the agent can use them immediately.
16
+
17
+ ## The Parallel Agent Workflow
18
+
19
+ CoderFlow's most powerful capability is running multiple AI agents in parallel on the same task. This approach dramatically improves code quality by leveraging the diverse problem-solving approaches of different agents.
20
+
21
+ ### 1. Submit a Task to Multiple Agents
22
+
23
+ When you have a complex task—fixing a tricky bug, implementing a new feature, or refactoring existing code—you can submit it to multiple agents simultaneously. Each agent works independently in its own isolated container, approaching the problem from its unique perspective.
24
+
25
+ For example, you might run the same task with Claude, Codex, and Gemini. Each agent reads your instructions, explores the codebase, and produces its own solution. Because they work in parallel, you get multiple candidate solutions in roughly the same time it would take to get one.
26
+
27
+ ### 2. Automatic Evaluation by Judge Agents
28
+
29
+ Once the execution agents complete their work, CoderFlow can automatically launch **judge agents** to evaluate the results. Judges are AI agents configured specifically for code review and quality assessment.
30
+
31
+ Multiple judges can evaluate each solution independently, examining:
32
+ - Whether the implementation correctly addresses the requirements
33
+ - Code quality, readability, and adherence to project conventions
34
+ - Test coverage and whether existing tests still pass
35
+ - Potential edge cases or issues the solution might miss
36
+
37
+ The judges score each variant and can reach a consensus on which solution is best. This multi-judge approach reduces bias and provides more reliable evaluations.
38
+
39
+ ### 3. Feedback Loops
40
+
41
+ Judges don't just score—they provide detailed feedback. When a judge identifies issues or improvements, that feedback can be automatically passed back to the execution agents. The agents then iterate on their solutions, addressing the judge's concerns.
42
+
43
+ This creates an automated refinement cycle:
44
+ 1. Execution agents produce initial solutions
45
+ 2. Judge agents evaluate and provide feedback
46
+ 3. Execution agents improve their work based on feedback
47
+ 4. Judge agents re-evaluate until quality standards are met
48
+
49
+ You can choose how many AI feedback rounds to follow, or manually trigger additional feedback as needed.
50
+
51
+ ### 4. Winner Selection and Review
52
+
53
+ After evaluation completes, you select a winning variant—either manually by reviewing the options, or automatically based on judge scores. With a winner selected, you can:
54
+
55
+ - **Review the code changes**: Examine exactly what the agent modified, added, or removed. The diff view quickly highlights all changes against the original codebase and allows yout to make adjustments. You can also review changes in an IDE (browser-based VS Code environment or your local IDE for deeper work).
56
+
57
+ - **Run the application**: Launch the modified application directly from the container to test functionality. For web applications, CoderFlow provides URLs to access the running server. You can interact with the application, verify the fix works, and check for regressions.
58
+
59
+ - **Provide additional feedback**: If the solution is close but needs adjustments, send follow-up instructions to the agent. It resumes work in the same container with full context of what it already did, making targeted improvements without starting over.
60
+
61
+ ### 5. Approve and Deploy
62
+
63
+ When you're satisfied with the solution:
64
+
65
+ 1. **Approve the changes**: This commits the agent's modifications to your repository. CoderFlow generates a commit message summarizing the work, which you can customize before finalizing.
66
+
67
+ 2. **Choose your branch strategy**: Commit directly to the working branch, create a new feature branch, or open a pull request for team review.
68
+
69
+ 3. **Deploy** (optional): If your environment is configured with deployment pipelines, you can trigger deployment after the approval workflow, pushing the changes to staging or production.
70
+
71
+ Every approval is logged with full traceability—who approved, when, what changed, and which agent produced the work.
72
+
73
+ ## Objectives
74
+
75
+ **Objectives** are where you plan and draft your requirements before executing work. They provide a permanent home for your ideas as they evolve from initial concepts into well-defined specifications ready for AI agents to implement.
76
+
77
+ For simple, well-understood tasks, you can create and launch a task directly. But for complex work—where requirements need refinement, or you're still forming your approach—starting with an objective gives you space to think and iterate.
78
+
79
+ ### Hierarchical Organization
80
+
81
+ Objectives support multiple levels of nesting, letting you break down large initiatives into smaller, manageable pieces. The home page displays your objectives as a tree view, making it easy to see how work is organized and navigate between related items.
82
+
83
+ For example, a high-level objective like "Modernize the reporting module" can be broken down into sub-objectives: "Update data models," "Redesign report templates," "Add export functionality." Each sub-objective can be further decomposed as needed.
84
+
85
+ ### The Iterative Workflow
86
+
87
+ Objectives support an iterative approach to getting work done:
88
+
89
+ 1. **Draft your objective**: Write your initial requirements, attach relevant screenshots or documentation, and specify which environment and agents to use.
90
+
91
+ 2. **Launch a task**: When ready, launch a task from the objective. The task runs in its own container while the objective remains unchanged.
92
+
93
+ 3. **Evaluate and refine**: Review the agent's work. If the requirements weren't complete or specific enough, revise the objective based on what you learned.
94
+
95
+ 4. **Relaunch**: Submit another task with the refined requirements. Repeat until the work meets your expectations.
96
+
97
+ This workflow means objectives serve as living documents that improve over time. Each task launched from an objective is independent, so you maintain a history of attempts and can compare approaches.
98
+
99
+ ## Tasks
100
+
101
+ A **task** is a single unit of work executed by an AI agent. When you create a task—either directly or by launching from an objective—CoderFlow spins up an isolated container and runs the agent with your instructions.
102
+
103
+ Tasks progress through a simple lifecycle:
104
+
105
+ - **Pending**: Task is created and waiting to be queued
106
+ - **Queued**: Waiting for an available container slot
107
+ - **Running**: Agent is actively working on the task
108
+ - **Completed**: Agent finished successfully
109
+ - **Failed**: Agent encountered an error
110
+
111
+ You can monitor running tasks in real-time, watching the agent's activity feed as it explores code, makes changes, and runs tests.
112
+
113
+ ### Staged Tasks
114
+
115
+ For situations where you want to prepare a task but control exactly when the agent starts working, **staged tasks** launch the container and set up the environment but pause before the agent begins. This is useful for:
116
+
117
+ - Manually adjusting the environment before execution
118
+ - Coordinating task timing with external dependencies
119
+ - Reviewing the setup before committing compute resources to agent work
120
+
121
+ When ready, you start the staged task and the agent begins immediately in the pre-warmed container.
122
+
123
+ ## Pinned Items
124
+
125
+ As you work with objectives and tasks, **pinning** helps you focus on what's currently active. Pin objectives you're actively planning and tasks you're evaluating. When work is complete, unpin items to move them out of your primary view.
126
+
127
+ Your default view shows only pinned items—the objectives and tasks that need your attention right now. Switch to the "All" view when you need to reference historical work or revisit completed items.
128
+
129
+ This approach keeps your workspace uncluttered while preserving full history. Nothing is deleted; completed work simply moves out of your active view until you need it again.
@@ -0,0 +1,46 @@
1
+ # Overview
2
+
3
+ CoderFlow is an enterprise platform that runs autonomous engineering agents inside your infrastructure. Instead of suggesting code, agents compile, test, validate, and fix legacy systems end-to-end — delivering verified, ready-to-commit results and 5–10x productivity gains.
4
+
5
+ ## What is CoderFlow?
6
+
7
+ CoderFlow is a client-server system designed for enterprise teams working with complex codebases—including legacy systems like IBM i, COBOL, and RPG code. Rather than requiring developers to manually edit code and run tests, CoderFlow:
8
+
9
+ - Submits coding tasks to AI agents (Claude, Codex, Gemini) running in isolated Docker containers
10
+ - Lets agents execute code, compile, test, and validate changes automatically
11
+ - Supports both headless execution (submit once, review results later) and interactive sessions (work within containers for guided work)
12
+ - Manages multi-repository workspaces with build pipelines and test suites
13
+ - Allows developers to review, iterate, and approve changes before committing
14
+
15
+ Key benefits:
16
+ - **Full Build-Test-Fix Loops**: Agents don't just write code—they compile, test, and fix until validation passes
17
+ - **On-Premises Execution**: Runs inside your infrastructure with your security controls
18
+ - **Legacy System Support**: Handles IBM i, RPG, COBOL, and modern stacks (Node.js, Java, etc.)
19
+ - **Parallel Multi-Agent Execution**: Run multiple agents concurrently with automated result comparison
20
+ - **Developer Orchestration**: You control objectives; agents execute; you approve results
21
+ - **Skills Management**: Create reusable prompt-based skills and assign them to environments
22
+
23
+ ## How It Works
24
+
25
+ 1. **Create a Task**: You define an objective (e.g., "refactor function X" or "add feature Y") via CLI, Web UI, or API
26
+ 2. **Agent Executes in Container**: The server spins up a Docker container with your codebase, repositories, and build environment
27
+ 3. **Full Validation Loop**: The agent makes changes, compiles, runs tests, and fixes issues until all validations pass
28
+ 4. **Review Results**: Check the agent's work—summary, changes, test results, and commit message—all in one place
29
+ 5. **Approve & Commit**: Once satisfied, apply changes directly to your repositories
30
+
31
+ The entire process is transparent: you can watch the agent's progress in real-time or review the complete activity log afterward.
32
+
33
+ ## Key Features
34
+
35
+ - **Environments**: Pre-configured Docker images with your repositories, build tools, and dependencies
36
+ - **Tasks**: Discrete coding objectives that agents execute autonomously or interactively
37
+ - **Parallel Agents**: Run multiple agents on different tasks or the same task for comparison
38
+ - **AI Review & Judge Agents**: Automated evaluation of agent results for quality and correctness
39
+ - **Container Isolation**: Each task runs in its own secure, isolated container with time limits
40
+ - **Task Queueing**: Automatic queue management with concurrency limits (default: 8 concurrent agents)
41
+ - **Real-Time Monitoring**: Watch agent progress, activity feeds, and live logs
42
+ - **Multi-Repository Support**: Clone and sync multiple Git repositories per environment
43
+ - **Build & Test Automation**: Run build scripts, tests, and validation checks as part of task execution
44
+ - **Result Delivery**: Summaries, file diffs, test reports, and ready-to-commit patches
45
+ - **Application Servers**: Optional in-container app server for testing web interfaces
46
+ - **Scheduled Image Rebuilds**: Keep Docker images fresh with automated rebuilds on a schedule