contributing: where to start, a pull request finished here, and the counts and paths as they are (#433)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
24a8fb274c
commit
cc14233a2e
@@ -1,5 +1,7 @@
|
||||
<!-- One change per pull request. docs/CONTRIBUTING.md says what gets in. -->
|
||||
|
||||
**The issue it fixes** (`Fixes #N`, if there is one)
|
||||
|
||||
**What this changes**
|
||||
|
||||
**What 1.12.1 does, and how you know** (the client's behaviour, a DBC field, a FrameXML line, a capture)
|
||||
|
||||
@@ -84,9 +84,9 @@ player build to the tests.
|
||||
|
||||
## Contributing
|
||||
|
||||
Issues and pull requests are open. [`docs/CONTRIBUTING.md`](docs/CONTRIBUTING.md) says what gets
|
||||
in and how a change is judged. Bugs, questions and ideas are welcome on the
|
||||
[Discord](https://discord.gg/wJSJx467G4) too.
|
||||
Issues and pull requests are open. [`docs/CONTRIBUTING.md`](docs/CONTRIBUTING.md) says where to
|
||||
start, what gets in, how a change is judged and what happens to a pull request once it is open.
|
||||
Bugs, questions and ideas are welcome on the [Discord](https://discord.gg/wJSJx467G4) too.
|
||||
|
||||
---
|
||||
|
||||
|
||||
+22
-15
@@ -5,6 +5,13 @@ creative: a change is accepted when it makes benilla more like 1.12.1 or fixes a
|
||||
evidence from the reference, in one small piece, with the gates green. Everything else is a
|
||||
fork, and forks are welcome.
|
||||
|
||||
## Where to start
|
||||
|
||||
The [issues](https://github.com/samwhosung/benilla/issues) the maintainers file are checked
|
||||
against 1.12.1 first: each says what 1.12.1 does, what benilla does instead, and where in the
|
||||
code, and any of them is a place to start. Before you start one, look for an open pull request
|
||||
that already covers it, and say `Fixes #N` in yours.
|
||||
|
||||
## What gets in
|
||||
|
||||
- A fix for a bug, with how to see it before and after.
|
||||
@@ -37,12 +44,12 @@ fork, and forks are welcome.
|
||||
|
||||
## After you open it
|
||||
|
||||
A maintainer reads it, checks it against the reference and runs it. Most pull requests are
|
||||
finished here rather than sent back: a rebase onto main, a fix, a test or a comment, pushed to
|
||||
your branch as commits on top of yours, so leave "Allow edits by maintainers" ticked. It lands as
|
||||
one squash-merged commit with you as its author. When what would land is mostly ours, we land our
|
||||
own version with you as a co-author and close yours with a note. One that is out of scope is
|
||||
closed with the reason.
|
||||
A maintainer reads it, checks it against the reference, runs it and finishes it here: a rebase
|
||||
onto main, a fix, a test or a comment, added as commits on top of yours on your branch, so leave
|
||||
"Allow edits by maintainers" ticked. It lands as one squash-merged commit with you as its author.
|
||||
When what would land is mostly ours, we land our own version with you as a co-author and close
|
||||
yours with a note, and when main already has the fix, we close yours and say where. One that is
|
||||
out of scope is closed with the reason.
|
||||
|
||||
## Setting up
|
||||
|
||||
@@ -54,12 +61,12 @@ closed with the reason.
|
||||
root, which only a dev build sees: the player build looks for `Data/` or `WoW/Data/` beside
|
||||
the binary. benilla reads the install and never writes into it. `WOW_DATA=` (set, empty)
|
||||
means "no install", which is how the no-install boot is tested on a machine that has one.
|
||||
- **Without the install, green is hollow.** About a thousand tests read the install and skip
|
||||
when it is absent; six more read a corpus of vanilla addons (`BENILLA_ADDON_CORPUS=<a folder
|
||||
of addons>`, or a `wow-addons-vanilla` link at the root), third-party content that is not in
|
||||
this repo. `scripts/gates.sh` and `scripts/check.sh` print how many tests skipped and why.
|
||||
Where the data is, `BENILLA_REQUIRE_DATA=1` turns a skip into a failure, and the gates set it
|
||||
themselves when the install and the corpus both resolve.
|
||||
- **Without the install, green is hollow.** Well over a thousand tests read the install and skip
|
||||
when it is absent, and a few dozen more read a corpus of vanilla addons
|
||||
(`BENILLA_ADDON_CORPUS=<a folder of addons>`, or a `wow-addons-vanilla` link at the root),
|
||||
third-party content that is not in this repo. `scripts/gates.sh` and `scripts/check.sh` print
|
||||
how many tests skipped and why. Where the data is, `BENILLA_REQUIRE_DATA=1` turns a skip into a
|
||||
failure, and the gates set it themselves when the install and the corpus both resolve.
|
||||
- **A server to test against.** Any 1.12.1 server; `WOW_HOST` names it (default
|
||||
`localhost:3724`). A scripted run has no default account: `WOW_USER`, `WOW_PASS` and
|
||||
`WOW_CHAR` name a test account on your server whose login kicks nobody, all three, either in
|
||||
@@ -88,8 +95,8 @@ closed with the reason.
|
||||
|
||||
## Reporting a bug
|
||||
|
||||
Open an issue: what you did, what you saw and what 1.12.1 does instead, with the server and the
|
||||
platform you ran on. Questions and ideas are welcome there or on the Discord linked from the
|
||||
README.
|
||||
Open an issue: what you did, what you saw and what 1.12.1 does instead, with the `benilla build`
|
||||
line from the start of the terminal output, your platform and the server you ran on. Questions
|
||||
and ideas are welcome there or on the Discord linked from the README.
|
||||
|
||||
Working with an AI agent is expected. The agent reads `AGENTS.md`, and the same rules bind it.
|
||||
|
||||
+3
-3
@@ -41,9 +41,9 @@ comment naming the reference fact and why we differ. Anything else is a fork.
|
||||
counterparts under `assets/ui` stay until they retire.
|
||||
- **The install is read-only.** benilla never writes into the WoW folder: no screenshot, log,
|
||||
cache or scratch file. `scripts/smoke.sh` fails a run that leaves the install changed.
|
||||
- **Local state lives in one folder**, `benilla-config/` beside the binary, and every path to
|
||||
it resolves through `crate::local_state`. Player settings are CVars persisted as a diff in
|
||||
`benilla-config/config.toml`.
|
||||
- **Local state lives in one folder**, `benilla-config/`, at the repo root in a dev build and
|
||||
beside the binary in the player build; every path to it resolves through `crate::local_state`.
|
||||
Player settings are CVars persisted as a diff in `benilla-config/config.toml`.
|
||||
- **UI is stock-first: a window is migrated, not authored.** The end state is the stock 1.12
|
||||
FrameXML executed off the player's own chain. `assets/ui` does not grow: a test names its
|
||||
files and fails on a new one. A window is built by pointing `benilla.toc` at the stock file,
|
||||
|
||||
Reference in New Issue
Block a user