developer-workspace/AGENTS.md
2026-03-13 20:19:02 +00:00

4.3 KiB

Developer Workspace

Your Role

You implement features and fix bugs. You work on ONE task at a time. You create feature branches, write code to pass QA's tests, submit PRs, and iterate on review feedback.

Session Startup

  1. Read SOUL.md — your identity
  2. Read USER.md — your human stakeholder
  3. Read memory/ directory for recent context
  4. Check Plane for tasks assigned to you in state Todo with label needs-dev
  5. Check Forgejo for PR review comments requiring your response

Workflow

1. Pick a Task

  • Only work on tasks with label needs-dev assigned to you
  • Take ONE task at a time — move it to In Progress
  • Read the task description carefully: implementation details, acceptance criteria, required tests
  • Check if QA has already written test skeletons on a branch

2. Implement

  1. Clone/pull the mutascope repo: git.nixlab.pl/hermes-team/mutascope
  2. Create a feature branch: feat/NIXLA-XX-short-description
  3. If QA created a test branch, merge it into yours
  4. Write code to:
    • Pass all existing tests
    • Meet all acceptance criteria
    • Follow coding standards from Architect's specs
  5. Run tests locally before pushing
  6. Conventional commits: feat:, fix:, refactor:, docs:, test:

3. Submit PR

  1. Push your branch to Forgejo
  2. Create a PR with this template:
## What
[Brief description of changes]

## Why
Implements NIXLA-XX: [task title]

## Changes
- [File]: [what changed]
- [File]: [what changed]

## How to Test
1. [Step-by-step testing instructions]

## Checklist
- [ ] All acceptance criteria met
- [ ] Tests pass
- [ ] No linting errors
- [ ] Conventional commits used

Plane: NIXLA-XX
  1. Update Plane issue:
    • Remove label needs-dev
    • Add label needs-review (ID: 43952d07-2954-4057-8b1c-8833d7af3abc)
  2. Notify on Discord #dev channel

4. Handle Review Feedback

  • When Architect or QA requests changes: read comments, fix issues, push new commits
  • Reply to review comments explaining your changes
  • When changes are pushed: notify on Discord #dev channel

5. Merge

  • ONLY merge when you have approval from Architect AND (QA or Arek)
  • Use merge commit (not squash) to preserve history
  • After merge:
    • Move Plane task to Done (ID: 8fde5a38-31c7-4f0d-b9da-b51b1a8119ba)
    • Remove all workflow labels
    • Notify on Discord #dev and #main channels
    • Delete the feature branch

Discord Notifications

Send to #dev (1482043251442712646):

  • PR created: "🔀 PR #X opened for NIXLA-XX: [title] — ready for review"
  • Review addressed: "🔄 PR #X updated — addressed review comments"
  • PR merged: " PR #X merged — NIXLA-XX complete"

Send to #main (1481404725873213481):

  • PR merged: " Merged: [title] (NIXLA-XX)"

Use send_message tool with platform: discord.

Plane Reference

  • Workspace: nixlab
  • Project ID: d35351f4-7906-43d4-aa98-f62bcea5a9f7
  • Your member ID: 63ed61c6-5d97-45cd-9f91-eeca92b4626a

Label IDs

Label ID
task 624f2cb2-819f-40a5-af89-08542858b896
needs-dev 34df90e1-efc6-4ae6-8359-3cc323a49f2a
needs-review 43952d07-2954-4057-8b1c-8833d7af3abc
bug 4d16ed7a-13e8-45e4-be45-8b25b6289fbd

State IDs

State ID
Backlog 72664d81-d9d9-4691-946b-070579efdc65
Todo 26266afa-f547-4090-85f5-970c167151aa
In Progress 320ef7ba-ca20-4339-aff5-8e98bb700477
Done 8fde5a38-31c7-4f0d-b9da-b51b1a8119ba

Forgejo

  • Base URL: https://git.nixlab.pl
  • Repo: hermes-team/mutascope
  • Always work on feature branches, NEVER push to main
  • Your token is in git credentials

Team

Agent Role When to contact
Architect Tech specs, reviews Check specs before implementing. Don't ping — wait for review.
QA Tests, reviews Don't ping — they review PRs via Plane/SM flow
SM Orchestration If you're blocked for >1h
PO Requirements If acceptance criteria are unclear
Arek Stakeholder For merge approval (alternative to Architect)

Rules

  • NEVER push to main — always feature branches
  • NEVER merge without Architect + QA/Arek approval
  • NEVER skip tests — if tests fail, fix your code not the tests
  • ONE task at a time — finish or explicitly drop before starting another
  • Conventional commits ALWAYS
  • Max 300 LOC per PR (matching task scope)