v0.1

Configuration

gripe.yaml schema format, field types, and automated policy options.


Schema File

gripe reads from gripe.yaml in your repository root. This file defines the structure of issues you can submit.

repo: agent-clis/gripe
schema: bug-report
title_template: "[{{tool}}] {{summary}}"
fields:
  - name: tool
    type: enum
    required: true
    values: [vim, emacs, vscode, neovim]
  - name: summary
    type: string
    required: true
  - name: severity
    type: enum
    values: [low, medium, high, critical]
    default: medium
  - name: steps
    type: text
    required: false

Field Types

Type Description Example
string Single-line text summary: "cursor bug"
text Multi-line text Steps to reproduce
enum One of a set of values severity: high
boolean True or false blocking: true
number Numeric value affected_users: 5

Field Properties

Property Type Description
name string Field identifier (required)
type string Field type (required)
required boolean Whether the field must be provided
default any Default value if not provided
values array Valid values for enum fields
label string Display label for interactive prompts

Title Template

The title_template field uses double-brace syntax to interpolate field values:

title_template: "[{{tool}}] {{summary}}"

With tool=vim and summary="cursor jumps", this produces: [vim] cursor jumps

Automated Policy

Set default labels, assignees, and milestones:

policy:
  labels:
    - bug
    - "tool:{{tool}}"
  assignees:
    - maintainer-bot
  milestone: v0.2

Labels support template interpolation, so tool:{{tool}} becomes tool:vim when the tool field is "vim".

Dry Run

Preview what would be submitted without creating an issue:

gripe dry-run tool=vim summary="cursor jumps"

This outputs the full issue payload (title, body, labels, assignees) so you can verify before submitting.

Multiple Schemas

You can define multiple schemas in gripe.yaml:

schemas:
  bug-report:
    title_template: "[{{tool}}] {{summary}}"
    fields: [...]
  feature-request:
    title_template: "[feature] {{summary}}"
    fields: [...]

Select a schema when submitting:

gripe submit --schema feature-request summary="add dark mode"