Product Station · Dev & ops
Framagit
Read repositories, open issues and merge requests, never touching the main branch.
The control station, in brief
This station sits between your agent and the tool. Before any call, it checks who is acting, shows only the useful tools, applies the rules below and keeps track of the task.
It can
- Read repositories
- Open an issue
- Open a merge request
It asks a human for
- Merge a merge request
It never has access to
- Push to the main branch
Scenario Replays
An agent works through the station. Simulated scenarios, no real data, no key required.
Copy the station, change a limit or an approval step in its configuration file, and get your own station.
The configuration in detail
Everything the station does fits in this file. The replay above applies it, and a copy starts from it. The values are examples to adapt, not a recommendation.
station:
id: framagit
kind: product
policies:
- {policy: human-for-merge, at: submit}
global:
language: en
timezone: Europe/Paris
apis:
- id: framagit-repos
operations:
readRepo: {access: read}
openIssue: {access: write, risk: low}
openMergeRequest: {access: write, risk: medium}
mergeMergeRequest: {access: write, risk: high}
# not listed, so not available to the agent:
# pushToMain
profiles:
contributor:
allow: [readRepo, openIssue, openMergeRequest, mergeMergeRequest]
policies:
human-for-merge:
type: rule
when: "action == mergeMergeRequest"
effect: needs-human
reason: "A merge needs a human's review."
skills:
- {id: read-repo, uses: readRepo}
- {id: open-issue, uses: openIssue}
- {id: open-merge-request, uses: openMergeRequest}
- {id: merge-merge-request, uses: mergeMergeRequest}
playbooks:
- id: report-and-propose
tasks: [read-repo, open-issue, open-merge-request]Shared copies
Copies that their authors choose to share will appear here. Each one keeps a link to this original station.