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.ts`. Using the AgentCore SDK `BedrockAgentCoreApp`, this file
defines an HTTP server that streams tokens from your chosen Agent framework SDK.

`model/load.ts` instantiates your chosen model provider.

## Environment Variables

| Variable | Required | Description |
| --- | --- | --- |
{{#if hasIdentity}}| `{{identityProviders.[0].envVarName}}` | Yes | {{modelProvider}} API key (local) or Identity provider name (deployed) |
{{/if}}| `LOCAL_DEV` | No | Set to `1` to use `.env.local` instead of AgentCore Identity |

# Developing locally

If installation was successful, `node_modules/` is already populated with dependencies.

`agentcore dev` will start a local server using `npx tsx watch main.ts` for hot reload. The port is logged to the terminal (default `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.
