{"id":29643481,"url":"https://github.com/softinstigate/restheart-cli","last_synced_at":"2026-02-18T11:33:28.534Z","repository":{"id":282189061,"uuid":"947468325","full_name":"SoftInstigate/restheart-cli","owner":"SoftInstigate","description":"A command-line interface for managing RESTHeart instances, simplifying development, installation, and operation workflows.","archived":false,"fork":false,"pushed_at":"2025-03-17T12:11:46.000Z","size":145,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-10T05:38:40.224Z","etag":null,"topics":["cli","developer-tools","development","restheart"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SoftInstigate.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-12T18:26:06.000Z","updated_at":"2025-06-05T13:12:20.000Z","dependencies_parsed_at":"2025-03-13T08:51:33.662Z","dependency_job_id":"9aec16c3-aa58-456e-b352-a125913a28b7","html_url":"https://github.com/SoftInstigate/restheart-cli","commit_stats":null,"previous_names":["softinstigate/restheart-cli"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SoftInstigate/restheart-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoftInstigate%2Frestheart-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoftInstigate%2Frestheart-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoftInstigate%2Frestheart-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoftInstigate%2Frestheart-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SoftInstigate","download_url":"https://codeload.github.com/SoftInstigate/restheart-cli/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SoftInstigate%2Frestheart-cli/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269755442,"owners_count":24470536,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","developer-tools","development","restheart"],"created_at":"2025-07-21T23:36:52.734Z","updated_at":"2026-02-18T11:33:22.011Z","avatar_url":"https://github.com/SoftInstigate.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RESTHeart CLI\n\nA command-line interface for managing [RESTHeart](https://restheart.org) instances, simplifying development, installation, and operation workflows.\n\n \u003e RESTHeart simplifies backend development by eliminating the need to write boilerplate CRUD operations and authentication code, allowing developers to focus on building their applications.\n\n## Overview\n\nRESTHeart CLI (`rh`) is a powerful tool designed to streamline the development and management of RESTHeart Java applications. It provides a convenient interface for common tasks such as:\n\n- **Installing** and **updating** RESTHeart\n- **Building** and **deploying** Java plugins\n- **Starting** and **stopping** RESTHeart instances\n- **Watching** for code changes and automatically rebuilding/redeploying\n\n\u003e Typically, you will begin with a Maven project. Refer to the [official documentation](https://restheart.org/docs/plugins/overview) for detailed instructions on implementing custom plugins.\n\n## Installation\n\n### Prerequisites\n\n- Node.js (v18 or later)\n- Java JDK (v21 or later)\n- Maven (3.8 or later, if not using the included Maven wrapper)\n\n### Install from npm\n\n⚠️ TODO -\u003e this is not a published npm package yet.\n\n### Install from source\n\n```bash\ngit clone https://github.com/SoftInstigate/restheart-cli.git\ncd restheart-cli\nnpm install\nnpm link\n```\n\n## Quick Start\n\n```bash\n# Install RESTHeart (latest version)\nrh install\n\n# Build and deploy your plugin\nrh build\n\n# Run RESTHeart\nrh run\n\n# Enable file watching (auto-rebuild on changes)\nrh watch\n```\n\n👉 Look at the [Usage Guide](/usage-guide.md) for more practical examples for common workflows.\n\n## Commands\n\n### Install RESTHeart\n\nInstall or update RESTHeart to a specific version:\n\n```bash\nrh install [restheart-version] [--force]\n```\n\nOptions:\n- `restheart-version`: Version to install (e.g., \"latest\", \"8.3.4\") (default: \"latest\")\n- `--force`, `-f`: Force reinstallation even if already installed\n\nExamples:\n```bash\n# Install the latest version\nrh install\n\n# Install a specific version\nrh install 8.3.4\n\n# Force reinstallation\nrh install --force\n```\n\n### Build and Deploy\n\nBuild and deploy RESTHeart plugins from the current directory:\n\n```bash\nrh build\n```\n\nThis command:\n1. Builds the project using Maven\n2. Deploys the built JARs to the RESTHeart plugins directory\n\n### Run RESTHeart\n\nStart or restart RESTHeart with optional configuration:\n\n```bash\nrh run [restheart-options..] [--build] [--port PORT]\n```\n\nOptions:\n- `restheart-options`: Options to pass directly to RESTHeart (after -- separator)\n- `--build`, `-b`: Build and deploy the plugin before running RESTHeart\n- `--port`, `-p`: HTTP port for RESTHeart to listen on\n\nExamples:\n```bash\n# Run with default settings\nrh run\n\n# Run with custom configuration file\nrh run -- -o etc/localhost.yml\n\n# Build before running\nrh run --build\n```\n\n### Kill RESTHeart\n\nStop any running RESTHeart instances:\n\n```bash\nrh kill [--port PORT]\n```\n\nOptions:\n- `--port`, `-p`: HTTP port of the RESTHeart instance to kill\n\n### Watch for Changes\n\nWatch for source changes, automatically rebuilding and restarting RESTHeart:\n\n```bash\nrh watch [--build] [--port PORT] [--debounce-time MS]\n```\n\nOptions:\n- `--build`, `-b`: Build and deploy the plugin before starting the watch process\n- `--port`, `-p`: HTTP port for RESTHeart to listen on\n- `--debounce-time`: Time in milliseconds to wait after the last file change before rebuilding (default: 1000)\n\nExample:\n```bash\n# Watch source files with custom configuration\nrh watch -- -o etc/localhost.yml\n```\n\n### Check Status\n\nCheck if RESTHeart is currently running:\n\n```bash\nrh status [--port PORT]\n```\n\nOptions:\n- `--port`, `-p`: HTTP port of the RESTHeart instance to check\n\n## Global Options\n\nThese options can be used with any command:\n\n- `--version`: Display the version number of RESTHeart CLI\n- `--debug`, `-d`: Run in debug mode with additional diagnostic information\n- `--verbose`, `-v`: Show verbose output including debug messages\n- `--quiet`, `-q`: Show only error messages and suppress other output\n- `--timestamps`, `-t`: Add timestamps to log messages for better traceability\n- `--help`, `-h`: Show help information\n\n## Configuration\n\nRESTHeart CLI uses a configuration system that manages:\n\n- Repository directory (current working directory)\n- Cache directory (`.cache` in the repository directory)\n- RESTHeart directory (`.cache/restheart` in the repository directory)\n- HTTP port (default: 8080)\n- Debug mode (default: false)\n\nThese settings can be modified through command-line options or directly in the code.\n\n## Development Workflow\n\nA typical development workflow with RESTHeart CLI:\n\n1. Install RESTHeart: `rh install`\n2. Start with file watching: `rh watch`\n3. Make changes to your code\n4. RESTHeart CLI automatically detects changes, rebuilds and restarts\n5. Check status: `rh status`\n6. When done, stop RESTHeart: `rh kill`\n\n👉 Look at the [Usage Guide](/usage-guide.md) for more practical examples for common workflows.\n\n## Troubleshooting\n\n### Common Issues\n\n#### RESTHeart fails to start\n\nCheck the log file in the repository directory (`restheart.log`) for error details.\n\n#### Build fails\n\nEnsure Maven is correctly installed and the project structure is valid.\n\n#### Port already in use\n\nUse `rh kill` to stop any running instances, or specify a different port with `--port`.\n\n### Debug Mode\n\nFor more detailed information, enable debug mode:\n\n```bash\nrh --debug [command]\n```\n\n## License\n\nMIT\n\n## Contributors\n\n- SoftInstigate \u003cinfo@softinstigate.com\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftinstigate%2Frestheart-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoftinstigate%2Frestheart-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftinstigate%2Frestheart-cli/lists"}