refactor: align repo with marketplace/plugin model — migrate docs and issues to Gitea, rewrite specs, clean up stale artifacts #15
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
The repo was originally structured around a chunk-based delivery model with local
docs/issues/anddocs/prd/files as the issue tracker. Since the marketplace/plugin pivot, this is no longer the model — plugins are the deployable unit, Gitea is the issue tracker, and the skills deployment path has changed entirely. This refactor brings the repo's docs, context, and structure into alignment with how it actually works today.Scoped in a grill session (2026-06-28). Independent of the Kyberforge basics milestone — can run in parallel.
Scope
1. Migrate
docs/issues/to GiteaAll 28 local issue files (0001–0028) migrate to Gitea.
docs/issues/directory after migration2. Migrate
docs/prd/to GiteaThree PRD files (chunk-1, chunk-2-instructions, chunk-3-skills-library) → closed Gitea issues. These are completed design artifacts.
docs/prd/directory after migration3. Create triage milestone
Create a catch-all Gitea milestone (e.g. "Legacy / Triage") to receive all migrated issues. Issues will be re-evaluated and redistributed to real milestones in a follow-on workstream.
4. Slim
ROADMAP.mdStrip down to a nav page only: purpose of the repo, pointer to Gitea milestones for current work, pointer to
docs/spec/overview.mdfor deployed state. Remove the chunk table, housekeeping reminders, and open questions table — all superseded by Gitea or absorbed into other docs.5. Rewrite
docs/spec/overview.mdFull rewrite to reflect the plugin model:
kyberforge,bin,core,git,gitea), their contents, and install commands6. Rewrite
docs/spec/architecture.mdFull rewrite — equally stale as overview.md:
.agents/skills/as the main content location (that directory no longer exists in the repo)sync.shandinit-project.shas existing scripts (they are Chunk 6, not yet built)install.shbehaviour (deploys core files only; skills come from plugin installs)7. Update
CONTEXT.mddocs/prd/<slug>anddocs/issues/NNNN-<slug>.mdentries — both directories are goneLESSONS.mdglossary entry: the description currently lives in ROADMAP.md ("long-loop feedback log; three or more entries on the same pattern graduate to the relevant standing file"). Move it here so it survives the ROADMAP slim-down.8. Archive stale notes
Move
docs/notes/ai-ethics-security-principles.mdanddocs/notes/team-self-organisation-sprint-brief.mdtodocs/notes/archive/. Both are superseded or out of scope —ai-ethics-security-principles.mdis explicitly marked superseded in ROADMAP.md.9. Delete stale
binskillsRemove
to-issuesandto-prdfromplugins/bin/skills/. Both are stale mattpocock adoptions with/setup-matt-pocock-skillsreferences that don't exist here, and neither explicitly targets Gitea. Replacement:issue-authoragent (tracked separately under Kyberforge basics milestone).10. Clean up
install.shRemove dead
.agents/skills/deployment code. The comment says "Skipped when source does not exist" — the directory doesn't exist and won't return. The code and comments are noise.11. ADR-0017 — Gitea as canonical issue tracker ✅ written
Already committed to
docs/adr/0017-gitea-canonical-issue-tracker.mdduring the scoping grill session. Supersedes ADR-0011.12. Triage all ADRs (0001–0017)
ADRs are treated as mutable for this refactor. Review each against current repo model — rewrite, update, or delete where the underlying decision has changed.
Known issues going in:
.agents/skills/as the canonical repo source, deployed viainstall.sh. Neither is true — source is nowplugins/<name>/skills/, distribution isclaude plugin install. Needs rewrite.13. Update
docs/VISION.md— remove chunk framingVISION.md still references the chunk delivery model in four places:
init-project.sh comes in chunk 6GitHub Copilot support (chunk 7)Everything from chunk 2 onward...after Chunk 6 of this repo (sync.sh + init-project.sh)Replace chunk references with plugin model framing. The vision content itself is still valid — only the delivery sequencing language is stale.
14. Remove stale
.agents/skills/blocks fromtests/test-install.shLines 62–144 test deploying skills from
.agents/skills/, which no longer exists in the repo. These tests silently no-op today. Remove the dead test blocks; the coverage gap (plugin-based skill deployment) is a separate concern and out of scope here.15. Clean up
scripts/deploy-manifest.shTwo stale references:
sourced by install.sh and sync.sh (Chunk 6)—sync.shdoes not exist; remove the referenceDEPLOY_SKILLS_SRC=".agents/skills"— the old source path; remove or update to reflect the plugin modelAcceptance criteria
docs/issues/files exist as Gitea issues;docs/issues/directory deleteddocs/prd/files exist as Gitea issues (closed);docs/prd/directory deletedROADMAP.mddeleted (exceeded nav-page target)docs/spec/overview.mddeleted; all references scrubbed (chunk model superseded — rewrite not needed)docs/spec/architecture.mddescribes current state; no.agents/skills/deployment modelCONTEXT.mddocs convention has nodocs/prd/ordocs/issues/entriesCONTEXT.mdissue tracker glossary entry has no "file-based phase" languageCONTEXT.mdhas aLESSONS.mdglossary entrydocs/notes/archive/exists with both stale notes moved inplugins/bin/skills/to-issues/andplugins/bin/skills/to-prd/deletedinstall.shhas no dead.agents/skills/deployment codedocs/adr/✅docs/VISION.mdhas no chunk references; delivery sequencing reflects plugin modeltests/test-install.shhas no.agents/skills/test blocksscripts/deploy-manifest.shhas nosync.sh (Chunk 6)comment or.agents/skillssource pathSequencing note
Items 1–3 (migration + triage milestone) are the natural starting point — they clear the local artifact directories and give Gitea the full issue history. Items 4–7 (docs rewrites) and item 12 (ADR triage) can run in parallel once the directories are gone. Items 8–11 are independent cleanup that can happen in any order. Items 13–15 are independent of everything else and can be picked up at any point.
PRD migration complete
All PRD files migrated to Gitea as closed issues in the Legacy / Triage milestone. Note: the issue scope listed 3 PRD files but there were actually 4 —
governance-instruction-layer.mdwas also present.chunk-1.mdchunk-2-instructions.mdgovernance-instruction-layer.mdchunk-3-skills-library.mddocs/prd/directory deleted in commit8ccb342.Acceptance criterion:
All 3→ Done (4 files, not 3).docs/prd/files exist as Gitea issues (closed);docs/prd/directory deletedIssue migration complete
All 28
docs/issues/files migrated to Gitea as issues.docs/issues/directory deleted in commit49567e4.All assigned to milestone Legacy / Triage (ID 5).
Acceptance criterion:
All 28→ Done.docs/issues/files exist as Gitea issues;docs/issues/directory deletedCompleted: spec cleanup (items 5 & 6)
docs/spec/overview.md— deleted rather than rewritten. The file described the chunk-based delivery model (skill counts, chunk targets, recent changes log) which has no equivalent in the plugin model. A rewrite would have been empty prose; deletion was the right call. All cross-references scrubbed fromAGENTS.md,CONTEXT.md,docs/notes/factory-integration-decisions.md,docs/notes/factory-research-gaps-conflicts.md, anddocs/research/ai-coding-factory/ai-coding-factory-implementation-guidance.md.docs/spec/architecture.md— fully rewritten. Key changes:.agents/skills/as canonical skills source (directory doesn't exist)provider-manifest.sh/ symlink mechanism (described but never built)sync.shandinit-project.shreferences (Chunk 6, not yet built)install.shbehaviour: three manifest categories (DEPLOY_FILES,DEPLOY_EXECUTABLES,DEPLOY_DIRS); explicit note that skills are not deployed by install.shdocs/HUMANS.md→docs/wiki/HUMANS.mdin governance phase descriptioncore/instructions/governance.md— fixed same brokendocs/HUMANS.mdpath.Commit:
3b5b1b5All 15 acceptance criteria met. ADRs triaged, rewritten, renumbered to 0001-0009, and content audited for alignment with plugin model. All stale chunk-era decisions archived. Pushed in commit
05bb9d6.