- tools/home_assistant.py: remove hardcoded URL/token; read from per-user
config injected via set_ha_config() at invocation time; return helpful
enrollment prompt when HA not configured
- main.py: inject HA config from user_profile.services at startup; add
manage_service tool (enroll/remove/list) that persists to DynamoDB;
show enrolled services in user context; add USERS_TABLE_NAME env var
- agent-runner/handler.py: pass services dict from DDB user record in
user_profile payload; initialize services={} for new users
- cdk/lib/agent-claw-stack.ts: grant usersTable read/write to runtime1Role
so manage_service tool can update user records
- agentclaw/agentcore/agentcore.json: add USERS_TABLE_NAME env var
This is a project generated by the AgentCore CLI!
Layout
The generated application code lives at the agent root directory. At the root, there is a .gitignore file, an
agentcore/ folder which represents the configurations and state associated with this project. Other agentcore
commands like deploy, dev, and invoke rely on the configuration stored here.
Agent Root
The main entrypoint to your app is defined in main.py. Using the AgentCore SDK @app.entrypoint decorator, this
file defines a Starlette ASGI app with the chosen Agent framework SDK running within.
model/load.py instantiates your chosen model provider.
Environment Variables
| Variable | Required | Description |
|---|---|---|
LOCAL_DEV |
No | Set to 1 to use .env.local instead of AgentCore Identity |
Developing locally
If installation was successful, a virtual environment is already created with dependencies installed.
Run source .venv/bin/activate before developing.
agentcore dev will start a local server on 0.0.0.0:8080.
In a new terminal, you can invoke that server with:
agentcore invoke --dev "What can you do"
Deployment
After providing credentials, agentcore deploy will deploy your project into Amazon Bedrock AgentCore.
Use agentcore invoke to invoke your deployed agent.