PHASE 1 COMPLETE: Global Label Schema - Created 34 standardized labels via Gitea API - 6 status labels (scoped) - 4 priority labels (scoped) - 6 type labels (scoped) - 9 area labels (non-scoped) - 3 assignment labels (for Holly/Meg/Michael) - 3 special labels Labels successfully applied to operations manual repository. PHASE 2-5 DOCUMENTED: - Organization-level project creation (manual via web UI) - Issue creation workflow (web UI + tea CLI) - Issue templates (YAML examples for bug reports and tasks) - n8n automation plans (Discord notifications, auto-labeling) COMPLETE SETUP GUIDE: - Step-by-step instructions for creating Kanban project - Workflow examples (Holly gets task, bug report, feature request) - Migration plan from tasks.md to Gitea Issues - Benefits of Gitea-native approach vs Plane.io DECOMMISSIONED: - Plane.io integration (Task #48 = WON'T DO) - No external sync needed - Single source of truth = Gitea Related to Gemini's architectural brief and shift to stateless Gitea-native lifecycle management. Next: Michael to create org project via web UI, then we migrate tasks from tasks.md to Gitea Issues.
13 KiB
Gitea-Native Project Management — Setup Guide
Created: March 19, 2026
Purpose: Single source of truth for all Firefrost Gaming task management
Philosophy: If it's not a Gitea Issue, it doesn't exist
Phase 1: ✅ Global Label Schema (COMPLETE)
Status: All 34 labels created in firefrost-operations-manual repository
Label Categories Created:
STATUS Labels (Scoped — only one can be applied):
status/backlog— Not yet started, in backlogstatus/to-do— Ready to start, in queuestatus/in-progress— Currently being worked onstatus/review— Work complete, awaiting reviewstatus/blocked— Cannot proceed, blocked by dependencystatus/done— Completed and closed
PRIORITY Labels (Scoped):
priority/critical— Emergency, immediate attentionpriority/high— Important, address soonpriority/medium— Normal prioritypriority/low— Nice to have, not urgent
TYPE Labels (Scoped):
type/bug— Something isn't workingtype/feature— New feature or enhancementtype/task— General task or work itemtype/docs— Documentation improvementstype/infrastructure— Infrastructure/deployment/DevOpstype/refactor— Code refactoring or technical debt
AREA Labels (Non-scoped — multiple can be applied):
area/panel— Pterodactyl Panelarea/wings— Pterodactyl Wingsarea/billing— Paymenter billing systemarea/email— Mailcow email systemarea/website— Ghost CMS websitearea/automation— n8n workflows and automationarea/networking— Network infrastructurearea/game-servers— Minecraft or other game serversarea/operations— General operations and documentation
ASSIGNMENT Labels (Non-scoped):
for/holly— Assigned to Holly (unicorn20089)for/meg— Assigned to Meg (GingerFury)for/michael— Assigned to Michael (Frostystyle)
SPECIAL Labels (Non-scoped):
help-wanted— Extra attention neededgood-first-issue— Good for newcomerswont-do— This will not be worked on
To View Labels:
- Go to: https://git.firefrostgaming.com/firefrost-gaming/firefrost-operations-manual
- Click "Labels" in the navigation
- You'll see all 34 labels with colors and descriptions
Phase 2: Create Organization-Level Project (MANUAL SETUP REQUIRED)
Note: Gitea's Project API is not fully available in v1.21.5, so this must be done via web UI.
Step-by-Step:
1. Navigate to Organization
- Go to: https://git.firefrostgaming.com/firefrost-gaming
- Click "Projects" tab at the top
2. Create New Project
- Click "New Project" button (green, top right)
- Fill in details:
- Title:
Firefrost Operations - Description:
Organization-wide task management for Firefrost Gaming infrastructure, operations, and development - Template: Select "Basic Kanban"
- Card Previews: Leave as default or select "Images and Text"
- Title:
3. Click "Create Project"
4. Customize Kanban Columns
Default columns may be generic. You can rename/add columns:
- Click on a column name to rename
- Click "New Column" to add more
Recommended Columns:
- Backlog — Tasks not yet ready to start
- To Do — Ready to work on, prioritized
- In Progress — Currently being worked on
- Review — Awaiting review or approval
- Done — Completed tasks
Phase 3: Create Issues and Add to Project
Creating an Issue:
Method 1: Via Web UI
- Go to any repository (e.g., operations manual)
- Click "Issues" tab
- Click "New Issue"
- Fill in:
- Title: Clear, actionable title
- Description: Detailed explanation (use Markdown)
- Labels: Select appropriate labels (status, priority, type, area)
- Projects: Select "Firefrost Operations"
- Assignees: Assign to yourself, Holly, or Meg
- Milestone: (optional, for grouping related tasks)
- Click "Create Issue"
Method 2: Via Gitea CLI (tea)
# Install tea CLI first (if not already installed)
# Linux/Mac:
# Download from: https://gitea.com/gitea/tea/releases
# Configure tea
tea login add \
--name firefrost \
--url https://git.firefrostgaming.com \
--token e0e330cba1749b01ab505093a160e4423ebbbe36
# Create an issue
tea issues create \
--repo firefrost-gaming/firefrost-operations-manual \
--title "Deploy ATM10 To The Sky server" \
--body "Deploy new skyblock server as part of soft launch prep" \
--labels "type/task,priority/high,area/game-servers,status/to-do,for/michael"
Moving Issues on Kanban Board:
- Go to: https://git.firefrostgaming.com/org/firefrost-gaming/projects
- Click on "Firefrost Operations" project
- You'll see the Kanban board
- Drag and drop issue cards between columns
- As you move cards, you can manually update their
status/*label to match
Phase 4: Issue Templates (YAML)
Create standardized issue templates to make creating issues faster and more consistent.
Step-by-Step:
1. Create .gitea/ISSUE_TEMPLATE/ directory in your repository
cd /firefrost-operations-manual
mkdir -p .gitea/ISSUE_TEMPLATE
2. Create Bug Report Template
cat > .gitea/ISSUE_TEMPLATE/bug_report.yaml << 'EOF'
name: Bug Report
about: Report a bug or issue
labels:
- type/bug
- status/to-do
body:
- type: markdown
attributes:
value: |
## Bug Report
Please provide as much detail as possible.
- type: input
id: summary
attributes:
label: Summary
description: A brief summary of the bug
placeholder: "e.g., Mailcow cannot send emails"
validations:
required: true
- type: textarea
id: description
attributes:
label: Description
description: Detailed description of the bug
placeholder: "What happened? What did you expect to happen?"
validations:
required: true
- type: textarea
id: steps
attributes:
label: Steps to Reproduce
description: How can we reproduce this bug?
placeholder: |
1. Go to...
2. Click on...
3. See error...
validations:
required: true
- type: dropdown
id: priority
attributes:
label: Priority
options:
- Low
- Medium
- High
- Critical
validations:
required: true
- type: dropdown
id: area
attributes:
label: Area
options:
- Panel
- Wings
- Billing
- Email
- Website
- Automation
- Networking
- Game Servers
- Operations
validations:
required: true
EOF
3. Create Task Template
cat > .gitea/ISSUE_TEMPLATE/task.yaml << 'EOF'
name: Task
about: General task or work item
labels:
- type/task
- status/to-do
body:
- type: markdown
attributes:
value: |
## Task
Create a new task for the Firefrost Gaming project.
- type: input
id: title
attributes:
label: Task Title
description: Clear, actionable title
placeholder: "e.g., Deploy ATM10 Sky server"
validations:
required: true
- type: textarea
id: description
attributes:
label: Description
description: What needs to be done?
placeholder: "Detailed description of the task..."
validations:
required: true
- type: textarea
id: acceptance
attributes:
label: Acceptance Criteria
description: How do we know this is complete?
placeholder: |
- [ ] Server deployed
- [ ] Tested and verified
- [ ] Documentation updated
- type: dropdown
id: priority
attributes:
label: Priority
options:
- Low
- Medium
- High
- Critical
default: 1
validations:
required: true
EOF
4. Commit and push templates
git add .gitea/ISSUE_TEMPLATE/
git commit -m "feat: add issue templates for bug reports and tasks"
git push
5. Test the templates
- Go to repository Issues page
- Click "New Issue"
- You should now see template options: "Bug Report" and "Task"
- Select one to create a pre-formatted issue
Phase 5: n8n Automation (Future)
Purpose: Automate notifications and maintenance tasks
Planned Automations:
1. Discord Notifications
- New issue created → Discord #dev-notifications
- Issue assigned to you → Discord DM
- Issue status changed → Discord update
2. Auto-Labeling
- Issue mentions "bug" → auto-apply
type/bug - Issue mentions "urgent" → auto-apply
priority/high - Issue mentions specific system → auto-apply
area/*
3. Status Reports
- Weekly summary of open issues
- Monthly progress report
- Burndown tracking
Implementation:
- n8n workflow listening to Gitea webhooks
- Parse issue events
- Route to Discord, apply labels, etc.
Workflow Examples
Example 1: Holly Gets a Task
Michael creates task:
- Go to Issues → New Issue
- Use "Task" template
- Title: "Backup 10 retiring servers"
- Description: (paste from checklist)
- Labels:
type/task,priority/high,area/game-servers,for/holly - Projects: "Firefrost Operations"
- Assignees: Holly
- Create Issue
Holly works on it:
- Goes to Firefrost Operations Kanban
- Sees issue in "To Do" column
- Drags to "In Progress"
- Updates
status/in-progresslabel - Does the work
- Comments on issue with progress
- When done, drags to "Done"
- Updates
status/donelabel - Closes issue
Example 2: Bug Report
Meg finds a bug:
- Issues → New Issue → "Bug Report" template
- Fills in form (summary, description, steps, priority, area)
- Creates issue
- Michael sees it in Kanban "To Do" column
- Assigns to himself
- Moves to "In Progress"
- Fixes bug
- Commits with reference:
git commit -m "fix: mailcow SMTP issue (closes #123)" - Issue auto-closes when commit is pushed
Example 3: Feature Request
Michael plans new feature:
- Creates issue with
type/featurelabel - Assigns
status/backlog(not ready yet) - Adds to Kanban "Backlog" column
- When ready to start, moves to "To Do"
- Changes status to
status/to-do - Begins work, moves to "In Progress"
- Finishes, moves to "Review"
- Holly reviews, approves
- Moves to "Done", closes issue
Migration from tasks.md
Current: docs/core/tasks.md has a big list of tasks
New Approach:
- Convert each task to a Gitea Issue
- Apply appropriate labels
- Add to "Firefrost Operations" project
- Archive old tasks.md (keep for reference)
Migration Script Concept:
# Parse tasks.md
# For each task:
# - Create Gitea issue via API
# - Apply labels based on task content
# - Add to project
# Example for one task:
tea issues create \
--repo firefrost-gaming/firefrost-operations-manual \
--title "Task #48: Gitea/Plane Integration" \
--body "Status: WON'T DO - Plane not needed, Gitea has native Kanban" \
--labels "type/task,status/done,wont-do,area/automation"
Benefits of This Approach
✅ Single Source of Truth
- All tasks in one place (Gitea)
- No sync complexity
- No Plane middleware
✅ Visual Management
- Kanban board for progress tracking
- Drag-and-drop simplicity
- Color-coded labels
✅ Organization-Wide
- One board across all repos
- Issues from any repo show up
- Unified view of all work
✅ Standardization
- Consistent labels across projects
- Issue templates enforce structure
- Less manual typing (accessibility win!)
✅ Git Integration
- Link commits to issues
- Auto-close issues with commit messages
- Full audit trail
✅ Automation Ready
- Gitea webhooks available
- n8n can listen and act
- Discord notifications
✅ No External Dependencies
- Self-hosted
- No third-party services
- Data sovereignty
Next Actions
Immediate (Manual Setup):
- Create "Firefrost Operations" organization project via web UI
- Set up Kanban columns (Backlog, To Do, In Progress, Review, Done)
- Create a test issue and add it to the project
- Verify labels are working
- Create issue templates in operations manual repo
Short Term:
- Migrate existing tasks from tasks.md to Gitea Issues
- Document workflow for Holly and Meg
- Train team on using Kanban board
Long Term:
- Set up n8n webhooks for Discord notifications
- Build auto-labeling automation
- Create weekly status report automation
- Explore Gitea Actions for CI/CD integration
Resources
- Gitea Documentation: https://docs.gitea.com
- Gitea Projects Guide: https://blog.gitea.com/introducing-new-features-of-labels-and-projects/
- Operations Manual:
git.firefrostgaming.com/firefrost-gaming/firefrost-operations-manual - Your Gitea Instance: https://git.firefrostgaming.com
Fire + Frost + Foundation = Where Love Builds Legacy 💙🔥❄️