Thank you for contributing to CreatorGET-Service.
This repository contains a Node.js CLI for fetching, browsing, comparing, caching, and exporting Minecraft Marketplace creator data. Contributions should keep the CLI predictable, portable, and safe for local data.
- Read readme.md for configuration, commands, and data formats.
- Read SECURITY.md before reporting vulnerabilities.
- Discuss large features, output-format changes, or breaking CLI changes before implementing them.
Requirements:
- Node.js 18 or newer
- npm
Install dependencies:
npm ciRun the CLI:
npm startValidate JavaScript syntax:
node --check bin/creatorservice.jsWhen changing files under src, run node --check for each changed JavaScript file as well.
bin/creatorservice.js: CLI entry pointsrc/config: configuration handlingsrc/services: Minecraft Marketplace data retrievalsrc/cache: cache and diff behaviorsrc/export: JSON, CSV, and ID exportssrc/favorites: local favorites handlingsrc/ui: interactive terminal menussrc/utils: shared helpers.cache: generated local cache data
- Keep changes focused and avoid unrelated rewrites.
- Preserve documented CLI commands and export formats unless a change is intentional.
- Validate remote data before displaying, caching, or exporting it.
- Keep file output inside explicitly selected or documented locations.
- Do not commit personal favorites, generated exports, credentials, or private environment values.
- Update
readme.mdwhen behavior, configuration, commands, or output formats change.
- Match the existing ESM style and current organization.
- Keep interactive prompts keyboard-accessible and terminal-safe.
- Handle network, malformed-data, filesystem, and permission errors explicitly.
- Avoid terminal escape-sequence injection from untrusted remote values.
- Prefer deterministic exports so changes remain reviewable.
This repository currently has no automated test suite. Contributors should:
- syntax-check every changed JavaScript file
- run the affected CLI flow manually
- verify affected cache, diff, favorites, or export output
- describe the checks performed in the pull request
Add automated tests when introducing logic that can be isolated without depending on the interactive terminal.
Follow the existing concise, imperative commit style, for example:
Add validation for export paths
Handle malformed creator entries
Document cache configuration
Include the problem, intended behavior, user-visible impact, checks performed, and any compatibility or data-format considerations.
Do not disclose vulnerability details in public issues or pull requests. Follow SECURITY.md.
By participating in this project, you agree to follow CODE_OF_CONDUCT.md.