@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.
- package/LICENSE.txt +322 -0
- package/README.md +158 -0
- package/dist/LICENSE.txt +322 -0
- package/dist/README.md +158 -0
- package/dist/base-image/Dockerfile +184 -0
- package/dist/base-image/agent-wrapper.sh +143 -0
- package/dist/base-image/apply-local-state.sh +357 -0
- package/dist/base-image/coder-git-credential-helper +307 -0
- package/dist/base-image/entrypoint.sh +942 -0
- package/dist/base-image/ssh_config_template +41 -0
- package/dist/base-image/start-code-server.sh +76 -0
- package/dist/base-image/sync-repos.sh +170 -0
- package/dist/base-image/vscode-extensions.txt +10 -0
- package/dist/base-image/vscode-settings.json +41 -0
- package/dist/coder-server.js +2 -0
- package/dist/config/cli-models.json +45 -0
- package/dist/config/imported-skills.schema.json +83 -0
- package/dist/config/skill-catalog.json +18 -0
- package/dist/config/skill-catalog.schema.json +140 -0
- package/dist/config.js +1 -0
- package/dist/examples/oidc.json.example +11 -0
- package/dist/lib/agent-keepalive.js +1 -0
- package/dist/lib/api-keys.js +1 -0
- package/dist/lib/apiKeys.js +1 -0
- package/dist/lib/auto-judge.js +1 -0
- package/dist/lib/basic-auth.js +1 -0
- package/dist/lib/build-history.js +1 -0
- package/dist/lib/build-output-service.js +1 -0
- package/dist/lib/build-scheduler.js +1 -0
- package/dist/lib/build-service.js +1 -0
- package/dist/lib/claude-oauth-refresh.js +1 -0
- package/dist/lib/cli/build.js +1 -0
- package/dist/lib/cli/config-command.js +1 -0
- package/dist/lib/cli/config.js +1 -0
- package/dist/lib/cli/create-user.js +1 -0
- package/dist/lib/cli/init.js +1 -0
- package/dist/lib/cli/jira.js +1 -0
- package/dist/lib/cli/license.js +1 -0
- package/dist/lib/cli/server-manager.js +1 -0
- package/dist/lib/container-tokens.js +1 -0
- package/dist/lib/data-dir.js +1 -0
- package/dist/lib/deployment-history.js +1 -0
- package/dist/lib/deployment-service.js +1 -0
- package/dist/lib/docker-utils.js +1 -0
- package/dist/lib/email.js +1 -0
- package/dist/lib/emailTemplates.js +1 -0
- package/dist/lib/entitlement.js +1 -0
- package/dist/lib/fetch-utils.js +1 -0
- package/dist/lib/git-provider-service.js +1 -0
- package/dist/lib/git-provider-setup/assets/coderflow_github_app.png +0 -0
- package/dist/lib/git-provider-setup/github-setup-handler.js +1 -0
- package/dist/lib/git-provider-setup/index.js +1 -0
- package/dist/lib/git-provider-setup/setup-factory.js +1 -0
- package/dist/lib/git-provider-setup/setup-interface.js +1 -0
- package/dist/lib/git-providers/azure-devops-provider.js +1 -0
- package/dist/lib/git-providers/github-app-provider.js +1 -0
- package/dist/lib/git-providers/index.js +1 -0
- package/dist/lib/git-providers/provider-factory.js +1 -0
- package/dist/lib/git-providers/provider-interface.js +1 -0
- package/dist/lib/jira-client.js +1 -0
- package/dist/lib/logger.js +1 -0
- package/dist/lib/model-fetcher.js +1 -0
- package/dist/lib/notifications.js +1 -0
- package/dist/lib/oidc-auth.js +1 -0
- package/dist/lib/oidc-device-flow.js +1 -0
- package/dist/lib/passwordTokens.js +1 -0
- package/dist/lib/pin-cascade.js +1 -0
- package/dist/lib/provider-accounts.js +1 -0
- package/dist/lib/provider-oauth.js +1 -0
- package/dist/lib/provider-profile.js +1 -0
- package/dist/lib/provider-token-refresh.js +1 -0
- package/dist/lib/roles.js +1 -0
- package/dist/lib/secrets.js +1 -0
- package/dist/lib/state-capture.js +1 -0
- package/dist/lib/static-files.js +1 -0
- package/dist/lib/task-name-generator.js +1 -0
- package/dist/lib/users.js +1 -0
- package/dist/middleware/requireAuth.js +1 -0
- package/dist/middleware/requireInit.js +1 -0
- package/dist/middleware/requirePermission.js +1 -0
- package/dist/package-lock.json +4151 -0
- package/dist/package.json +50 -0
- package/dist/routes/apiKeys.js +1 -0
- package/dist/routes/auth-oidc.js +1 -0
- package/dist/routes/auth.js +1 -0
- package/dist/routes/build.js +1 -0
- package/dist/routes/containers.js +1 -0
- package/dist/routes/deploy-task.js +1 -0
- package/dist/routes/environment-management.js +1 -0
- package/dist/routes/environments.js +1 -0
- package/dist/routes/external-skills.js +1 -0
- package/dist/routes/git-credentials.js +1 -0
- package/dist/routes/git-provider-setup.js +1 -0
- package/dist/routes/health.js +1 -0
- package/dist/routes/jira.js +1 -0
- package/dist/routes/objective-management.js +1 -0
- package/dist/routes/password.js +1 -0
- package/dist/routes/prompt.js +1 -0
- package/dist/routes/provider-auth.js +1 -0
- package/dist/routes/qa.js +1 -0
- package/dist/routes/settings.js +1 -0
- package/dist/routes/skill-management.js +1 -0
- package/dist/routes/skills.js +1 -0
- package/dist/routes/tasks.js +2 -0
- package/dist/routes/templates.js +1 -0
- package/dist/routes/test-task.js +1 -0
- package/dist/routes/test.js +1 -0
- package/dist/routes/users.js +1 -0
- package/dist/routes/visualizations.js +1 -0
- package/dist/schemas/template-metadata.schema.json +178 -0
- package/dist/scripts/create-user.js +2 -0
- package/dist/shipped-skills/environment-instructions/SKILL.md +154 -0
- package/dist/shipped-skills/environment-templates/SKILL.md +282 -0
- package/dist/shipped-skills/objective-management/SKILL.md +238 -0
- package/dist/shipped-skills/skill-editor/SKILL.md +326 -0
- package/dist/start.js +2 -0
- package/dist/web-ui/public/activity-detail-modal.js +1 -0
- package/dist/web-ui/public/activity-feed.js +1 -0
- package/dist/web-ui/public/activity-formatters.js +1 -0
- package/dist/web-ui/public/agent-event-parser.js +1 -0
- package/dist/web-ui/public/app.js +1 -0
- package/dist/web-ui/public/approve-dialog.js +1 -0
- package/dist/web-ui/public/coderflow-logo-reversed.svg +46 -0
- package/dist/web-ui/public/coderflow-logo.svg +46 -0
- package/dist/web-ui/public/comments-widget.js +1 -0
- package/dist/web-ui/public/docs/.nojekyll +0 -0
- package/dist/web-ui/public/docs/README.md +26 -0
- package/dist/web-ui/public/docs/_sidebar.md +47 -0
- package/dist/web-ui/public/docs/admin/ai-providers.md +132 -0
- package/dist/web-ui/public/docs/admin/email-notifications.md +69 -0
- package/dist/web-ui/public/docs/admin/environments.md +215 -0
- package/dist/web-ui/public/docs/admin/git-providers.md +147 -0
- package/dist/web-ui/public/docs/admin/installation.md +313 -0
- package/dist/web-ui/public/docs/admin/skills.md +35 -0
- package/dist/web-ui/public/docs/admin/sso.md +241 -0
- package/dist/web-ui/public/docs/admin/users-and-roles.md +57 -0
- package/dist/web-ui/public/docs/code/cli.md +102 -0
- package/dist/web-ui/public/docs/code/files-and-editing.md +86 -0
- package/dist/web-ui/public/docs/code/terminal-access.md +110 -0
- package/dist/web-ui/public/docs/code/vscode-extension.md +58 -0
- package/dist/web-ui/public/docs/getting-started/core-concepts.md +129 -0
- package/dist/web-ui/public/docs/getting-started/overview.md +46 -0
- package/dist/web-ui/public/docs/index.html +151 -0
- package/dist/web-ui/public/docs/integrations/custom.md +58 -0
- package/dist/web-ui/public/docs/integrations/ibmi/overview.md +58 -0
- package/dist/web-ui/public/docs/integrations/overview.md +48 -0
- package/dist/web-ui/public/docs/objectives/qa-mode.md +90 -0
- package/dist/web-ui/public/docs/objectives/staged-tasks.md +60 -0
- package/dist/web-ui/public/docs/objectives/working-with-objectives.md +102 -0
- package/dist/web-ui/public/docs/tasks/approval-and-deployment.md +83 -0
- package/dist/web-ui/public/docs/tasks/creating-tasks.md +111 -0
- package/dist/web-ui/public/docs/tasks/judging.md +114 -0
- package/dist/web-ui/public/docs/tasks/providing-feedback.md +41 -0
- package/dist/web-ui/public/docs/tasks/task-groups.md +73 -0
- package/dist/web-ui/public/docs/tasks/winner-selection.md +75 -0
- package/dist/web-ui/public/docs/templates/batch-processing.md +152 -0
- package/dist/web-ui/public/docs/templates/task-templates.md +44 -0
- package/dist/web-ui/public/docs/templates/template-examples.md +93 -0
- package/dist/web-ui/public/docs/testing/profound-automated-testing.md +77 -0
- package/dist/web-ui/public/docs/testing/task-visualizations.md +42 -0
- package/dist/web-ui/public/docs/testing/testing-menu.md +118 -0
- package/dist/web-ui/public/environments.css +3942 -0
- package/dist/web-ui/public/environments.html +1791 -0
- package/dist/web-ui/public/environments.js +1 -0
- package/dist/web-ui/public/favicon-16.png +0 -0
- package/dist/web-ui/public/favicon-32.png +0 -0
- package/dist/web-ui/public/favicon.ico +0 -0
- package/dist/web-ui/public/feedback-widget.css +3133 -0
- package/dist/web-ui/public/feedback-widget.js +1 -0
- package/dist/web-ui/public/git-history.css +2663 -0
- package/dist/web-ui/public/git-history.html +272 -0
- package/dist/web-ui/public/git-history.js +1 -0
- package/dist/web-ui/public/git-status.js +1 -0
- package/dist/web-ui/public/index.html +1459 -0
- package/dist/web-ui/public/index.js +1 -0
- package/dist/web-ui/public/login.html +346 -0
- package/dist/web-ui/public/login.js +1 -0
- package/dist/web-ui/public/markdown-editor.js +1 -0
- package/dist/web-ui/public/markdown-file-editor.js +1 -0
- package/dist/web-ui/public/modal-maximize.js +1 -0
- package/dist/web-ui/public/notifications.js +1 -0
- package/dist/web-ui/public/server-health.js +1 -0
- package/dist/web-ui/public/settings.css +761 -0
- package/dist/web-ui/public/settings.html +1044 -0
- package/dist/web-ui/public/settings.js +1 -0
- package/dist/web-ui/public/setup-password.html +355 -0
- package/dist/web-ui/public/setup-password.js +1 -0
- package/dist/web-ui/public/skills.css +1949 -0
- package/dist/web-ui/public/skills.html +820 -0
- package/dist/web-ui/public/skills.js +1 -0
- package/dist/web-ui/public/sse-client.js +1 -0
- package/dist/web-ui/public/sse-shared-worker.js +1 -0
- package/dist/web-ui/public/styles.css +18614 -0
- package/dist/web-ui/public/task.html +1779 -0
- package/dist/web-ui/public/task.js +1 -0
- package/dist/web-ui/public/terminal.html +45 -0
- package/dist/web-ui/public/terminal.js +1 -0
- package/dist/web-ui/public/theme.js +1 -0
- package/dist/web-ui/public/users.html +298 -0
- package/dist/web-ui/public/users.js +1 -0
- package/dist/web-ui/public/variant-grouping.js +1 -0
- 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
|