init
This commit is contained in:
78
README.md
Normal file
78
README.md
Normal file
@@ -0,0 +1,78 @@
|
||||
## Pierre Bot
|
||||
|
||||
**Pierre Bot** is an AI-powered code review companion designed for Bitbucket Server/Data Center.
|
||||
It fetches pull request diffs, analyzes them using Google's Gemini 2.0 Flash model, and identifies potential bugs, style issues, or logic errors.
|
||||
|
||||
## Installation
|
||||
|
||||
Ensure you have [Go](https://go.dev/) installed, then clone the repository and build the binary:
|
||||
|
||||
```bash
|
||||
git clone https://bitbucket.bit.admin.ch/scm/~u80859501/pierre-bot.git
|
||||
cd pierre-bot
|
||||
go build -o pierre ./cmd/pierre/main.go
|
||||
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
Pierre Bot can be configured via **Command Line Flags**, **Environment Variables**, or a **YAML Config File**.
|
||||
|
||||
### Configuration Hierarchy
|
||||
|
||||
1. Command line flags
|
||||
2. Environment variables
|
||||
3. `config.yaml` in the current directory
|
||||
4. `~/.pierre.yaml`
|
||||
|
||||
### Required Environment Variables
|
||||
|
||||
To avoid passing sensitive tokens in plain text, it you cann export these:
|
||||
|
||||
```bash
|
||||
export BITBUCKET_URL="https://your-bitbucket-instance.com"
|
||||
export BITBUCKET_TOKEN="your-personal-access-token"
|
||||
export LLM_API_KEY="your-gemini-api-key"
|
||||
|
||||
```
|
||||
|
||||
## Usage Examples
|
||||
|
||||
The tool uses **positional arguments** for the specific Pull Request you want to target:
|
||||
`pierre <project> <repo> <pr-id>`
|
||||
|
||||
### 1. Basic Command Line Usage
|
||||
|
||||
If you have your environment variables set, simply run:
|
||||
|
||||
```bash
|
||||
./pierre-bot PROJ-KEY my-app-repo 125
|
||||
|
||||
```
|
||||
|
||||
### 2. Using a Configuration File
|
||||
|
||||
You can create a `config.yaml` file to store persistent settings:
|
||||
|
||||
```yaml
|
||||
# config.yaml
|
||||
bitbucket-url: "https://bitbucket.example.com"
|
||||
bitbucket-token: "np-mY-S3cr3t-T0k3n"
|
||||
```
|
||||
|
||||
Then run the bot:
|
||||
|
||||
```bash
|
||||
./pierre-bot --config config.yaml PROJ-KEY my-app-repo 125
|
||||
|
||||
```
|
||||
|
||||
### 3. Overriding Everything via Flags
|
||||
|
||||
```bash
|
||||
./pierre \
|
||||
--bitbucket-url="https://bitbucket.example.com" \
|
||||
--bitbucket-token="token" \
|
||||
MYPROJECT my-repo 42
|
||||
|
||||
```
|
||||
Reference in New Issue
Block a user