2.2 KiB
2.2 KiB
Metropolis Working Rules
Start with CONTRIBUTING.md for the first-contribution path,
architecture, build/test commands, and operational safety. 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, readdocs/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, andheaderImage.urlwhen present. PreserveheaderImage: nullor 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.shcan match unrelated Paper processes;tools/restore-server.shreplaces archive top-level items.