# BD Agent

An AI-powered coding assistant CLI that connects to AWS Bedrock. BD Agent helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.

## Installation

```bash
npm install -g @bestdefense/bd-agent
```

## Minimum Requirements
```cli
npm -v 11.4.2
node -v 24.4.1
```

## Setup

Before using BD Agent, you need to configure your AWS credentials:

```bash
bd-agent setup
```

You'll be prompted to enter:
- AWS Access Key ID
- AWS Secret Access Key  
- AWS Session Token (optional)
- AWS Region (default: us-east-1)
- Bedrock Model ID (default: anthropic.claude-3-5-sonnet-20241022-v2:0)

Alternatively, you can set these as environment variables:
- `AWS_ACCESS_KEY_ID`
- `AWS_SECRET_ACCESS_KEY`
- `AWS_SESSION_TOKEN`
- `AWS_REGION`
- `BEDROCK_MODEL_ID`

## Usage

Start an interactive chat session:

```bash
bd-agent chat
```

### Available Commands

BD Agent can help you with:

- **File Operations**: Read, write, and edit files
- **Git Workflows**: Check status, stage changes, commit, view logs
- **Shell Commands**: Execute any shell command
- **Code Assistance**: Write new code, debug issues, refactor, explain complex code

### Example Interactions

```
You: Can you help me create a new React component called UserProfile?

You: Show me the current git status and any uncommitted changes

You: Run the tests and fix any failing ones

You: Explain how this authentication middleware works
```

## Available Tools

### File System Tools
- `read_file` - Read file contents
- `write_file` - Write content to files
- `edit_file` - Replace content in files
- `list_directory` - List directory contents

### Git Tools
- `git_status` - Check repository status
- `git_diff` - Show changes
- `git_add` - Stage files
- `git_commit` - Create commits
- `git_log` - View commit history

### Shell Tools
- `run_command` - Execute shell commands

## Requirements

- Node.js >= 18.0.0
- AWS account with Bedrock access
- Valid AWS credentials with permissions to invoke Bedrock models

## Security

BD Agent stores your AWS credentials locally in `~/.bd-agent/.env`. Make sure to:
- Keep your credentials secure
- Use IAM roles with minimal required permissions
- Rotate your credentials regularly

## License

MIT