{"id":20318802,"url":"https://github.com/jezzsantos/automate.plugin-rider","last_synced_at":"2026-02-12T08:32:44.449Z","repository":{"id":39059329,"uuid":"506799307","full_name":"jezzsantos/automate.plugin-rider","owner":"jezzsantos","description":"A Jetbrains Rider plugin for using automate https://jezzsantos.github.io/automate/","archived":false,"fork":false,"pushed_at":"2024-11-14T03:11:59.000Z","size":1051,"stargazers_count":1,"open_issues_count":12,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-20T08:36:53.502Z","etag":null,"topics":["architecture","automation","code-generation","developer-experience","developer-tools","plugin","rider","scaffold","templating"],"latest_commit_sha":null,"homepage":"https://plugins.jetbrains.com/plugin/19421-automate","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jezzsantos.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null}},"created_at":"2022-06-23T21:41:33.000Z","updated_at":"2024-11-14T03:12:03.000Z","dependencies_parsed_at":"2024-01-19T09:14:42.382Z","dependency_job_id":"e9d3d471-d96f-4e79-9b96-bd57d22b7b75","html_url":"https://github.com/jezzsantos/automate.plugin-rider","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/jezzsantos/automate.plugin-rider","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jezzsantos%2Fautomate.plugin-rider","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jezzsantos%2Fautomate.plugin-rider/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jezzsantos%2Fautomate.plugin-rider/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jezzsantos%2Fautomate.plugin-rider/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jezzsantos","download_url":"https://codeload.github.com/jezzsantos/automate.plugin-rider/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jezzsantos%2Fautomate.plugin-rider/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29361818,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T01:03:07.613Z","status":"online","status_checked_at":"2026-02-12T02:00:06.911Z","response_time":55,"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":["architecture","automation","code-generation","developer-experience","developer-tools","plugin","rider","scaffold","templating"],"created_at":"2024-11-14T18:41:18.776Z","updated_at":"2026-02-12T08:32:44.436Z","avatar_url":"https://github.com/jezzsantos.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Test](https://github.com/jezzsantos/automate.plugin-rider/actions/workflows/build.yml/badge.svg)](https://github.com/jezzsantos/automate.plugin-rider/actions/workflows/build.yml)\n[![Download](https://img.shields.io/jetbrains/plugin/v/19421?style=flat\u0026logo=rider\u0026color=orange\u0026label=JetBrains%20Plugin)](https://plugins.jetbrains.com/plugin/19421-automate)\n\n# automate Rider Plugin\n\nThis is an interactive plugin for JetBrains Rider that integrates [automate](https://github.com/jezzsantos/automate)\ninto an IDE.\n\n\u003e Plugins for other popular IDE's may be supported in the future, once we have a proven effective design experience in\n\u003e Rider. Rider is the first step, and the easiest to integrate since we have a dependence on the dotnet runtime to\n\u003e execute\n\u003e the CLI.\n\nINSTALLATION: The plugin is found in the [JetBrains Marketplace](https://plugins.jetbrains.com/plugin/19421-automate)\nand installed from within Rider (File | Settings | Plugins | Marketplace).\n\n## How It Works\n\nThe plugin essentially provides a GUI over the CLI, proffering all the same functionality of the automate CLI,\nand also improves on the user's experience of making and using toolkits, for code bases that are developed in a Rider\nIDE.\n\nThe plugin has to be written in Java (since we are creating a plugin for the IntelliJ IDEA), but the core runtime of\nautomate (`automate.Core`) is written in .NET, and is currently deployed on the machine in a cross-platform CLI.\n\nSince the plugin requires integration between the IDE and the CLI, the CLI needs to be reliably installed to the local\nmachine, in a well-known location, and will need to kept in sync (version compatibility) with the plugin, as both the\nCLI and plugin evolve. The CLI is cross-platform, but still requires the dotnet runtime to be installed\non the local machine.\n\n### Interop Design\n\nSince the [automate project](https://github.com/jezzsantos/automate) is itself in its early stages of development,\nmaintaining two rapidly evolving code bases (one in .NET and one in Java) will be unnecessary maintenance, we will\nnecessarily take another approach.\n\nThere are today several options around interop between Java and .NET (e.g. [JNBridge](https://jnbridge.com/)\n, [JNI4NET](http://jni4net.com/), and [JCOBridge](https://www.jcobridge.com/)), however, to reduce dependencies, and\nincurring extra license costs, we are choosing to interop through the already\nexisting [CLI interface into automate](https://www.nuget.org/packages/automate).\n\nSo, the first iterations of the plugin will simply:\n\n1. Install the automate CLI locally (using `dotnet tool install --global automate`)\n2. Execute the all commands through the CLI by spawning a new process.\n3. Capturing all the outputs of the CLI (using the `--output-structured` option) which delivers output in structured\n   JSON.\n\n\u003e This approach requires heavy support from the automate CLI, but, at this point, this is thought to be rather more\n\u003e sustainable than maintaining the same code in two different code bases (Java and .NET).\n\n## More...\n\nRead our [Documentation](https://jezzsantos.github.io/automate/)\n\nWhat to contribute? We sure welcome you!\n\nSee our [Contributing Guidelines](https://github.com/jezzsantos/automate.plugin-rider/blob/main/CONTRIBUTING.md).\n\nJoin the [Discussion](https://discord.gg/vpc3gDPR) on Discord\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjezzsantos%2Fautomate.plugin-rider","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjezzsantos%2Fautomate.plugin-rider","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjezzsantos%2Fautomate.plugin-rider/lists"}