docs(design): define Leaf user stories

This commit is contained in:
dmg
2026-08-10 17:49:02 -04:00
commit aa6300fa23
10 changed files with 241 additions and 0 deletions
@@ -0,0 +1,30 @@
---
type: User Story
title: "US-007: Build and release Leaf"
description: Give maintainers repeatable Spigot builds, automated verification, and versioned Gitea releases.
status: backlog
---
# US-007: Build and release Leaf
As a **plugin maintainer**, I want automated builds and releases modeled on Spigot Base so that tested, correctly versioned Leaf artifacts can be distributed consistently.
## Acceptance criteria
- [ ] The Gradle project compiles against Spigot API `26.2-R0.1-SNAPSHOT` using a Java 17 toolchain.
- [ ] Compiler lint warnings fail the build.
- [ ] Automated JUnit 5 tests run as part of the Gradle check lifecycle.
- [ ] Pushes and pull requests build and test Leaf in Gitea Actions.
- [ ] Pull requests validate conventional commit messages.
- [ ] CI stores a development Leaf JAR as a workflow artifact.
- [ ] Main-branch conventional commits drive semantic versioning.
- [ ] A successful release builds a versioned Leaf JAR and attaches it to the corresponding Gitea release.
- [ ] Build files, Gradle wrapper, workflows, and release behavior follow `../spigot-base/` where applicable while using Leaf names and identifiers.
- [ ] The initial approved user-story bundle is kept in one documentation commit.
- [ ] Subsequent implementation work is organized into a separate conventional commit for each implemented user story.
- [ ] No remote push is performed until the maintainer confirms that the Gitea repository and release token secret are ready.
## Related
- [US-006: Configure and persist Leaf](us-006-configure-and-persist-leaf.md)
- [User-story catalog](index.md)