Skip to content

Rename CLI command run → build to reflect actual behaviour#519

Merged
pradeeban merged 1 commit intoControlCore-Project:devfrom
GREENRAT-K405:fix/replace-run-build
Mar 28, 2026
Merged

Rename CLI command run → build to reflect actual behaviour#519
pradeeban merged 1 commit intoControlCore-Project:devfrom
GREENRAT-K405:fix/replace-run-build

Conversation

@GREENRAT-K405
Copy link
Copy Markdown

concore run compiled workflows into scripts but never executed them. Calling this 'run' would seem very un-intuitive from the perspective of Developers and End-Users both.

I have renamed it to concore build.
Made sure to preserve all the functionality of previously 'concore run' and put it to 'concore build'

We should reserve 'run' for an execution command.

Feature Parity:
Every single flag is preserved: --source, --output, --type, --auto-build, --compose. Only the command name changes.

Copilot AI review requested due to automatic review settings March 28, 2026 07:05
@GREENRAT-K405
Copy link
Copy Markdown
Author

GREENRAT-K405 commented Mar 28, 2026

@pradeeban this fixes #518

@GREENRAT-K405
Copy link
Copy Markdown
Author

I will try to implement 'run' and 'debug' as seprate cli commands if you are okay with this change.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Renames the CLI subcommand that generates workflow scripts from concore run to concore build to better reflect its non-executing behavior, and updates tests/docs accordingly.

Changes:

  • Renamed the CLI command runbuild and updated the command handler entry points.
  • Updated generated metadata to record generated_by="concore build".
  • Updated docs and CLI tests to use concore build.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/test_cli.py Updates CLI test coverage to call build instead of run and adjusts expected metadata.
concore_cli/commands/init.py Updates project template/help text to instruct concore build.
concore_cli/commands/build.py Renames the workflow generation entry function and updates generated_by metadata label.
concore_cli/commands/init.py Re-exports build_workflow instead of run_workflow.
concore_cli/cli.py Registers build subcommand and routes it to build_workflow; updates option help/docstring.
concore_cli/README.md Updates CLI documentation and examples to use concore build.
README.md Updates top-level quick start to use concore build.
Comments suppressed due to low confidence (1)

concore_cli/cli.py:89

  • Renaming the CLI subcommand from run to build is a breaking change for any existing scripts/docs that call concore run. If you want a smoother migration, consider keeping a temporary run subcommand as a deprecated alias that forwards to build_workflow and prints a warning (or otherwise clearly communicating the deprecation/removal plan in CLI output/versioning).
@cli.command()
@click.argument("workflow_file", type=click.Path(exists=True))
@click.option("--source", "-s", default="src", help="Source directory")
@click.option("--output", "-o", default="out", help="Output directory")
@click.option(
    "--type",
    "-t",
    default=DEFAULT_EXEC_TYPE,
    type=click.Choice(["windows", "posix", "docker"]),
    help="Execution type",
)
@click.option(
    "--auto-build", is_flag=True, help="Automatically run build script after generation"
)
@click.option(
    "--compose",
    is_flag=True,
    help="Generate docker-compose.yml in output directory (docker type only)",
)
def build(workflow_file, source, output, type, auto_build, compose):
    """Compile a concore workflow into executable scripts"""
    try:
        build_workflow(
            workflow_file,
            source,
            output,
            type,
            auto_build,
            console,
            compose=compose,
        )

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 53 to 76
@@ -66,13 +66,13 @@ Generates and optionally builds a workflow from a GraphML file.

**Example:**
```bash
concore run workflow.graphml --source ./src --output ./build --auto-build
concore build workflow.graphml --source ./src --output ./build --auto-build
```

Docker compose example:

```bash
concore run workflow.graphml --source ./src --output ./out --type docker --compose
concore build workflow.graphml --source ./src --output ./out --type docker --compose
cd out
Copy link

Copilot AI Mar 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The docs update the command to concore build, but there’s no explicit migration note for users coming from concore run. Consider adding a short note in this section indicating that run was renamed to build (and whether/when run will be removed or repurposed) to reduce confusion when older guides/scripts fail.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not required, since we are still in development phase

# Run your workflow
concore run workflow.graphml --auto-build
# Compile your workflow
concore build workflow.graphml --auto-build
Copy link

Copilot AI Mar 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This quick-start section now uses concore build, which is correct, but readers following older instructions may still try concore run. Consider adding a brief migration note here (e.g., 'run was renamed to build') so the top-level README helps users troubleshoot command-not-found errors.

Suggested change
concore build workflow.graphml --auto-build
concore build workflow.graphml --auto-build
# Note: older instructions may use 'concore run'; this was renamed to 'concore build'.

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not required, since we are still in development phase

@pradeeban pradeeban merged commit 393eabc into ControlCore-Project:dev Mar 28, 2026
9 of 10 checks passed
@GREENRAT-K405
Copy link
Copy Markdown
Author

GREENRAT-K405 commented Mar 28, 2026

@pradeeban I had some ideas regarding the import export of concore-editor
we can maybe try embedded .graphml with png/svg format
(taking this from excalidraw and other similar apps)

don't know if it is possible but If it is possible this will be very convinient in terms of sharing, users can view it as image and at the same time use it as a workflow also!

@pradeeban
Copy link
Copy Markdown
Member

Yes, in a way, we wanted to wrap CONTROL-CORE project with last GSoC (GSoC 2025). But later we figured there were many open-ended issues and also a Julia implementation was still desired. So, we are back with CONTROL-CORE for GSoC 2026!

@GREENRAT-K405
Copy link
Copy Markdown
Author

Maybe Lucky for us contributors to get the chance to get to work then XD

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants