{"id":45678103,"url":"https://github.com/kit-sdq/intelligrade","last_synced_at":"2026-02-24T13:08:54.414Z","repository":{"id":180816055,"uuid":"665749374","full_name":"kit-sdq/intelligrade","owner":"kit-sdq","description":"IntelliJ-Plugin for grading with the artemis project ","archived":false,"fork":false,"pushed_at":"2026-01-28T00:52:12.000Z","size":794,"stargazers_count":10,"open_issues_count":27,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-28T16:12:32.785Z","etag":null,"topics":["artemis","grading","intellij-plugin"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kit-sdq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-07-12T23:18:39.000Z","updated_at":"2025-12-01T17:23:37.000Z","dependencies_parsed_at":"2024-03-14T22:01:10.759Z","dependency_job_id":"64b281a3-8439-4ab4-90a5-e3ac3a9d8c0e","html_url":"https://github.com/kit-sdq/intelligrade","commit_stats":null,"previous_names":["cdaut/intelligrade","kit-sdq/intelligrade"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kit-sdq/intelligrade","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kit-sdq%2Fintelligrade","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kit-sdq%2Fintelligrade/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kit-sdq%2Fintelligrade/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kit-sdq%2Fintelligrade/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kit-sdq","download_url":"https://codeload.github.com/kit-sdq/intelligrade/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kit-sdq%2Fintelligrade/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29783615,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T10:45:18.109Z","status":"ssl_error","status_checked_at":"2026-02-24T10:45:09.911Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["artemis","grading","intellij-plugin"],"created_at":"2026-02-24T13:08:52.651Z","updated_at":"2026-02-24T13:08:54.409Z","avatar_url":"https://github.com/kit-sdq.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IntelliGrade\n\nIntelliGrade is an IntelliJ port of [the Eclipse Grading Tool](https://github.com/kit-sdq/programming-lecture-eclipse-artemis).\nIt is used to grade [Artemis](https://github.com/ls1intum/Artemis) based exercises.\n\n## Running\n```\ngit clone https://github.com/kit-sdq/intelligrade/\ncd intelligrade\n./gradlew runIde --refresh-dependencies\n```\nfor updating, execute\n```\ncd intelligrade\ngit pull\n./gradlew runIde --refresh-dependencies\n```\n\n### Nix\n\n1. Enter dev shell using direnv or manually with `nix develop`\n\n2. Run the plugin\n   - Using a local IntellIJ Platform from nixpkgs\n     ```sh\n     run-ide\n     ```\n   - Using the IntellIJ Platform dependency from Gradle\n     ```sh\n     run-ide-non-local\n     ```\n\n## Setup\n\nIf the Welcome to IntelliJ IDEA screen pops up, simply create a new empty project and open it.\nThis will be the grading workspace. Set the Artemis URL at File \u003e Settings \u003e Tools \u003e IntelliGrade Settings,\nand press the connect button.\n\nThe tool window to the top right with the pen icon is the grading window, and the tool window with the sheet\nof paper icon to the bottom left is the annotations list.\n\n## Differences to the Eclipse tool\n\n- Hovering over line markers does not show the corresponding annotation(s). Instead, you can click on or hover over gutter icons to show the annotations. Selecting an annotation from the list brings you to the corresponding entry in the annotations list.\n- You can right click an annotation in the annotations list (or double-click the `message` column) to **edit its custom message and custom score** or **delete** the annotation.\n- The old Alt + Enter shortcut for adding annotations is now **Alt + A**. You can search in the popup as usual, and hold Control to add a custom message.\n- All editors are read-only.\n\n## Building\n- Make sure that you have Java \u003e=21 and a recent version of Gradle installed.\n- Run the gradle target `runIde` to get a development version of the IDE:\n    - on Windows: `gradlew.bat runIde --refresh-dependencies`\n    - on Linux: `./gradlew runIde --refresh-dependencies`\n  This will download IntelliJ Community Edition (may take several minutes) and run it with Intelligrade installed.\n\n## Compilation failures because of cached snapshots\n\nThis project depends on snapshot versions of `artemis4j`, and sometimes a cached version is not updated.\nSymptoms for this are compilation failures, even though the CI is green.\n\nTo fix this, you should try the following:\n1. Close IntelliJ\n2. Delete the folders ~/.gradle/.tmp ~/gradle/caches/ and ~/.m2/repository/*\n3. Then rerun with --refresh-dependencies\n\n## Features\n\n## Contributing\n\n### Important\nBefore starting, please make sure that you've understood *and internalized* Intellij's [threading model](https://plugins.jetbrains.com/docs/intellij/threading-model.html).\nWhatever you do, always remember which thread you are on (EDT/pooled) and what you can do on that thread.\n\nAlso, please do not touch the [JCEF login code](src/main/java/edu/kit/kastel/sdq/intelligrade/login) unless absolutely necessary.\nIt contains delicate synchronization code, which is needed since most JCEF methods are asynchronous and call you back on arbitrary threads.\nAlso, IntelliJ's JCEF wrapper (JBCEF) is very buggy.\n\n### UI\nMost layouts use MigLayout, which is included in IJ.\nGood references are [the white paper](http://www.miglayout.com/whitepaper.html) and [the cheat sheet](http://www.migcalendar.com/miglayout/mavensite/docs/cheatsheet.html).\nJB publishes [UI guidelines](https://plugins.jetbrains.com/docs/intellij/ui-guidelines-welcome.html), which are worth a read.\nFor icons, they have a very nice [search engine](https://intellij-icons.jetbrains.design/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkit-sdq%2Fintelligrade","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkit-sdq%2Fintelligrade","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkit-sdq%2Fintelligrade/lists"}