Skip to content
66 changes: 66 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,72 @@ production:
password: <password>
```

This is a minimal configuration. To add failover tuning, IAM or Secrets Manager authentication, TLS, and other plugins for your deployment, see the [documentation](#documentation), or [let an AI assistant build the configuration with you](#configuring-the-wrapper-with-ai-tools).

### Configuring the Wrapper with AI Tools

If you use an AI assistant (Kiro, Cursor, Claude Code, GitHub Copilot, ChatGPT, Amazon Bedrock, etc.), you can give it the wrapper's configuration assistant skill to help build, review, or troubleshoot your wrapper configuration.

The skill is a single self-contained markdown file, [`RUBY-WRAPPER-CONFIGURATION-ASSISTANT.md`](./docs/RUBY-WRAPPER-CONFIGURATION-ASSISTANT.md). It covers every plugin, parameter, default value, dialect, failover mode, and compatibility constraint, so the AI can answer configuration questions without access to the wrapper source. It follows the [Agent Skills](https://agentskills.io) format. It is about 51,000 tokens on Claude Opus 5.5 and Sonnet 5.5 (other models count tokens differently), and the AI receives it with every message, so tools that cache prompts handle it most cheaply.

#### Quick start

1. Download or copy [`RUBY-WRAPPER-CONFIGURATION-ASSISTANT.md`](./docs/RUBY-WRAPPER-CONFIGURATION-ASSISTANT.md).
2. Add it to your AI tool:
- **Tools that support Agent Skills** (Kiro, Cursor, Claude Code, GitHub Copilot in VS Code, and others): create a folder named `ruby-wrapper-configuration-assistant` in one of the tool's skills directories, and save the file in it as `SKILL.md`. The folder name must match the `name` field at the top of the file (`ruby-wrapper-configuration-assistant`), as the Agent Skills format requires; a tool may not load the skill if they differ.

| Tool | Project skills directory | User skills directory |
|---|---|---|
| Kiro | `.kiro/skills/` | `~/.kiro/skills/` |
| Cursor | `.cursor/skills/`, `.agents/skills/`, or `.claude/skills/` | `~/.cursor/skills/`, `~/.agents/skills/`, or `~/.claude/skills/` |
| Claude Code | `.claude/skills/` | `~/.claude/skills/` |
| GitHub Copilot in VS Code | `.github/skills/`, `.agents/skills/`, or `.claude/skills/` | `~/.copilot/skills/`, `~/.agents/skills/`, or `~/.claude/skills/` |

For example, to add the skill to a project for Claude Code:

```bash
mkdir -p .claude/skills/ruby-wrapper-configuration-assistant
curl -fsSL -o .claude/skills/ruby-wrapper-configuration-assistant/SKILL.md \
https://raw.githubusercontent.com/aws/aws-advanced-ruby-driver-wrapper/main/docs/RUBY-WRAPPER-CONFIGURATION-ASSISTANT.md
```

- **Claude Projects**: upload it as a project knowledge document.
- **ChatGPT custom GPT**: upload it as a knowledge file.
- **Amazon Bedrock**: send the file as the system prompt of your `InvokeModel` or `Converse` request. Avoid attaching it to a Bedrock knowledge base: a knowledge base passes the model only the passages that match each question, so the model misses the instructions and cross-references the skill depends on.
- **Plain chat (ChatGPT, Claude, Gemini)**: paste it at the start of a new conversation, then ask your question.
3. Ask the AI for help. It will interview you when it needs more details, or give you a configuration straight away if you ask it to skip the interview.

#### Example prompts

The simplest way to start:

```
Help me configure the AWS Advanced Ruby Driver Wrapper for my Rails app.
```

Skip the interview when you already know what you want:

```
Give me a default config/database.yml for Rails on Aurora PostgreSQL with failover and IAM authentication.
```

Review an existing configuration:

```
Review this database.yml entry and tell me what to change:

<paste your database.yml entry, or the Ruby code that opens the connection>
```

Diagnose a configuration error:

```
My Rails app on aws_postgresql fails at startup with "The failover plugin is not compatible with RDS Proxy endpoints".
What's wrong with my database.yml?
```

The skill targets wrapper version 1.0.1 and later. If it doesn't know something, it says so and points you to the [Ruby wrapper documentation](https://aws.github.io/aws-advanced-wrapper-docs/ruby/overview).

## Documentation

Technical documentation regarding the functionality of the AWS Advanced Ruby Driver Wrapper is published at the [AWS Advanced Wrapper documentation site](https://aws.github.io/aws-advanced-wrapper-docs/ruby/overview). Since the wrapper requires an underlying Ruby driver, please refer to the individual driver's documentation for driver-specific information.
Expand Down
Loading
Loading