Cursor rule
.cursor/rules/development-workflow.mdcCursor rules
Quality
86/100
Scores the file, not the repository.Length
642 words
24 headings · 2 code blocksRepository
0
— · pushed 47 days agoLast changed
3 days ago
First indexed 3 days ago.1# Development Workflow23## Local Development Setup41. **Java Environment**: Install JDK 21 (required for Minecraft 1.21.x)52. **Build Scripts**:6 - Windows: Use `build.ps1` with correct JDK path7 - Linux/Mac: Use `build.sh` with correct JDK path83. **IDE**: Any Java IDE with Gradle support (IntelliJ IDEA recommended)910## Development Process111. **Code Changes**: Modify Java files in `src/main/java/`122. **Recipe Changes**: Update JSON files in `src/main/resources/data/{modid}/recipes/`133. **Assets**: Add textures, models, and sounds to `src/main/resources/assets/{modid}/`144. **Localization**: Update language files in `src/main/resources/assets/{modid}/lang/`155. **Documentation**: Update Markdown files in `docs/docs/`1617## Testing Workflow18### Standard Testing Process191. **Build Project**:20 - Windows: `./build.ps1`21 - Linux/Mac: `./build.sh`22 - Direct: `./gradlew build`232. **Client Testing**: `./gradlew runClient` - Test in single-player243. **Server Testing**: `./gradlew runServer` - Test multiplayer compatibility254. **Documentation**: `cd docs && npm start` - Preview documentation locally265. **Unit Tests**: `./gradlew test` - Run automated tests (if configured)2728### Project-Specific Testing Workflow291. Build: `.\build.ps1`302. Start test server: `.\build.ps1 -StartServer`313. Check logs: `test-server/logs/latest.log`324. Fix issues based on runtime errors335. Rebuild and test again3435## Build and Deployment3637### Build System38- Use Gradle with Fabric toolchain39- Configuration centralized in `gradle.properties`40- PowerShell scripts in `/scripts/` directory for automation41- Always test builds before deployment4243### PowerShell Scripts44- `build.ps1` - Main build script with optional server start45- `scripts/start-server.ps1` - Advanced server management46- `scripts/update-modrinth.ps1` - Update Modrinth project description47- `scripts/generate-web-icons.ps1` - Generate documentation icons48- `release.ps1` - Automated release script (updates version, creates tag)4950### Release Process511. Update version in `gradle.properties`522. Update documentation with new features533. Build and test thoroughly: `.\build.ps1`544. Run release script: `.\release.ps1 -Version "X.Y.Z"`555. GitHub Actions handles automated publishing to Modrinth and GitHub Releases5657### Environment Variables58- `MODRINTH_TOKEN` - For Modrinth API access59- `PROJECT_ID` - Modrinth project identifier60- Set in GitHub repository secrets for CI/CD6162### File Patterns to Ignore63- `/build/` - Gradle build output64- `/run/` - Development server files65- `/test-server/` - Test server instance66- `node_modules/` - NPM dependencies67- `.gradle/` - Gradle cache6869### Debugging Commands70```bash71# Check for compilation errors72./gradlew compileJava7374# Run with more details75./gradlew build --stacktrace7677# Clean build78./gradlew clean build79```8081## Version Management821. Update `mod_version` in `gradle.properties`832. Update changelog/release notes843. Commit changes: `git commit -m "Bump version to X.Y.Z"`854. Create Git tag: `git tag X.Y.Z`865. Push changes and tag: `git push origin main && git push origin X.Y.Z`8788## Key Commands89```bash90# Setup91./gradlew clean # Clean build artifacts9293# Development94./gradlew build # Build mod JAR95./gradlew runClient # Test in Minecraft client96./gradlew runServer # Test on Minecraft server97./gradlew test # Run tests9899# Documentation100cd docs101npm install # Install dependencies (first time)102npm start # Local preview103npm run build # Build for production104105# Release106git tag X.Y.Z # Create version tag107git push origin X.Y.Z # Push tag (triggers release)108```109110## File Organization111- **Source Code**: `src/main/java/{package}/` - Java classes112- **Resources**: `src/main/resources/`113 - `fabric.mod.json` - Mod metadata114 - `data/{modid}/` - Data files (recipes, loot tables, etc.)115 - `assets/{modid}/` - Client assets (textures, models, lang)116- **Documentation**: `docs/` - Docusaurus site117- **Configuration**: Root directory118 - `build.gradle` - Build configuration119 - `gradle.properties` - Project properties120 - `settings.gradle` - Gradle settings121122## Best Practices123- **Version Control**:124 - Use descriptive commit messages125 - Create feature branches for major changes126 - Keep commits atomic and focused127- **Testing**:128 - Test all features in both client and server129 - Verify recipes work as intended130 - Check for mod compatibility issues131- **Code Quality**:132 - Follow Java coding standards133 - Keep mod logic simple and maintainable134 - Document complex functionality135- **Performance**:136 - Profile performance impact137 - Optimize resource usage138 - Minimize startup time139description:140globs:141alwaysApply: false142---143
Also in survivorsunited/mods-su-compostables
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| survivorsunited/mods-su-compostables.cursor/rules/ci-cd-workflow.mdc · 0 | Cursor rules | setupbuildgitsecurity+3 | 63/100 | 3 days ago | |
| survivorsunited/mods-su-compostables.cursor/rules/documentation-standards.mdc · 0 | Cursor rules | setupbuildtestlint-format+4 | 91/100 | 3 days ago | |
| survivorsunited/mods-su-compostables.cursor/rules/gradle-build-standards.mdc · 0 | Cursor rules | buildstyledependenciesdeployment | 78/100 | 3 days ago | |
| survivorsunited/mods-su-compostables.cursor/rules/java-coding-standards.mdc · 0 | Cursor rules | stylearch | 58/100 | 3 days ago | |
| survivorsunited/mods-su-compostables.cursor/rules/proj-compostables.mdc · 0 | Cursor rules | archsecuritydeploymentagent-behaviour+1 | 66/100 | 3 days ago | |
| survivorsunited/mods-su-compostables.cursor/rules/project-overview.mdc · 0 | Cursor rules | buildarchdeploymentagent-behaviour+1 | 67/100 | 3 days ago | |
| survivorsunited/mods-su-compostables.cursor/rules/recipe-json-standards.mdc · 0 | Cursor rules | lint-formatstylearchtypes | 62/100 | 3 days ago | |
| survivorsunited/mods-su-compostables.cursor/rules/rules.mdc · 0 | Cursor rules | buildteststylearch+4 | 92/100 | 3 days ago |
Diff against .cursor/rules/ci-cd-workflow.mdc Diff against .cursor/rules/documentation-standards.mdc Diff against .cursor/rules/gradle-build-standards.mdc Diff against .cursor/rules/java-coding-standards.mdc Diff against .cursor/rules/proj-compostables.mdc Diff against .cursor/rules/project-overview.mdc Diff against .cursor/rules/recipe-json-standards.mdc Diff against .cursor/rules/rules.mdc
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| hiromaily/go-crypto-wallet.cursor/rules/typescript.mdc · 126 | Cursor rules | setupbuildtestlint-format+6 | 100/100 | 3 days ago | |
| TechSquidTV/Hermes.cursor/rules/10-hermes-api.mdc · 45 | Cursor rules | testlint-formatstylearch+5 | 100/100 | 3 days ago | |
| dodgecfr/combatfilms-webapp.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 3 days ago | |
| deifos/clipmira-subtitles.cursor/rules/frontend.mdc · 1 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 3 days ago | |
| markstev/mark-starter.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+6 | 99/100 | 3 days ago | |
| Allymahmoud/case-intake-platform.cursor/rules/frontend.mdc · 0 | Cursor rules | setuptestlint-formatstyle+7 | 99/100 | 3 days ago | |
| langflow-ai/langflow.cursor/rules/docs_development.mdc · 153k | Cursor rules | setupbuildtestlint-format+7 | 97/100 | 3 days ago | |
| TechSquidTV/Hermes.cursor/rules/20-hermes-api-tests.mdc · 45 | Cursor rules | teststyletesting-strategysecurity+3 | 97/100 | 3 days ago |
