# Codex Project Notes ## Project `minecraft-renew-mod` is a local workspace for Minecraft mod porting and prototyping. The active projects are: - `create-limited-draining/`, a NeoForge port of Create: Limited Draining for Minecraft 1.21.1 and Create 6.0.10. - `power-grid/`, the official Create: Power Grid `architectury-1.21.1/dev` upstream branch tracked as a submodule for NeoForge 1.21.1 verification. Repository: ```text Toxic/minecraft-renew-mod ``` Remote URL: ```text https://git.wilkensxl.de/Toxic/minecraft-renew-mod.git ``` Repository owner/name must be derived from this target remote URL or from `GITHUB_REPOSITORY` in CI. Do not reuse owner/name values from `.codex-agent-repository-kit`. ## Commands Use these commands as the source of truth. From `create-limited-draining/`: ```powershell .\gradlew build .\gradlew runClient .\gradlew runServer .\gradlew dependencies --configuration runtimeClasspath ``` From `power-grid/`: ```powershell .\gradlew :forge:compileJava -x :native:buildWindows -x :native:buildLinux --no-daemon .\gradlew :forge:remapJar -x :native:buildWindows -x :native:buildLinux --no-daemon ``` Command notes: - Build: `.\gradlew build` - Test: no separate test suite is currently documented; use `.\gradlew build` - Lint: no separate lint command is currently documented - Audit/dependency review: `.\gradlew dependencies --configuration runtimeClasspath` - README generation: README is maintained manually; no blueprint generator is configured - Power Grid NeoForge artifact build: `.\gradlew :forge:remapJar -x :native:buildWindows -x :native:buildLinux --no-daemon` ## Stack ```text Java 21, Gradle Wrapper, NeoForge ModDevGradle, Minecraft 1.21.1, Create 6.0.10 ``` Package manager or build tool: ```text Gradle Wrapper ``` ## Build Artifacts Release artifacts are produced in: ```text create-limited-draining/build/libs/ power-grid/forge/build/libs/ ``` Expected files: ```text createlimiteddraining-*.jar powergrid-*.jar ``` ## Security Rules - Do not commit secrets, tokens, `.env` files, certificates, or private keys. - Do not commit local Minecraft run data, worlds, logs, generated build outputs, or downloaded Gradle artifacts. - Treat generated credentials and local config as sensitive. - Keep dependency audit or dependency review results visible in CI where possible. - Do not add external network calls unless the feature explicitly requires them. ## Release Rules Before a release: 1. Run `.\gradlew build` from `create-limited-draining/`. 2. Verify the output JAR in `create-limited-draining/build/libs/`. 3. Run or update `docs/release-checklist.md`. 4. Update `CHANGELOG.md`, `README.md`, and `docs/security-review.md`. 5. Verify CI is green if the repository uses Gitea Actions. 6. Create a tag and release only after explicit user approval. Do not create releases unless the user explicitly asks for a release. Package publishing is not currently enabled. If it is added later, derive the Gitea package owner from `GITHUB_REPOSITORY_OWNER` or `GITHUB_REPOSITORY`, and fall back to `Toxic` only when CI does not expose repository metadata.