Skip to content

refactor(project): lift project commands to the top-level. - #2397

Merged
nborges-aws merged 12 commits into
aws:refactorfrom
Hweinstock:feat/project-top-level
Sep 24, 2026
Merged

nborges-aws merged 12 commits into
aws:refactorfrom
Hweinstock:feat/project-top-level

Conversation

@Hweinstock

@Hweinstock Hweinstock commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Problem

We want to lift the project commands to the top level.

Solution

  • swap createProjectHandler --> createProjectHandlers, and then add each handler at the root level. This allows us to keep the file organization of project namespaced commands.
  • polish up the input shapes across project commands such that they consistently apply withProject through explicit middleware.
  • update all documentation and tests.

Testing

ran e2e tests.


 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'agent_python_minimal' can be added to a project 1217ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'agent_python_strands' can be added to a project 1339ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'py_strands_container' can be added to a project 1294ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'agent_python_langchain' can be added to a project 1265ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'agent_ts_strands' can be added to a project 6183ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'agent_ts_vercel' can be added to a project 4464ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'mcp_python_fastmcp' can be added to a project 1007ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'a2a_python_strands' can be added to a project 1273ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'agui_python_strands' can be added to a project 1381ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > local invocation > 'agent_python_minimal' runs locally 3365ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > local invocation > 'agent_ts_strands' runs locally 4126ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > local invocation > 'mcp_python_fastmcp' runs locally 533ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > local invocation > 'py_strands_container' runs locally 4712ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > local invocation > 'agent_ts_vercel' runs locally 2441ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > local invocation > 'agent_python_strands' runs locally 5837ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > local invocation > 'a2a_python_strands' runs locally 2091ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > local invocation > 'agent_python_langchain' runs locally 6948ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > local invocation > 'agui_python_strands' runs locally 2285ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > deploys all runtimes 294697ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'agent_ts_strands' can be invoked after deployed 5226ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'agent_python_minimal' can be invoked after deployed 7575ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'agent_python_langchain' can be invoked after deployed 9941ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'agent_ts_vercel' can be invoked after deployed 5620ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'agent_python_strands' can be invoked after deployed 11827ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'py_strands_container' can be invoked after deployed 12215ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'mcp_python_fastmcp' can be invoked after deployed 6915ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'a2a_python_strands' can be invoked after deployed 12193ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'agui_python_strands' can be invoked after deployed 12766ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'agent_python_minimal' can be removed from the project 447ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'agent_python_strands' can be removed from the project 445ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'py_strands_container' can be removed from the project 448ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'agent_python_langchain' can be removed from the project 451ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'agent_ts_strands' can be removed from the project 453ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'agent_ts_vercel' can be removed from the project 451ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'mcp_python_fastmcp' can be removed from the project 444ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'a2a_python_strands' can be removed from the project 440ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > 'agui_python_strands' can be removed from the project 446ms
 ✓ e2eTest/project/templates.test.ts > add, dev, deploy, invoke for runtime templates > deploys the empty project 500765ms

 Test Files  1 passed (1)
      Tests  38 passed (38)
   Start at  23:03:36
   Duration  855.52s (transform 47ms, setup 320ms, import 172ms, tests 854.91s, environment 0ms)

help page:

Usage: agentcore [options] [command]

the platform for production AI agents

Options:
  --region <region>  AWS region
  --debug            debug logging (default: false)
  --json             JSON output (default: false)
  -h, --help         display help for command
  -V, --version      display the CLI version

Commands:
  create             create a new AgentCore project
  add                add project resources
  export             convert project resources into editable code you own
  remove             remove a resource from the project
  dev                run the project locally for development
  deploy             deploy the project to AWS
  invoke             invoke a Runtime or harness from the current project
  log                inspect logs for resources in the current project
  traces             inspect traces for resources in the current project
  status             show the status of the project's deployed resources
  build              build the project's deployable artifacts
  harness            manage AgentCore harnesses
  identity           manage AgentCore Identity resources
  runtime            inspect AgentCore Runtimes
  memory             inspect AgentCore Memories
  gateway            manage AgentCore Gateways
  payment            manage AgentCore Payments
  eval               evaluate and optimize AgentCore agents
  feedback           send feedback about the AgentCore CLI to the team
  config             read/write global config values
  update             check for and install CLI updates

TUI navigation:

image

I also manually played with status on a deployed project, and those links still looked good.

@github-actions github-actions Bot added the size/xl PR size: XL label Sep 23, 2026
@agentcore-devx-automation agentcore-devx-automation Bot added agentcore-harness-reviewing AgentCore Harness review in progress claude-security-reviewing Claude Code /security-review in progress labels Sep 23, 2026
@agentcore-devx-automation

Copy link
Copy Markdown
Contributor

Claude Security Review: no high-confidence findings. (run)

@agentcore-devx-automation agentcore-devx-automation Bot removed claude-security-reviewing Claude Code /security-review in progress agentcore-harness-reviewing AgentCore Harness review in progress labels Sep 23, 2026
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.25%. Comparing base (326bc9e) to head (9a74e1c).

Additional details and impacted files
@@             Coverage Diff              @@
##           refactor    #2397      +/-   ##
============================================
- Coverage     97.25%   97.25%   -0.01%     
============================================
  Files           613      612       -1     
  Lines         41028    41004      -24     
============================================
- Hits          39903    39878      -25     
- Misses         1125     1126       +1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@Hweinstock
Hweinstock marked this pull request as ready for review September 23, 2026 23:18
@github-actions github-actions Bot added size/xl PR size: XL and removed size/xl PR size: XL labels Sep 23, 2026
@nborges-aws
nborges-aws merged commit 5250b42 into aws:refactor Sep 24, 2026
22 of 26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/xl PR size: XL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants