Migrate from Forgejo to Gitea

- Replace fj CLI with tea CLI across all commands
- Create new gitea skill, remove forgejo skill
- Update all agents to use gitea skill
- Update commands to use skill-based approach (reference skills instead of embedding CLI commands)
- Update all documentation (README, ARCHITECTURE, VISION, writing guides)
- Swap git remotes: origin now points to git.flowmade.one (Gitea)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-30 13:50:00 +01:00
parent c7025a4c98
commit 68675a7e12
20 changed files with 322 additions and 243 deletions

View File

@@ -23,7 +23,7 @@ The architecture follows a layered composition model where each component type s
│ │ AGENTS │ │ SKILLS │ │ │ │ AGENTS │ │ SKILLS │ │
│ │ Specialized │ │ Knowledge modules │ │ │ │ Specialized │ │ Knowledge modules │ │
│ │ subagents │ │ │ │ │ │ subagents │ │ │ │
│ │ │ │ issue-writing forgejo │ │ │ │ │ │ issue-writing gitea │ │
│ │ product-manager │ │ backlog-grooming roadmap-planning │ │ │ │ product-manager │ │ backlog-grooming roadmap-planning │ │
│ └─────────────────┘ └─────────────────────────────────────┘ │ │ └─────────────────┘ └─────────────────────────────────────┘ │
│ │ ▲ │ │ │ ▲ │
@@ -49,13 +49,13 @@ Each command file contains:
```yaml ```yaml
--- ---
description: Work on a Forgejo issue description: Work on a Gitea issue
argument-hint: <issue-number> argument-hint: <issue-number>
--- ---
# Work on Issue #$1 # Work on Issue #$1
1. **View the issue**: `fj issue view $1` 1. **View the issue**: `tea issue view $1`
2. **Create a branch**: `git checkout -b issue-$1-<title>` 2. **Create a branch**: `git checkout -b issue-$1-<title>`
... ...
``` ```
@@ -79,13 +79,13 @@ Create a command when you have:
| Command | Purpose | Skills Used | | Command | Purpose | Skills Used |
|---------|---------|-------------| |---------|---------|-------------|
| `/work-issue` | Implement an issue end-to-end | forgejo | | `/work-issue` | Implement an issue end-to-end | gitea |
| `/dashboard` | View open issues and PRs | forgejo | | `/dashboard` | View open issues and PRs | gitea |
| `/review-pr` | Review and act on a PR | forgejo | | `/review-pr` | Review and act on a PR | gitea |
| `/create-issue` | Create single or batch issues | forgejo, issue-writing | | `/create-issue` | Create single or batch issues | gitea, issue-writing |
| `/groom` | Improve issue quality | backlog-grooming, issue-writing | | `/groom` | Improve issue quality | backlog-grooming, issue-writing |
| `/roadmap` | View issues organized by status | forgejo, roadmap-planning | | `/roadmap` | View issues organized by status | gitea, roadmap-planning |
| `/plan-issues` | Break down features into issues | roadmap-planning, issue-writing, forgejo | | `/plan-issues` | Break down features into issues | roadmap-planning, issue-writing, gitea |
--- ---
@@ -134,7 +134,7 @@ Create a skill when you find yourself:
| Skill | Purpose | | Skill | Purpose |
|-------|---------| |-------|---------|
| `forgejo` | How to use the Forgejo CLI for issues and PRs | | `gitea` | How to use the Gitea CLI for issues and PRs |
| `issue-writing` | How to structure clear, actionable issues | | `issue-writing` | How to structure clear, actionable issues |
| `backlog-grooming` | How to review and improve existing issues | | `backlog-grooming` | How to review and improve existing issues |
| `roadmap-planning` | How to plan features and create issue breakdowns | | `roadmap-planning` | How to plan features and create issue breakdowns |
@@ -204,8 +204,8 @@ Create an agent when you need:
| Agent | Skills | Use Case | | Agent | Skills | Use Case |
|-------|--------|----------| |-------|--------|----------|
| `product-manager` | forgejo, issue-writing, backlog-grooming, roadmap-planning | Batch issue operations, backlog reviews, feature planning | | `product-manager` | gitea, issue-writing, backlog-grooming, roadmap-planning | Batch issue operations, backlog reviews, feature planning |
| `code-reviewer` | forgejo, code-review | Automated PR review, quality checks | | `code-reviewer` | gitea, code-review | Automated PR review, quality checks |
--- ---
@@ -222,7 +222,7 @@ User invokes command
│ workflow steps │ │ workflow steps │
└───────────────────┘ └───────────────────┘
├─── Direct action (git, fj CLI) ├─── Direct action (git, tea CLI)
├─── Reference skill for knowledge ├─── Reference skill for knowledge
│ │ │ │
@@ -253,7 +253,7 @@ User invokes command
2. **Skills consulted**: 2. **Skills consulted**:
- `roadmap-planning`: How to break down features - `roadmap-planning`: How to break down features
- `issue-writing`: How to structure each issue - `issue-writing`: How to structure each issue
- `forgejo`: How to create issues via CLI - `gitea`: How to create issues via CLI
3. **Workflow executed**: 3. **Workflow executed**:
- Analyze what "dark mode" involves - Analyze what "dark mode" involves
@@ -304,7 +304,7 @@ Agents declare their skills in the YAML frontmatter:
```yaml ```yaml
--- ---
name: product-manager name: product-manager
skills: forgejo, issue-writing, backlog-grooming skills: gitea, issue-writing, backlog-grooming
--- ---
``` ```
@@ -335,7 +335,7 @@ The agent works autonomously and returns results to the command.
Small, focused components combine to handle complex scenarios: Small, focused components combine to handle complex scenarios:
``` ```
/plan-issues = roadmap-planning + issue-writing + forgejo /plan-issues = roadmap-planning + issue-writing + gitea
product-manager = all four skills combined product-manager = all four skills combined
``` ```
@@ -368,7 +368,7 @@ ai/
│ ├── roadmap.md │ ├── roadmap.md
│ └── plan-issues.md │ └── plan-issues.md
├── skills/ # Knowledge modules ├── skills/ # Knowledge modules
│ ├── forgejo/ │ ├── gitea/
│ │ └── SKILL.md │ │ └── SKILL.md
│ ├── issue-writing/ │ ├── issue-writing/
│ │ └── SKILL.md │ │ └── SKILL.md

View File

@@ -25,16 +25,16 @@ ai/
All files symlink to `~/.claude/` via `make install`. All files symlink to `~/.claude/` via `make install`.
## Forgejo Integration ## Gitea Integration
Uses `fj` CLI (forgejo-cli) for issue/PR management: Uses `tea` CLI for issue/PR management:
```bash ```bash
# Setup (one-time) # Setup (one-time)
brew install forgejo-cli brew install tea
echo "YOUR_TOKEN" | fj -H code.flowmade.one auth add-key username tea logins add --name flowmade --url https://git.flowmade.one --token <your-token>
# Token needs scopes: read:user, read:repository, write:issue, write:repository # Create token at: https://git.flowmade.one/user/settings/applications
``` ```
### Available Commands ### Available Commands

View File

@@ -30,7 +30,7 @@ The project is built around three composable component types:
│ │ ┌───────────────────────────────────────────┐ │ │ │ │ ┌───────────────────────────────────────────┐ │ │
│ │ │ SKILLS │ │ │ │ │ │ SKILLS │ │ │
│ │ │ Reusable knowledge modules │ │ │ │ │ │ Reusable knowledge modules │ │ │
│ │ │ (forgejo, issue-writing, planning) │ │ │ │ │ │ (gitea, issue-writing, planning) │ │ │
│ │ └───────────────────────────────────────────┘ │ │ │ │ └───────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────┘ │ │ └─────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘ └─────────────────────────────────────────────────────────┘
@@ -47,7 +47,7 @@ The project is built around three composable component types:
### Prerequisites ### Prerequisites
- [Claude Code CLI](https://claude.ai/claude-code) installed - [Claude Code CLI](https://claude.ai/claude-code) installed
- [Forgejo CLI](https://code.forgejo.org/forgejo/forgejo-cli) (`fj`) for issue/PR management - [Forgejo CLI](https://code.gitea.org/gitea/gitea-cli) (`tea`) for issue/PR management
### Installation ### Installation
@@ -63,11 +63,11 @@ make install
### Forgejo Setup ### Forgejo Setup
```bash ```bash
# Install forgejo-cli # Install gitea-cli
brew install forgejo-cli brew install gitea-cli
# Authenticate (one-time) # Authenticate (one-time)
echo "YOUR_TOKEN" | fj -H code.flowmade.one auth add-key username echo "YOUR_TOKEN" | tea -H code.flowmade.one auth add-key username
# Required token scopes: read:user, read:repository, write:issue, write:repository # Required token scopes: read:user, read:repository, write:issue, write:repository
``` ```
@@ -97,7 +97,7 @@ ai/
│ ├── groom.md │ ├── groom.md
│ └── roadmap.md │ └── roadmap.md
├── skills/ # Reusable knowledge modules ├── skills/ # Reusable knowledge modules
│ ├── forgejo/ # Forgejo CLI integration │ ├── gitea/ # Forgejo CLI integration
│ ├── issue-writing/ # Issue structure best practices │ ├── issue-writing/ # Issue structure best practices
│ ├── backlog-grooming/ # Backlog maintenance │ ├── backlog-grooming/ # Backlog maintenance
│ ├── roadmap-planning/ # Feature breakdown │ ├── roadmap-planning/ # Feature breakdown

View File

@@ -29,7 +29,7 @@ Skills are knowledge modules—focused documents that teach Claude how to do som
Examples: Examples:
- `issue-writing`: How to structure clear, actionable issues - `issue-writing`: How to structure clear, actionable issues
- `forgejo`: How to use the Forgejo CLI for issue/PR management - `gitea`: How to use the Gitea CLI for issue/PR management
- `backlog-grooming`: What makes a healthy backlog - `backlog-grooming`: What makes a healthy backlog
Skills don't do anything on their own. They're building blocks. Skills don't do anything on their own. They're building blocks.
@@ -63,11 +63,11 @@ This toolkit is for:
- **Developers using Claude Code** who want consistent, efficient workflows - **Developers using Claude Code** who want consistent, efficient workflows
- **Teams** who want to encode and share their best practices - **Teams** who want to encode and share their best practices
- **Forgejo/Git users** who want seamless issue and PR management integrated into their AI workflow - **Gitea/Git users** who want seamless issue and PR management integrated into their AI workflow
You should have: You should have:
- Claude Code CLI installed - Claude Code CLI installed
- A Forgejo instance (or adapt the tooling for GitHub/GitLab) - A Gitea instance (or adapt the tooling for GitHub/GitLab)
- Interest in treating AI assistance as a structured tool, not just a chat interface - Interest in treating AI assistance as a structured tool, not just a chat interface
## Guiding Principles ## Guiding Principles

View File

@@ -4,7 +4,7 @@ description: Automated code review of pull requests. Reviews PRs for quality, bu
# Model: sonnet provides good code understanding for review tasks. # Model: sonnet provides good code understanding for review tasks.
# The structured output format doesn't require opus-level reasoning. # The structured output format doesn't require opus-level reasoning.
model: sonnet model: sonnet
skills: forgejo, code-review skills: gitea, code-review
--- ---
You are a code review specialist that provides immediate, structured feedback on pull request changes. You are a code review specialist that provides immediate, structured feedback on pull request changes.
@@ -13,8 +13,7 @@ You are a code review specialist that provides immediate, structured feedback on
You will receive a PR number to review. Follow this process: You will receive a PR number to review. Follow this process:
1. Fetch PR diff: `fj pr view <number> diff` (e.g., `fj pr view 42 diff`) 1. Fetch PR diff using the gitea skill
- **Important**: The command is `fj pr view <number> diff`, NOT `fj pr diff <number>`
2. Analyze the diff for issues in these categories: 2. Analyze the diff for issues in these categories:
- **Code Quality**: Readability, maintainability, complexity - **Code Quality**: Readability, maintainability, complexity
- **Bugs**: Logic errors, edge cases, null checks - **Bugs**: Logic errors, edge cases, null checks
@@ -22,8 +21,8 @@ You will receive a PR number to review. Follow this process:
- **Style**: Naming conventions, formatting, consistency - **Style**: Naming conventions, formatting, consistency
- **Test Coverage**: Missing tests, untested edge cases - **Test Coverage**: Missing tests, untested edge cases
3. Generate a structured review comment 3. Generate a structured review comment
4. Post the review via `fj pr comment <number> "<review>"` 4. Post the review as a comment on the PR
5. **If verdict is LGTM**: Auto-merge using `fj pr merge <number> -M rebase -d` (rebase + fast-forward, deletes branch) 5. **If verdict is LGTM**: Auto-merge using rebase style
6. **If verdict is NOT LGTM**: Do not merge; leave for the user to address 6. **If verdict is NOT LGTM**: Do not merge; leave for the user to address
## Review Comment Format ## Review Comment Format

View File

@@ -4,7 +4,7 @@ description: Backlog management and roadmap planning specialist. Use for batch i
# Model: sonnet handles planning and issue-writing well. # Model: sonnet handles planning and issue-writing well.
# Tasks follow structured patterns from skills; opus not required. # Tasks follow structured patterns from skills; opus not required.
model: sonnet model: sonnet
skills: forgejo, issue-writing, backlog-grooming, roadmap-planning skills: gitea, issue-writing, backlog-grooming, roadmap-planning
--- ---
You are a product manager specializing in backlog management and roadmap planning. You are a product manager specializing in backlog management and roadmap planning.
@@ -23,4 +23,4 @@ You can:
- Always fetch current issue state before making changes - Always fetch current issue state before making changes
- Ask for approval before creating or modifying issues - Ask for approval before creating or modifying issues
- Provide clear summaries of actions taken - Provide clear summaries of actions taken
- Use the `fj` CLI for all Forgejo operations - Use the gitea skill for all issue/PR operations

View File

@@ -1,17 +1,19 @@
--- ---
description: Create a new Forgejo issue. Can create single issues or batch create from a plan. description: Create a new Gitea issue. Can create single issues or batch create from a plan.
argument-hint: [title] or "batch" argument-hint: [title] or "batch"
--- ---
# Create Issue(s) # Create Issue(s)
Use the gitea skill.
## Single Issue (default) ## Single Issue (default)
If title provided: `fj issue create "$1" --body "<description>"` If title provided, create an issue with that title and ask for description.
## Batch Mode ## Batch Mode
If $1 is "batch": If $1 is "batch":
1. Ask user for the plan/direction 1. Ask user for the plan/direction
2. Generate list of issues with titles and descriptions 2. Generate list of issues with titles and descriptions
3. Show for approval 3. Show for approval
4. Create each: `fj issue create "<title>" --body "<body>"` 4. Create each issue
5. Display all created issue numbers 5. Display all created issue numbers

View File

@@ -4,9 +4,10 @@ description: Show dashboard of open issues, PRs awaiting review, and CI status.
# Repository Dashboard # Repository Dashboard
Run these commands and present a summary: Use the gitea skill.
1. **Open Issues**: `fj issue search -s open` Fetch and display:
2. **Open PRs**: `fj pr search -s open` 1. All open issues
2. All open PRs
Format as tables showing issue/PR number, title, and author. Format as tables showing number, title, and author.

View File

@@ -5,11 +5,11 @@ argument-hint: [issue-number]
# Groom Issues # Groom Issues
Use the backlog-grooming and issue-writing skills. Use the gitea, backlog-grooming, and issue-writing skills.
## If issue number provided ($1): ## If issue number provided ($1):
1. **Fetch the issue**: `fj issue view $1` 1. **Fetch the issue** details
2. **Evaluate** against grooming checklist 2. **Evaluate** against grooming checklist
3. **Suggest improvements** for: 3. **Suggest improvements** for:
- Title clarity - Title clarity
@@ -17,11 +17,11 @@ Use the backlog-grooming and issue-writing skills.
- Acceptance criteria quality - Acceptance criteria quality
- Scope definition - Scope definition
4. **Ask user** if they want to apply changes 4. **Ask user** if they want to apply changes
5. **Update issue** if approved: `fj issue edit $1 --body "..."` 5. **Update issue** if approved
## If no argument (groom all): ## If no argument (groom all):
1. **List open issues**: `fj issue search -s open` 1. **List open issues**
2. **Review each** against grooming checklist 2. **Review each** against grooming checklist
3. **Categorize**: 3. **Categorize**:
- Ready: Well-defined, can start work - Ready: Well-defined, can start work

View File

@@ -5,7 +5,7 @@ argument-hint: <feature-description>
# Plan Feature: $1 # Plan Feature: $1
Use the roadmap-planning, issue-writing, and forgejo skills. Use the gitea, roadmap-planning, and issue-writing skills.
1. **Understand the feature**: Analyze what "$1" involves 1. **Understand the feature**: Analyze what "$1" involves
2. **Explore the codebase** if needed to understand context 2. **Explore the codebase** if needed to understand context
@@ -29,6 +29,6 @@ Use the roadmap-planning, issue-writing, and forgejo skills.
``` ```
5. **Ask for approval** before creating issues 5. **Ask for approval** before creating issues
6. **Create issues** in order using `fj issue create` 6. **Create issues** in order
7. **Update dependencies** with actual issue numbers after creation 7. **Update dependencies** with actual issue numbers after creation
8. **Present summary** with links to created issues 8. **Present summary** with links to created issues

View File

@@ -1,12 +1,14 @@
--- ---
description: Review a Forgejo pull request. Fetches PR details, diff, and comments. description: Review a Gitea pull request. Fetches PR details, diff, and comments.
argument-hint: <pr-number> argument-hint: <pr-number>
--- ---
# Review PR #$1 # Review PR #$1
1. **View PR details**: `fj pr view $1` Use the gitea skill.
2. **Get the diff**: `fj pr view $1 diff`
1. **View PR details** including description and metadata
2. **Get the diff** to review the changes
Review the changes and provide feedback on: Review the changes and provide feedback on:
- Code quality - Code quality
@@ -15,6 +17,6 @@ Review the changes and provide feedback on:
- Documentation - Documentation
Ask the user what action to take: Ask the user what action to take:
- **Merge**: Post review summary as comment, then `fj pr merge $1 -M rebase -d` (rebase + fast-forward, deletes branch) - **Merge**: Post review summary as comment, then merge with rebase style
- **Request changes**: `fj pr comment $1 "<feedback>"` - Leave feedback without merging - **Request changes**: Leave feedback without merging
- **Comment only**: `fj pr comment $1 "<comment>"` - Add a comment for discussion - **Comment only**: Add a comment for discussion

View File

@@ -4,9 +4,9 @@ description: View current issues as a roadmap. Shows open issues organized by st
# Roadmap View # Roadmap View
Use the forgejo skill. Use the gitea skill.
1. **Fetch all open issues**: `fj issue search -s open` 1. **Fetch all open issues**
2. **Analyze dependencies** from issue descriptions 2. **Analyze dependencies** from issue descriptions
3. **Categorize issues**: 3. **Categorize issues**:
- Blocked: Waiting on other issues - Blocked: Waiting on other issues

View File

@@ -1,15 +1,17 @@
--- ---
description: Work on a Forgejo issue. Fetches issue details and sets up branch for implementation. description: Work on a Gitea issue. Fetches issue details and sets up branch for implementation.
argument-hint: <issue-number> argument-hint: <issue-number>
--- ---
# Work on Issue #$1 # Work on Issue #$1
1. **View the issue**: `fj issue view $1` Use the gitea skill.
1. **View the issue** to understand requirements
2. **Create a branch**: `git checkout -b issue-$1-<short-kebab-title>` 2. **Create a branch**: `git checkout -b issue-$1-<short-kebab-title>`
3. **Plan**: Use TodoWrite to break down the work based on acceptance criteria 3. **Plan**: Use TodoWrite to break down the work based on acceptance criteria
4. **Implement** the changes 4. **Implement** the changes
5. **Commit** with message referencing the issue 5. **Commit** with message referencing the issue
6. **Push**: `git push -u origin <branch>` 6. **Push** the branch to origin
7. **Create PR**: `fj pr create "[Issue #$1] <title>" --body "Closes #$1"` 7. **Create PR** with title "[Issue #$1] <title>" and body "Closes #$1"
8. **Auto-review**: Inform the user that auto-review is starting, then spawn the `code-reviewer` agent in background (using `run_in_background: true`) with the PR number 8. **Auto-review**: Inform the user that auto-review is starting, then spawn the `code-reviewer` agent in background (using `run_in_background: true`) with the PR number

View File

@@ -78,7 +78,7 @@ Agents gain their expertise by combining multiple skills. Each skill contributes
│ Product Manager Agent │ │ Product Manager Agent │
│ │ │ │
│ ┌──────────┐ ┌──────────────┐ │ │ ┌──────────┐ ┌──────────────┐ │
│ │ forgejo │ │issue-writing │ │ │ │ gitea │ │issue-writing │ │
│ │ │ │ │ │ │ │ │ │ │ │
│ │ CLI │ │ Structure │ │ │ │ CLI │ │ Structure │ │
│ │ commands │ │ patterns │ │ │ │ commands │ │ patterns │ │
@@ -95,7 +95,7 @@ Agents gain their expertise by combining multiple skills. Each skill contributes
``` ```
The agent can: The agent can:
- Use **forgejo** to interact with issues and PRs - Use **gitea** to interact with issues and PRs
- Apply **issue-writing** patterns when creating content - Apply **issue-writing** patterns when creating content
- Follow **backlog-grooming** checklists when reviewing - Follow **backlog-grooming** checklists when reviewing
- Use **roadmap-planning** strategies when breaking down features - Use **roadmap-planning** strategies when breaking down features
@@ -106,9 +106,9 @@ When skills combine, new capabilities emerge:
| Skills Combined | Emergent Capability | | Skills Combined | Emergent Capability |
|-----------------|---------------------| |-----------------|---------------------|
| forgejo + issue-writing | Create well-structured issues programmatically | | gitea + issue-writing | Create well-structured issues programmatically |
| backlog-grooming + issue-writing | Improve existing issues systematically | | backlog-grooming + issue-writing | Improve existing issues systematically |
| roadmap-planning + forgejo | Plan and create linked issue hierarchies | | roadmap-planning + gitea | Plan and create linked issue hierarchies |
| All four skills | Full backlog management lifecycle | | All four skills | Full backlog management lifecycle |
## Use Cases for Agents ## Use Cases for Agents
@@ -225,7 +225,7 @@ Command spawns product-manager agent
|----------|--------|--------| |----------|--------|--------|
| Create one issue | No | Single skill, simple task | | Create one issue | No | Single skill, simple task |
| Review 20 issues | Yes | Batch processing, isolation | | Review 20 issues | Yes | Batch processing, isolation |
| Quick CLI lookup | No | Just need forgejo reference | | Quick CLI lookup | No | Just need gitea reference |
| Plan new feature | Yes | Multiple skills, exploration | | Plan new feature | Yes | Multiple skills, exploration |
| Fix issue title | No | Trivial edit | | Fix issue title | No | Trivial edit |
| Reorganize backlog | Yes | Complex, multi-skill workflow | | Reorganize backlog | Yes | Complex, multi-skill workflow |
@@ -245,14 +245,14 @@ Specialized agent for backlog management and roadmap planning.
```markdown ```markdown
## Skills ## Skills
- forgejo - gitea
- issue-writing - issue-writing
- backlog-grooming - backlog-grooming
- roadmap-planning - roadmap-planning
``` ```
**Skills section** lists all knowledge the agent has access to. These skills are loaded into the agent's context when spawned. The combination enables: **Skills section** lists all knowledge the agent has access to. These skills are loaded into the agent's context when spawned. The combination enables:
- Reading/writing issues (forgejo) - Reading/writing issues (gitea)
- Creating quality content (issue-writing) - Creating quality content (issue-writing)
- Evaluating existing issues (backlog-grooming) - Evaluating existing issues (backlog-grooming)
- Planning work strategically (roadmap-planning) - Planning work strategically (roadmap-planning)
@@ -270,7 +270,7 @@ This agent can:
**Capabilities section** tells spawners what to expect. Each capability maps to skill combinations: **Capabilities section** tells spawners what to expect. Each capability maps to skill combinations:
- "Review and improve" = backlog-grooming + issue-writing - "Review and improve" = backlog-grooming + issue-writing
- "Create new issues" = forgejo + issue-writing - "Create new issues" = gitea + issue-writing
- "Analyze backlog" = backlog-grooming + roadmap-planning - "Analyze backlog" = backlog-grooming + roadmap-planning
- "Plan breakdowns" = roadmap-planning + issue-writing - "Plan breakdowns" = roadmap-planning + issue-writing
@@ -296,7 +296,7 @@ Spawn this agent for:
- Always fetches current issue state before making changes - Always fetches current issue state before making changes
- Asks for approval before creating or modifying issues - Asks for approval before creating or modifying issues
- Provides clear summaries of actions taken - Provides clear summaries of actions taken
- Uses the fj CLI for all Forgejo operations - Uses the tea CLI for all Forgejo operations
``` ```
**Behavior section** sets operational rules. These ensure: **Behavior section** sets operational rules. These ensure:
@@ -368,7 +368,7 @@ These examples show recommended model configurations for different agent types:
--- ---
name: code-reviewer name: code-reviewer
model: sonnet model: sonnet
skills: forgejo, code-review skills: gitea, code-review
--- ---
``` ```
Code review requires understanding code patterns and conventions but rarely needs the deepest reasoning. Sonnet provides good balance. Code review requires understanding code patterns and conventions but rarely needs the deepest reasoning. Sonnet provides good balance.
@@ -421,7 +421,7 @@ Include only skills the agent needs. More skills = more context = potential conf
**Too many skills:** **Too many skills:**
```markdown ```markdown
## Skills ## Skills
- forgejo - gitea
- issue-writing - issue-writing
- backlog-grooming - backlog-grooming
- roadmap-planning - roadmap-planning
@@ -434,7 +434,7 @@ Include only skills the agent needs. More skills = more context = potential conf
**Right-sized:** **Right-sized:**
```markdown ```markdown
## Skills ## Skills
- forgejo - gitea
- issue-writing - issue-writing
- backlog-grooming - backlog-grooming
- roadmap-planning - roadmap-planning

View File

@@ -66,19 +66,21 @@ The body contains the workflow steps that Claude follows when the command is inv
```markdown ```markdown
--- ---
description: Work on a Forgejo issue. Fetches issue details and sets up branch. description: Work on a Gitea issue. Fetches issue details and sets up branch.
argument-hint: <issue-number> argument-hint: <issue-number>
--- ---
# Work on Issue #$1 # Work on Issue #$1
1. **View the issue**: `fj issue view $1` Use the gitea skill.
1. **View the issue** to understand requirements
2. **Create a branch**: `git checkout -b issue-$1-<short-kebab-title>` 2. **Create a branch**: `git checkout -b issue-$1-<short-kebab-title>`
3. **Plan**: Use TodoWrite to break down the work 3. **Plan**: Use TodoWrite to break down the work
4. **Implement** the changes 4. **Implement** the changes
5. **Commit** with message referencing the issue 5. **Commit** with message referencing the issue
6. **Push**: `git push -u origin <branch>` 6. **Push** the branch to origin
7. **Create PR**: `fj pr create "[Issue #$1] <title>" --body "Closes #$1"` 7. **Create PR** with title "[Issue #$1] <title>" and body "Closes #$1"
``` ```
## Argument Handling ## Argument Handling
@@ -95,13 +97,13 @@ When users invoke a command with arguments:
The system provides the arguments via the `$1`, `$2`, etc. placeholders in the command body: The system provides the arguments via the `$1`, `$2`, etc. placeholders in the command body:
```markdown ```markdown
# Work on Issue #$1 # Work on Issue #$1
1. **View the issue**: `fj issue view $1` 1. **View the issue** to understand requirements
``` ```
Becomes: Becomes:
```markdown ```markdown
# Work on Issue #42 # Work on Issue #42
1. **View the issue**: `fj issue view 42` 1. **View the issue** to understand requirements
``` ```
### Argument Hints ### Argument Hints
@@ -136,13 +138,15 @@ argument-hint: [issue-number]
# Groom Issues # Groom Issues
Use the gitea skill.
## If issue number provided ($1): ## If issue number provided ($1):
1. **Fetch the issue**: `fj issue view $1` 1. **Fetch the issue** details
2. **Evaluate** against checklist 2. **Evaluate** against checklist
... ...
## If no argument (groom all): ## If no argument (groom all):
1. **List open issues**: `fj issue search -s open` 1. **List open issues**
2. **Review each** against checklist 2. **Review each** against checklist
... ...
``` ```
@@ -159,8 +163,10 @@ argument-hint: [title] or "batch"
# Create Issue(s) # Create Issue(s)
Use the gitea skill.
## Single Issue (default) ## Single Issue (default)
If title provided: `fj issue create "$1" --body "<description>"` If title provided, create an issue with that title.
## Batch Mode ## Batch Mode
If $1 is "batch": If $1 is "batch":
@@ -179,24 +185,24 @@ Commands reference skills by name to gain domain knowledge. When a skill is refe
```markdown ```markdown
# Groom Issues # Groom Issues
Use the **backlog-grooming** and **issue-writing** skills. Use the **gitea**, **backlog-grooming**, and **issue-writing** skills.
1. **Fetch the issue**: `fj issue view $1` 1. **Fetch the issue** details
2. **Evaluate** against grooming checklist 2. **Evaluate** against grooming checklist
... ...
``` ```
The phrase "Use the backlog-grooming and issue-writing skills" tells Claude to read and apply knowledge from both skill files. The phrase "Use the gitea, backlog-grooming and issue-writing skills" tells Claude to read and apply knowledge from those skill files.
### Implicit Reference ### Skill-Based Approach
Skills can also be used implicitly via tool references: Commands should reference skills rather than embedding CLI commands directly:
```markdown ```markdown
1. **View the issue**: `fj issue view $1` 1. **Fetch the issue** details
``` ```
This implicitly uses knowledge from the `forgejo` skill (knowing the `fj` command syntax). This relies on the `gitea` skill to provide the CLI knowledge.
### When to Reference Skills ### When to Reference Skills
@@ -247,7 +253,7 @@ Always ask for approval before significant actions:
```markdown ```markdown
5. **Ask for approval** before creating issues 5. **Ask for approval** before creating issues
6. **Create issues** in order using `fj issue create` 6. **Create issues** in order
``` ```
Common approval points: Common approval points:
@@ -261,9 +267,9 @@ When the command leads to multiple possible actions:
```markdown ```markdown
Ask the user what action to take: Ask the user what action to take:
- **Merge**: `fj pr merge $1` - Approve and merge the PR - **Merge**: Approve and merge the PR
- **Request changes**: `fj pr comment $1 "<feedback>"` - Leave feedback - **Request changes**: Leave feedback without merging
- **Comment only**: `fj pr comment $1 "<comment>"` - Add a comment - **Comment only**: Add a comment for discussion
``` ```
### Gathering Input ### Gathering Input
@@ -301,27 +307,29 @@ Let's examine existing commands to understand effective patterns.
```markdown ```markdown
--- ---
description: Work on a Forgejo issue. Fetches issue details and sets up branch. description: Work on a Gitea issue. Fetches issue details and sets up branch.
argument-hint: <issue-number> argument-hint: <issue-number>
--- ---
# Work on Issue #$1 # Work on Issue #$1
1. **View the issue**: `fj issue view $1` Use the gitea skill.
1. **View the issue** to understand requirements
2. **Create a branch**: `git checkout -b issue-$1-<short-kebab-title>` 2. **Create a branch**: `git checkout -b issue-$1-<short-kebab-title>`
3. **Plan**: Use TodoWrite to break down the work 3. **Plan**: Use TodoWrite to break down the work
4. **Implement** the changes 4. **Implement** the changes
5. **Commit** with message referencing the issue 5. **Commit** with message referencing the issue
6. **Push**: `git push -u origin <branch>` 6. **Push** the branch to origin
7. **Create PR**: `fj pr create "[Issue #$1] <title>" --body "Closes #$1"` 7. **Create PR** with title "[Issue #$1] <title>" and body "Closes #$1"
``` ```
**Key patterns:** **Key patterns:**
- **Linear workflow**: Clear numbered steps in order - **Linear workflow**: Clear numbered steps in order
- **Required argument**: `<issue-number>` means must provide - **Required argument**: `<issue-number>` means must provide
- **Variable substitution**: `$1` used throughout - **Variable substitution**: `$1` used throughout
- **Tool integration**: Git and fj commands specified - **Skill reference**: Uses gitea skill for CLI knowledge
- **No explicit skill reference**: Uses forgejo knowledge implicitly - **Git integration**: Branch and push steps specified
### Example 2: dashboard (No Arguments) ### Example 2: dashboard (No Arguments)
@@ -332,10 +340,11 @@ description: Show dashboard of open issues, PRs awaiting review, and CI status.
# Repository Dashboard # Repository Dashboard
Run these commands and present a summary: Use the gitea skill.
1. **Open Issues**: `fj issue search -s open` Fetch and display:
2. **Open PRs**: `fj pr search -s open` 1. All open issues
2. All open PRs
Format as tables showing issue/PR number, title, and author. Format as tables showing issue/PR number, title, and author.
``` ```
@@ -356,20 +365,20 @@ argument-hint: [issue-number]
# Groom Issues # Groom Issues
Use the backlog-grooming and issue-writing skills. Use the gitea, backlog-grooming, and issue-writing skills.
## If issue number provided ($1): ## If issue number provided ($1):
1. **Fetch the issue**: `fj issue view $1` 1. **Fetch the issue** details
2. **Evaluate** against grooming checklist 2. **Evaluate** against grooming checklist
3. **Suggest improvements** for: 3. **Suggest improvements** for:
- Title clarity - Title clarity
- Description completeness - Description completeness
- Acceptance criteria quality - Acceptance criteria quality
4. **Ask user** if they want to apply changes 4. **Ask user** if they want to apply changes
5. **Update issue** if approved: `fj issue edit $1 --body "..."` 5. **Update issue** if approved
## If no argument (groom all): ## If no argument (groom all):
1. **List open issues**: `fj issue search -s open` 1. **List open issues**
2. **Review each** against grooming checklist 2. **Review each** against grooming checklist
3. **Categorize**: Ready / Needs work / Stale 3. **Categorize**: Ready / Needs work / Stale
4. **Present summary** table 4. **Present summary** table
@@ -379,7 +388,7 @@ Use the backlog-grooming and issue-writing skills.
**Key patterns:** **Key patterns:**
- **Optional argument**: `[issue-number]` with brackets - **Optional argument**: `[issue-number]` with brackets
- **Mode switching**: Different behavior based on argument presence - **Mode switching**: Different behavior based on argument presence
- **Explicit skill reference**: "Use the backlog-grooming and issue-writing skills" - **Explicit skill reference**: "Use the gitea, backlog-grooming and issue-writing skills"
- **Approval workflow**: "Ask user if they want to apply changes" - **Approval workflow**: "Ask user if they want to apply changes"
- **Categorization**: Groups items for presentation - **Categorization**: Groups items for presentation
@@ -393,7 +402,7 @@ argument-hint: <feature-description>
# Plan Feature: $1 # Plan Feature: $1
Use the roadmap-planning, issue-writing, and forgejo skills. Use the gitea, roadmap-planning, and issue-writing skills.
1. **Understand the feature**: Analyze what "$1" involves 1. **Understand the feature**: Analyze what "$1" involves
2. **Explore the codebase** if needed to understand context 2. **Explore the codebase** if needed to understand context
@@ -407,7 +416,7 @@ Use the roadmap-planning, issue-writing, and forgejo skills.
... ...
``` ```
5. **Ask for approval** before creating issues 5. **Ask for approval** before creating issues
6. **Create issues** in order using `fj issue create` 6. **Create issues** in order
7. **Update dependencies** with actual issue numbers 7. **Update dependencies** with actual issue numbers
8. **Present summary** with links to created issues 8. **Present summary** with links to created issues
``` ```
@@ -423,15 +432,16 @@ Use the roadmap-planning, issue-writing, and forgejo skills.
```markdown ```markdown
--- ---
description: Review a Forgejo pull request. Fetches PR details, diff, and comments. description: Review a Gitea pull request. Fetches PR details, diff, and comments.
argument-hint: <pr-number> argument-hint: <pr-number>
--- ---
# Review PR #$1 # Review PR #$1
1. **View PR details**: `fj pr view $1` Use the gitea skill.
2. **Check status**: `fj pr status $1`
3. **Get the diff**: `fj pr view $1 diff` 1. **View PR details** including description and metadata
2. **Get the diff** to review the changes
Review the changes and provide feedback on: Review the changes and provide feedback on:
- Code quality - Code quality
@@ -440,13 +450,13 @@ Review the changes and provide feedback on:
- Documentation - Documentation
Ask the user what action to take: Ask the user what action to take:
- **Merge**: `fj pr merge $1` - Approve and merge the PR - **Merge**: Approve and merge the PR
- **Request changes**: `fj pr comment $1 "<feedback>"` - Leave feedback - **Request changes**: Leave feedback without merging
- **Comment only**: `fj pr comment $1 "<comment>"` - Add a comment - **Comment only**: Add a comment for discussion
``` ```
**Key patterns:** **Key patterns:**
- **Information gathering**: Multiple commands to get context - **Information gathering**: Fetches context before analysis
- **Review criteria**: Checklist of what to examine - **Review criteria**: Checklist of what to examine
- **Action menu**: Clear choices with explanations - **Action menu**: Clear choices with explanations
- **User decides outcome**: Command presents options, user chooses - **User decides outcome**: Command presents options, user chooses
@@ -497,7 +507,7 @@ Each step should be unambiguous:
**Clear:** **Clear:**
```markdown ```markdown
1. **View the issue**: `fj issue view $1` 1. **View the issue** to understand requirements
2. **Create a branch**: `git checkout -b issue-$1-<title>` 2. **Create a branch**: `git checkout -b issue-$1-<title>`
3. **Plan**: Use TodoWrite to break down the work 3. **Plan**: Use TodoWrite to break down the work
``` ```
@@ -513,9 +523,7 @@ List the open issues.
**Showing:** **Showing:**
```markdown ```markdown
**Open Issues**: `fj issue search -s open` Fetch all open issues and format as table:
Format as table:
| # | Title | Author | | # | Title | Author |
|---|-------|--------| |---|-------|--------|
``` ```
@@ -526,7 +534,7 @@ Never modify resources without user approval:
```markdown ```markdown
4. **Present plan** for approval 4. **Present plan** for approval
5. **If approved**, create issues using `fj issue create` 5. **If approved**, create the issues
``` ```
### 4. Handle Edge Cases ### 4. Handle Edge Cases
@@ -535,7 +543,7 @@ Consider what happens when things are empty or unexpected:
```markdown ```markdown
## If no argument (groom all): ## If no argument (groom all):
1. **List open issues**: `fj issue search -s open` 1. **List open issues**
2. If no issues found, report "No open issues to groom" 2. If no issues found, report "No open issues to groom"
3. Otherwise, **review each** against checklist 3. Otherwise, **review each** against checklist
``` ```

View File

@@ -14,7 +14,7 @@ Skills live in the `skills/` directory, each in its own folder:
``` ```
skills/ skills/
├── forgejo/ ├── gitea/
│ └── SKILL.md │ └── SKILL.md
├── issue-writing/ ├── issue-writing/
│ └── SKILL.md │ └── SKILL.md
@@ -75,7 +75,7 @@ Document pitfalls to avoid.
Quick-reference tables, checklists, or commands. Quick-reference tables, checklists, or commands.
``` ```
Not every skill needs all sections—include what's relevant. Some skills are primarily patterns (like `issue-writing`), others are reference-heavy (like `forgejo`). Not every skill needs all sections—include what's relevant. Some skills are primarily patterns (like `issue-writing`), others are reference-heavy (like `gitea`).
## How Skills are Loaded ## How Skills are Loaded
@@ -103,7 +103,7 @@ Agents list their skills explicitly:
# Product Manager Agent # Product Manager Agent
## Skills ## Skills
- forgejo - gitea
- issue-writing - issue-writing
- backlog-grooming - backlog-grooming
- roadmap-planning - roadmap-planning
@@ -121,7 +121,7 @@ Skills can mention other skills for related knowledge:
... ...
When creating issues, follow the patterns in the **issue-writing** skill. When creating issues, follow the patterns in the **issue-writing** skill.
Use **forgejo** commands to create the issues. Use **gitea** commands to create the issues.
``` ```
This creates a natural knowledge hierarchy without duplicating content. This creates a natural knowledge hierarchy without duplicating content.
@@ -136,7 +136,7 @@ This creates a natural knowledge hierarchy without duplicating content.
- Avoid generic names: `utils`, `helpers`, `common` - Avoid generic names: `utils`, `helpers`, `common`
Good names: Good names:
- `forgejo` - Tool-specific knowledge - `gitea` - Tool-specific knowledge
- `issue-writing` - Activity-focused - `issue-writing` - Activity-focused
- `backlog-grooming` - Process-focused - `backlog-grooming` - Process-focused
- `roadmap-planning` - Task-focused - `roadmap-planning` - Task-focused
@@ -147,7 +147,7 @@ The H1 title in `SKILL.md` should match the folder name in Title Case:
| Folder | Title | | Folder | Title |
|--------|-------| |--------|-------|
| `forgejo` | Forgejo CLI (fj) | | `gitea` | Forgejo CLI (fj) |
| `issue-writing` | Issue Writing | | `issue-writing` | Issue Writing |
| `backlog-grooming` | Backlog Grooming | | `backlog-grooming` | Backlog Grooming |
| `roadmap-planning` | Roadmap Planning | | `roadmap-planning` | Roadmap Planning |
@@ -266,9 +266,9 @@ Skills should reflect current practices. When workflows change:
Let's examine the existing skills to understand effective patterns. Let's examine the existing skills to understand effective patterns.
### Example 1: forgejo (Tool Reference) ### Example 1: gitea (Tool Reference)
The `forgejo` skill is a **tool reference**—it documents how to use a specific CLI tool. The `gitea` skill is a **tool reference**—it documents how to use a specific CLI tool.
```markdown ```markdown
# Forgejo CLI (fj) # Forgejo CLI (fj)
@@ -276,15 +276,15 @@ The `forgejo` skill is a **tool reference**—it documents how to use a specific
Command-line interface for interacting with Forgejo repositories. Command-line interface for interacting with Forgejo repositories.
## Authentication ## Authentication
The `fj` CLI authenticates via `fj auth login`. Credentials are stored locally. The `tea` CLI authenticates via `tea auth login`. Credentials are stored locally.
## Common Commands ## Common Commands
### Issues ### Issues
\```bash \```bash
# List issues # List issues
fj issue search -s open # Open issues tea issue search -s open # Open issues
fj issue search -s closed # Closed issues tea issue search -s closed # Closed issues
... ...
\``` \```
``` ```

View File

@@ -60,11 +60,13 @@ If issue covers multiple features, split into separate issues.
## Grooming Workflow ## Grooming Workflow
1. **Fetch open issues**: `fj issue search -s open` Use the gitea skill for issue operations.
1. **Fetch open issues**
2. **Review each issue** against checklist 2. **Review each issue** against checklist
3. **Improve or flag** issues that need work 3. **Improve or flag** issues that need work
4. **Update issue** with improvements: `fj issue edit <n> --body "..."` 4. **Update issue** with improvements
5. **Add labels** as needed: `fj issue label add <n> <label>` 5. **Add labels** as needed
## Questions to Ask ## Questions to Ask

View File

@@ -1,86 +0,0 @@
# Forgejo CLI (fj)
Command-line interface for interacting with Forgejo repositories.
## Authentication
The `fj` CLI authenticates via `fj auth login`. Credentials are stored locally by fj.
## Repository Detection
`fj` automatically detects the repository from git remotes when run inside a git repository.
## Common Commands
### Issues
```bash
# List issues
fj issue search -s open # Open issues
fj issue search -s closed # Closed issues
fj issue search # All issues
# View issue details
fj issue view <number> # Full issue details
# Create issue
fj issue create "<title>" --body "<body>"
# Edit issue
fj issue edit <number> --title "<new-title>"
fj issue edit <number> --body "<new-body>"
# Close/reopen
fj issue close <number>
fj issue reopen <number>
# Labels
fj issue label add <number> <label>
fj issue label remove <number> <label>
```
### Pull Requests
```bash
# List PRs
fj pr search -s open # Open PRs
fj pr search -s closed # Closed/merged PRs
# View PR
fj pr view <number> # PR details
fj pr view <number> diff # PR diff
# Create PR
fj pr create "<title>" --body "<body>"
fj pr create "<title>" --body "Closes #<issue>"
# Comment on PR
fj pr comment <number> "<comment>"
# Merge
fj pr merge <number> # Default merge
fj pr merge <number> -d # Delete branch after merge
fj pr merge <number> -M squash # Squash commits
fj pr merge <number> -M rebase # Rebase commits
fj pr merge <number> -M rebase-merge # Rebase then merge commit
```
### Repository
```bash
fj repo view # Repository info
fj repo clone <owner>/<repo> # Clone repository
```
## Output Formatting
Most commands support `--output` flag:
- `--output json` - Machine-readable JSON
- `--output table` - Tabular format (default for lists)
- `--output simple` - Plain text
## Tips
- Always verify you're in the correct repository before running commands
- Use `fj issue search` to find issue numbers before viewing/editing
- Reference issues in PR bodies with `Closes #N` for auto-linking

159
skills/gitea/SKILL.md Normal file
View File

@@ -0,0 +1,159 @@
# Gitea CLI (tea)
Command-line interface for interacting with Gitea repositories.
## Installation
```bash
brew install tea
```
## Authentication
The `tea` CLI authenticates via `tea logins add`. Credentials are stored locally by tea.
```bash
tea logins add # Interactive login
tea logins add --url <url> --token <token> --name <name> # Non-interactive
tea logins list # Show configured logins
tea logins default <name> # Set default login
```
## Configuration
Config is stored at `~/Library/Application Support/tea/config.yml` (macOS).
To avoid needing `--login` on every command, set defaults:
```yaml
preferences:
editor: false
flag_defaults:
remote: origin
login: git.flowmade.one
```
## Repository Detection
`tea` automatically detects the repository from git remotes when run inside a git repository. Use `--remote <name>` to specify which remote to use.
## Common Commands
### Issues
```bash
# List issues
tea issues # Open issues (default)
tea issues --state all # All issues
tea issues --state closed # Closed issues
# View issue details
tea issues <number> # Full issue details
tea issues <number> --comments # Include comments
# Create issue
tea issues create --title "<title>" --description "<body>"
tea issues create -t "<title>" -d "<body>"
# Edit issue
tea issues edit <number> --title "<new-title>"
tea issues edit <number> --description "<new-body>"
# Close/reopen
tea issues close <number>
tea issues reopen <number>
# Labels
tea issues edit <number> --labels "bug,help wanted"
```
### Pull Requests
```bash
# List PRs
tea pulls # Open PRs (default)
tea pulls --state all # All PRs
tea pulls --state closed # Closed/merged PRs
# View PR
tea pulls <number> # PR details
tea pulls <number> --comments # Include comments
tea pulls <number> -f diff # PR diff
# Create PR
tea pulls create --title "<title>" --description "<body>"
tea pulls create -t "<title>" -d "<body>"
tea pulls create -t "<title>" -d "Closes #<issue>"
tea pulls create --head <branch> --base main -t "<title>"
# Checkout PR locally
tea pulls checkout <number>
# Review/Approve
tea pulls approve <number> # Approve PR (LGTM)
tea pulls reject <number> # Request changes
tea pulls review <number> # Interactive review
# Merge
tea pulls merge <number> # Default merge
tea pulls merge <number> --style squash # Squash commits
tea pulls merge <number> --style rebase # Rebase commits
tea pulls merge <number> --style rebase-merge # Rebase then merge
# Clean up after merge
tea pulls clean <number> # Delete local & remote branch
```
### Repository
```bash
tea repos # List repos
tea repos <owner>/<repo> # Repository info
tea clone <owner>/<repo> # Clone repository
```
### Notifications
```bash
tea notifications # List notifications
tea notifications --mine # Only participating
```
## Output Formatting
Most commands support `--output` or `-o` flag:
- `-o simple` - Plain text
- `-o table` - Tabular format (default)
- `-o json` - Machine-readable JSON
- `-o yaml` - YAML format
- `-o csv` - CSV format
## Specifying Remote/Login
```bash
tea issues --remote gitea # Use specific git remote
tea issues --login myserver # Use specific login
tea issues -r owner/repo # Specify repo directly
```
## Tips
- Always verify you're in the correct repository before running commands
- Use `tea issues` to find issue numbers before viewing/editing
- Reference issues in PR bodies with `Closes #N` for auto-linking
- Use `--remote gitea` when you have multiple remotes (e.g., origin + gitea)
- The `tea pulls checkout` command is handy for reviewing PRs locally
## Actions (API only)
Note: `tea` CLI does not yet support actions/CI commands. Use the Gitea API directly:
```bash
# List workflow runs
curl -H "Authorization: token $TOKEN" \
"https://git.flowmade.one/api/v1/repos/{owner}/{repo}/actions/runs"
# Get job logs
curl -H "Authorization: token $TOKEN" \
"https://git.flowmade.one/api/v1/repos/{owner}/{repo}/actions/jobs/{job_id}/logs"
```

View File

@@ -75,25 +75,15 @@ In issue descriptions:
- Depends on #13 (API setup) - Depends on #13 (API setup)
``` ```
## Creating Issues with fj ## Creating Issues
Use the gitea skill for issue operations.
### Single Issue ### Single Issue
```bash Create with a descriptive title and structured body:
fj issue create "Add user authentication endpoint" --body "$(cat <<'EOF' - Summary section
## Summary - Acceptance criteria (testable checkboxes)
Create POST /api/auth/login endpoint for user authentication. - Dependencies section referencing blocking issues
## Acceptance Criteria
- [ ] Endpoint accepts email and password
- [ ] Returns JWT token on success
- [ ] Returns 401 on invalid credentials
- [ ] Rate limits login attempts
## Dependencies
- Depends on #5 (user model)
EOF
)"
```
### Batch Creation ### Batch Creation
When creating multiple related issues: When creating multiple related issues:
@@ -104,7 +94,7 @@ When creating multiple related issues:
## Roadmap View ## Roadmap View
To see current roadmap: To see current roadmap:
1. List open issues: `fj issue search -s open` 1. List open issues using the gitea skill
2. Group by labels/milestones 2. Group by labels/milestones
3. Identify blocked vs ready issues 3. Identify blocked vs ready issues
4. Prioritize based on dependencies and value 4. Prioritize based on dependencies and value