{"id":28097095,"url":"https://github.com/varabyte/kobweb-intellij-plugin","last_synced_at":"2025-05-13T16:58:05.991Z","repository":{"id":218138929,"uuid":"745632890","full_name":"varabyte/kobweb-intellij-plugin","owner":"varabyte","description":"An official IntelliJ IDE plugin to include Kobweb-specific enhancements and understanding to your project","archived":false,"fork":false,"pushed_at":"2025-05-09T18:14:09.000Z","size":301,"stargazers_count":13,"open_issues_count":41,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-09T19:25:58.565Z","etag":null,"topics":["ide","intellij","kobweb","plugin"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/varabyte.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2024-01-19T18:55:01.000Z","updated_at":"2025-05-02T04:55:06.000Z","dependencies_parsed_at":"2024-03-01T05:31:12.546Z","dependency_job_id":"5b7f13c3-bdf3-4903-90f5-a7b0e1c2bb06","html_url":"https://github.com/varabyte/kobweb-intellij-plugin","commit_stats":null,"previous_names":["varabyte/kobweb-intellij-plugin"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/varabyte%2Fkobweb-intellij-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/varabyte%2Fkobweb-intellij-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/varabyte%2Fkobweb-intellij-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/varabyte%2Fkobweb-intellij-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/varabyte","download_url":"https://codeload.github.com/varabyte/kobweb-intellij-plugin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253990098,"owners_count":21995770,"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","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":["ide","intellij","kobweb","plugin"],"created_at":"2025-05-13T16:58:05.438Z","updated_at":"2025-05-13T16:58:05.978Z","avatar_url":"https://github.com/varabyte.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Kobweb](https://github.com/varabyte/kobweb) IntelliJ Plugin\n- - -\n\nThis plugin exists to support projects using Kobweb, by offering IDE UX enhancements, Kobweb-specific inspections,\nuseful refactoring actions, and more.\n\nThe list of features includes but is not limited to:\n\n- Suppression of irrelevant warnings that don't apply to Kobweb projects, like unused functions with annotations like\n  `@Page`, `@App` and so on.\n- Surfacing color badges in the gutter for Kobweb RGB and HSL colors.\n- (WAY MORE TO COME SOON)\n\n## Developing\n\nSo much of IntelliJ plugin development is outside the scope of anything we can hope to cover here. However, we'll share\na few links, tips, and high level concepts.\n\nFirst:\n\n* Read the [official documentation](https://plugins.jetbrains.com/docs/intellij/developing-plugins.html)\n* *(Optional)* Install the [DevKit Plugin](https://plugins.jetbrains.com/plugin/22851-plugin-devkit)\n* Plugin source is located under the `plugin` subdirectory.\n\nThe IntelliJ API surfaces an astounding number of extension hooks. To add your own custom logic, \nsearch for your desired extension point [here](https://plugins.jetbrains.com/docs/intellij/extension-point-list.html),\nimplement it, and then register your implementation in the plugin's `resources/META-INF/plugin.xml`\nfile.\n\nThe IntelliJ codebase is unfortunately not the most well documented, especially some of the older parts, so usually the\nbest advice is to search open source plugins for examples of how to do what you want.\n\nConsider referencing the [IntelliJ Community codebase](https://github.com/JetBrains/intellij-community) and\nthe [Android Studio codebase](https://cs.android.com/android-studio). You might also try searching through GitHub or\n[grep.app](https://grep.app/) to see how other plugins are implemented.\n\n## Running\n\nA `Run Plugin` run configuration is provided for testing during development.\n\nThis will open up a new IntelliJ instance with the plugin installed. (This feels weird the first time you try it, but\nyou'll get used to it!)\n\nYou can then open up a project and test your features. You can find sample projects under [sample-projects/](sample-projects/) which you\ncan use.\n\n## Building\n\nTo build the plugin, run the `Build Plugin` run configuration.\n\nThe built plugin will be located in the [plugin/build/distributions](plugin/build/distributions) directory.\n\n## Installing\n\nOnce built, you can install the plugin from disk onto a real IDE environment.\n\nFollow the official\ninstructions [here](https://www.jetbrains.com/help/idea/managing-plugins.html#install_plugin_from_disk).\n\n## Publishing\n\nThe Gradle task associated with publishing a plugin is `:plugin:publishPlugin`.\n\nPublishing the plugin requires either credentials be set on your local machine *or* by using the project's GitHub\npublish action (preferred), as the credentials have been installed into the repository as a secret.\n\nBefore publishing, you should make sure you've reviewed the following checklist:\n\n* The `kobweb-ide-plugin` version in the `libs.version.toml` is correct (and does *not* end in a `-SNAPSHOT` suffix).\n* The `intellij-platform` version is up-to-date.\n  * See [this page](https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin.html) for the latest version.\n* *(Optional)* Set other versions, e.g. kotlin, to latest also.\n* The `intellijPlatform.intellijIdeaCommunity(\u003cversion\u003e)` declaration in the `dependencies` block of the `build.gradle.kts` file is set to as low a version as possible (to maximize\n  compatibility).\n* The `ideaVersion.untilBuild` property still encompasses the latest EAP version.\n* The [CHANGELOG.md](CHANGELOG.md) file has been updated with the new version and its changes.\n* You've tested the plugin locally by running `:plugin:buildPlugin` and installing it from disk.\n* You've verified plugin compatibility by running `:plugin:verifyPlugin` (or\n  checking [GitHub CI](https://github.com/varabyte/kobweb-intellij-plugin/actions/workflows/verify.yml)).\n* You've created a release on https://github.com/varabyte/kobweb-intellij-plugin\n  * The version should have the pattern \"vX.Y.Z\".\n  * This is important because the \"What's New\" section in the [JetBrains marketplace plugin UI](https://plugins.jetbrains.com/plugin/23883-kobweb) will link to the commit range associated with the release.\n* Make sure the `main` branch is reset to latest \n\nFinally, publish the plugin using the `publishPlugin` task (or\nusing [GitHub CI](https://github.com/varabyte/kobweb-intellij-plugin/actions/workflows/publish.yml)).\n\nWhen finished, verify https://plugins.jetbrains.com/plugin/23883-kobweb is up to date.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvarabyte%2Fkobweb-intellij-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvarabyte%2Fkobweb-intellij-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvarabyte%2Fkobweb-intellij-plugin/lists"}