66 lines
No EOL
2.7 KiB
Markdown
66 lines
No EOL
2.7 KiB
Markdown
# Testbed
|
|
|
|
This is a test repository for [Fordjent](https://fordjent.wdmn.fr), an AI-powered agent that turns issues into pull requests.
|
|
|
|
## How to Create Issues for Fordjent
|
|
|
|
Fordjent watches for new issues and automatically creates branches, writes code, and opens pull requests. To use it effectively, tag your issues with a **role prefix** so the agent knows what kind of work to perform.
|
|
|
|
### Role Tags
|
|
|
|
| Tag | Role | Behavior |
|
|
|-----|------|----------|
|
|
| `[implementer]` | **Implementer** | Writes code, creates PRs. Best for specific feature requests. |
|
|
| `[pm]` | **Project Manager** | Decomposes large tasks into smaller labeled issues. Does NOT write code. |
|
|
| `[reviewer]` | **Reviewer** | Reviews open PRs, suggests fixes, approves or requests changes. |
|
|
| `[tester]` | **Tester** | Writes tests for existing code, reports bugs. |
|
|
| `[devops]` | **DevOps** | Sets up CI/CD, Docker, infrastructure. Does not write application code. |
|
|
|
|
### Examples
|
|
|
|
```
|
|
[implementer] Add a SortDesc function to the utils package
|
|
[implementer] Fix the off-by-one error in processQueue
|
|
[pm] Decompose the authentication module into sub-issues
|
|
[reviewer] Review PR #5 for correctness and style
|
|
[tester] Write integration tests for the API handlers
|
|
[devops] Add Docker Compose for local development
|
|
```
|
|
|
|
### Issue Writing Tips
|
|
|
|
- **Be specific**: "Add a function `SortDesc(items []string) []string` that sorts in descending order" works much better than "make sorting work".
|
|
- **Include acceptance criteria**: "The function should pass these test cases: ..."
|
|
- **One task per issue**: The agent works best with focused, single-purpose issues.
|
|
- **Mention relevant files**: "Look at `cmd/gogit/main.go` for where to wire this command."
|
|
|
|
### FSM Labels
|
|
|
|
Fordjent manages these labels automatically. You generally don't need to set them manually:
|
|
|
|
| Label | Meaning |
|
|
|-------|---------|
|
|
| `planning` | Issue is being analyzed by the PM |
|
|
| `implementing` | Agent is actively writing code |
|
|
| `blocked` | Issue is waiting on a dependency |
|
|
| `ready` | Issue is unblocked and ready to work on |
|
|
| `review` | PR is ready for human review |
|
|
| `done` | PR merged, issue closed |
|
|
|
|
### Dependency Tracking
|
|
|
|
Use `Depends on: #N` in your issue body to declare dependencies. Fordjent's scheduler will automatically unblock issues when their dependencies are merged.
|
|
|
|
Example:
|
|
> This issue depends on the sort function being implemented first.
|
|
> Depends on: #5
|
|
|
|
## Architecture
|
|
|
|
- **Forgejo**: https://forgejo.wdmn.fr — Code hosting and issue tracking
|
|
- **Fordjent**: https://fordjent.wdmn.fr — Agent webhook endpoint
|
|
- **Status dashboard**: https://fordjent.wdmn.fr/status
|
|
|
|
## Repository Setup
|
|
|
|
This repo is pre-seeded with `go.mod` and `.gitignore` so that Fordjent's scaffold detection doesn't block the first issue. |