36 lines
2.2 KiB
Markdown
36 lines
2.2 KiB
Markdown
# Metropolis Working Rules
|
|
|
|
Start with [CONTRIBUTING.md](CONTRIBUTING.md) for the first-contribution path,
|
|
architecture, build/test commands, and operational safety. [README.md](README.md)
|
|
is the player/server-admin behavior reference. Other files in `docs/` are
|
|
optional reference material, not competing onboarding guides.
|
|
|
|
- Use **Metropolis** in human-facing prose. Preserve machine-facing identifiers,
|
|
including `Metropolis`, `com.majinnaibu.bukkitplugins.metropolis`, artifact
|
|
names, plugin IDs, commands, permission nodes, and URLs.
|
|
- Inspect the current diff before editing and preserve unrelated work. Do not
|
|
edit generated `build/`, `target/`, or `.gradle/` output. Never read, expose,
|
|
or commit `.env`, server/player data, or publishing credentials.
|
|
- Keep claims aligned with source, build configuration, CI, and scripts. State
|
|
Paper targets separately from versions actually built or tested. Keep
|
|
implemented behavior, planned work, automated coverage, and manual scenarios
|
|
distinct.
|
|
- When editing Java, preserve the existing AGPL header, use Gradle Spotless,
|
|
and keep Bukkit/Paper state and API access on the main thread. Avoid unrelated
|
|
gameplay changes.
|
|
- Before editing `docs/project-description.json`, read
|
|
`docs/projects.schema.json`. Validate the JSON against that schema without
|
|
changing the schema to accommodate invalid metadata. Preserve exactly the
|
|
existing top-level project key, `id`, `title`, `docId`, `image.url`, and
|
|
`headerImage.url` when present. Preserve `headerImage: null` or its absence.
|
|
These are fixed consuming-project integration values: do not derive or
|
|
“correct” their spelling, capitalization, spacing, or slug from repository
|
|
names. Image paths are relative to the consuming project's root; do not
|
|
resolve them here, convert them to repository URLs, or replace them with
|
|
generated/remote URLs. Preserve all other integration fields unless the task
|
|
requires a change. If schema compliance conflicts with preserving protected
|
|
values, stop and explain the conflict before editing.
|
|
- Do not start/stop servers, deploy, restore, publish, tag, or release without
|
|
explicit authorization. `tools/stop-server.sh` can match unrelated Paper
|
|
processes; `tools/restore-server.sh` replaces archive top-level items.
|