{"id":21323192,"url":"https://github.com/schwarzit/spectral-intellij-plugin","last_synced_at":"2025-07-07T03:09:11.301Z","repository":{"id":39996506,"uuid":"449711318","full_name":"SchwarzIT/spectral-intellij-plugin","owner":"SchwarzIT","description":"IntelliJ plugin for continuous OpenAPI linting using the Spectral OpenAPI linter","archived":false,"fork":false,"pushed_at":"2025-03-01T01:50:05.000Z","size":100793,"stargazers_count":19,"open_issues_count":8,"forks_count":8,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-06T14:39:24.342Z","etag":null,"topics":["intellij","intellij-plugin","linter","openapi","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/SchwarzIT.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":"CODEOWNERS","security":null,"support":null,"governance":null}},"created_at":"2022-01-19T13:52:10.000Z","updated_at":"2025-01-27T11:59:36.000Z","dependencies_parsed_at":"2023-10-20T14:26:47.805Z","dependency_job_id":null,"html_url":"https://github.com/SchwarzIT/spectral-intellij-plugin","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/SchwarzIT/spectral-intellij-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SchwarzIT%2Fspectral-intellij-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SchwarzIT%2Fspectral-intellij-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SchwarzIT%2Fspectral-intellij-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SchwarzIT%2Fspectral-intellij-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SchwarzIT","download_url":"https://codeload.github.com/SchwarzIT/spectral-intellij-plugin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SchwarzIT%2Fspectral-intellij-plugin/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264005182,"owners_count":23542830,"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":["intellij","intellij-plugin","linter","openapi","plugin"],"created_at":"2024-11-21T20:21:22.053Z","updated_at":"2025-07-07T03:09:11.295Z","avatar_url":"https://github.com/SchwarzIT.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spectral Linter Plugin for JetBrains\n\n![Build](https://github.com/SchwarzIT/spectral-intellij-plugin/workflows/Build/badge.svg)\n[![Version](https://img.shields.io/jetbrains/plugin/v/com.schwarzit.spectral-intellij-plugin.svg)](https://plugins.jetbrains.com/plugin/com.schwarzit.spectral-intellij-plugin)\n[![Downloads](https://img.shields.io/jetbrains/plugin/d/com.schwarzit.spectral-intellij-plugin.svg)](https://plugins.jetbrains.com/plugin/com.schwarzit.spectral-intellij-plugin)\n\n\u003c!-- Plugin description --\u003e\n\nThis plugin is a wrapper for the tool \u003ca href=\"https://github.com/stoplightio/spectral\"\u003eSpectral\u003c/a\u003e, a linter for\nOpenApi schemas.\n\n## Installation\n\n- Using IDE built-in plugin system:\n\n  \u003ckbd\u003eSettings/Preferences\u003c/kbd\u003e \u003e \u003ckbd\u003ePlugins\u003c/kbd\u003e \u003e \u003ckbd\u003eMarketplace\u003c/kbd\u003e \u003e \u003ckbd\u003eSearch for \"Spectral\"\u003c/kbd\u003e \u003e\n  \u003ckbd\u003eInstall Plugin\u003c/kbd\u003e\n\n- Manually:\n\n  Download the [latest release](https://github.com/SchwarzIT/spectral-intellij-plugin/releases/latest) and install\n  it manually using\n  \u003ckbd\u003eSettings/Preferences\u003c/kbd\u003e \u003e \u003ckbd\u003ePlugins\u003c/kbd\u003e \u003e \u003ckbd\u003e⚙️\u003c/kbd\u003e \u003e \u003ckbd\u003eInstall plugin from disk...\u003c/kbd\u003e\n\nSince version 2 of this plugin it is required to have the spectral CLI installed on your system.\nIf you don't have it installed yet make sure to follow this\nguide: [Installing Spectral](https://docs.stoplight.io/docs/spectral/b8391e051b7d8-installation)\n\n\u003e Note: The CLI needs to be in your path and executable from the command line.\n\u003e If you're using Windows you should install the proper binary (see: https://github.com/SchwarzIT/spectral-intellij-plugin/issues/121#issuecomment-2606560991)\n\n## Features\n\n### Automatic linting\n\nAutomatic linting of your OpenApi specifications and highlighting in your editor\n\n### Configurable Ruleset\n\nSpecify your own [ruleset](https://meta.stoplight.io/docs/spectral/ZG9jOjYyMDc0NA-rulesets) in the plugins\nsettings, under Preferences -\u003e Tools -\u003e Spectral -\u003e Ruleset.\n\nThere you can specify a file on your local machine or just paste the URL of a ruleset available on the internet\ne.g.: [Schwarz IT API linting rules](https://github.com/SchwarzIT/api-linter-rules).\n\nExamples:\n\n- Link to a hosted ruleset: `https://raw.githubusercontent.com/SchwarzIT/api-linter-rules/main/spectral-api.yml`\n- Local ruleset relative to Project base-path: `.spectral.json`\n- Fully-qualified path: `/Users/user/.spectral.yaml`\n\n### Configurable Included path patterns\n\nSelect the files that will be linted. By default, every file called \"openapi.json\", \"openapi.yml\" or \"openapi.yaml\"\nwithin the Project root will be matched for linting by the plugin when it's opened.\n\nYou can adjust this in the settings under Preferences -\u003e Tools -\u003e Spectral -\u003e Included path patterns. All paths are\nrelative to the project's root directory unless absolute.\n\nExamples:\n\n- `openapi.json`: Matches the file called \"openapi.json\" inside the root directory of the project\n- `components/**/*.yaml`: Matches all files inside the project subdirectory \"components\" that end with \".yaml\"\n- `/Users/user/code/**/openapi*.yaml`: Matches all YAML files within the absolute path \"/Users/user/code\" that start\n  with \"openapi\" and end with \".yaml\"\n\n**Note:** Each file must also be recognized by the IDE as a JSON or YAML file - that is with a suitable File Type\nassociation.\nIf it is detected as a plain text (or any other type) it will be ignored.\n\n\u003c!-- Plugin description end --\u003e\n\n---\n\nPlugin based on the [IntelliJ Platform Plugin Template][template].\n\n[template]: https://github.com/JetBrains/intellij-platform-plugin-template\n[docs:plugin-description]: https://plugins.jetbrains.com/docs/intellij/plugin-user-experience.html#plugin-description-and-presentation\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschwarzit%2Fspectral-intellij-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fschwarzit%2Fspectral-intellij-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschwarzit%2Fspectral-intellij-plugin/lists"}