{"id":13442268,"url":"https://github.com/nrepl/nrepl","last_synced_at":"2026-02-26T22:18:37.675Z","repository":{"id":37663448,"uuid":"928777","full_name":"nrepl/nrepl","owner":"nrepl","description":"A Clojure network REPL that provides a server and client, along with some common APIs of use to IDEs and other tools that may need to evaluate Clojure code in remote environments.","archived":false,"fork":false,"pushed_at":"2026-02-18T16:14:24.000Z","size":2668,"stargazers_count":868,"open_issues_count":41,"forks_count":106,"subscribers_count":17,"default_branch":"master","last_synced_at":"2026-02-18T16:38:54.099Z","etag":null,"topics":["clojure","nrepl","repl"],"latest_commit_sha":null,"homepage":"https://nrepl.org","language":"Clojure","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/nrepl.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"bbatsov","patreon":"bbatsov","ko_fi":"bbatsov","open_collective":"nrepl","liberapay":"bbatsov","custom":"https://www.paypal.me/bbatsov"}},"created_at":"2010-09-21T20:22:01.000Z","updated_at":"2026-02-18T16:20:24.000Z","dependencies_parsed_at":"2023-10-11T19:31:39.669Z","dependency_job_id":"a14495d7-86a9-4c8c-8bd8-84fc576d3ea8","html_url":"https://github.com/nrepl/nrepl","commit_stats":{"total_commits":1165,"total_committers":85,"mean_commits":"13.705882352941176","dds":0.6214592274678112,"last_synced_commit":"cc6b88f39e6e81333f5a87767e36885bb2937fe3"},"previous_names":["cemerick/nrepl","clojure-emacs/nrepl"],"tags_count":56,"template":false,"template_full_name":null,"purl":"pkg:github/nrepl/nrepl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nrepl%2Fnrepl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nrepl%2Fnrepl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nrepl%2Fnrepl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nrepl%2Fnrepl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nrepl","download_url":"https://codeload.github.com/nrepl/nrepl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nrepl%2Fnrepl/sbom","scorecard":{"id":696721,"data":{"date":"2025-08-11","repo":{"name":"github.com/nrepl/nrepl","commit":"3cc751aa78e822de8ca38d4959477c89aec6d741"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.3,"checks":[{"name":"Code-Review","score":4,"reason":"Found 11/24 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":1,"reason":"2 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/libnrepl.yml:1","Warn: no topLevel permission defined: .github/workflows/spell_checking.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":7,"reason":"binaries present in source code","details":["Warn: binary detected: res/libnrepl-linux-arm64.so:1","Warn: binary detected: res/libnrepl-linux-x64.so:1","Warn: binary detected: res/libnrepl-macos-universal.so:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/libnrepl.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/nrepl/nrepl/libnrepl.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/libnrepl.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/nrepl/nrepl/libnrepl.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/libnrepl.yml:67: update your workflow using https://app.stepsecurity.io/secureworkflow/nrepl/nrepl/libnrepl.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/libnrepl.yml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/nrepl/nrepl/libnrepl.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/libnrepl.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/nrepl/nrepl/libnrepl.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/libnrepl.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/nrepl/nrepl/libnrepl.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/libnrepl.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/nrepl/nrepl/libnrepl.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/libnrepl.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/nrepl/nrepl/libnrepl.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/libnrepl.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/nrepl/nrepl/libnrepl.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/libnrepl.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/nrepl/nrepl/libnrepl.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/spell_checking.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/nrepl/nrepl/spell_checking.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/spell_checking.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/nrepl/nrepl/spell_checking.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/spell_checking.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/nrepl/nrepl/spell_checking.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/spell_checking.yml:20","Warn: pipCommand not pinned by hash: .github/workflows/spell_checking.yml:21","Warn: pipCommand not pinned by hash: .github/workflows/spell_checking.yml:22","Warn: downloadThenRun not pinned by hash: .github/workflows/spell_checking.yml:32","Info:   0 out of  11 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned","Info:   0 out of   1 downloadThenRun dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":0,"reason":"license file not detected","details":["Warn: project does not have a license file"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 19 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T03:55:53.158Z","repository_id":37663448,"created_at":"2025-08-22T03:55:53.158Z","updated_at":"2025-08-22T03:55:53.158Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29874559,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T21:05:00.265Z","status":"ssl_error","status_checked_at":"2026-02-26T20:57:13.669Z","response_time":89,"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":["clojure","nrepl","repl"],"created_at":"2024-07-31T03:01:43.709Z","updated_at":"2026-02-26T22:18:37.634Z","avatar_url":"https://github.com/nrepl.png","language":"Clojure","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.github.com/nrepl/nrepl/master/logo/logo-w1280.png\" width=\"640\" alt=\"nREPL Logo\"/\u003e\n\u003c/p\u003e\n\n----------\n[![CircleCI](https://img.shields.io/circleci/build/github/nrepl/nrepl/master.svg)](https://circleci.com/gh/nrepl/nrepl/tree/master)\n[![Spell-check Status](https://github.com/nrepl/nrepl/actions/workflows/spell_checking.yml/badge.svg)](https://github.com/nrepl/nrepl/actions/workflows/spell_checking.yml)\n[![Clojars Project](https://img.shields.io/clojars/v/nrepl.svg)](https://clojars.org/nrepl/nrepl)\n[![cljdoc badge](https://cljdoc.org/badge/nrepl/nrepl)](https://cljdoc.org/d/nrepl/nrepl/CURRENT)\n[![Downloads](https://img.shields.io/clojars/dt/nrepl/nrepl?color=cornflowerblue)](https://clojars.org/nrepl/nrepl)\n[![Backers on Open Collective](https://opencollective.com/nrepl/backers/badge.svg)](#backers)\n[![Sponsors on Open Collective](https://opencollective.com/nrepl/sponsors/badge.svg)](#sponsors)\n\nnREPL is a Clojure *n*etwork REPL that\nprovides a REPL server and client, along with some common APIs\nof use to IDEs and other tools that may need to evaluate Clojure\ncode in remote environments.\n\nnREPL powers [many well-known development tools](https://nrepl.org/nrepl/usage/clients.html).\n\n## Usage\n\n* Start an nREPL server (e.g. with `lein repl`)\n* Connect to the server using any nREPL client (e.g. CIDER, Calva, vim-fireplace, rebel-readline)\n* Start hacking!\n\nSee the [documentation](https://nrepl.org/nrepl/usage/server.html) for way more information on the subject.\n\n## API Documentation\n\nYou can find nREPL's API documentation on [cljdoc](https://cljdoc.org/d/nrepl/nrepl/CURRENT).\n\n## Status\n\nExtremely stable. nREPL's protocol and API are rock-solid and battle\ntested. nREPL's team pledges to evolve them only in\nbackwards-compatible ways.\n\nAll experimental features are marked explicitly as such in nREPL's\ndocumentation, but even those are fairly stable by most standards.\n\n## FAQ\n\n### How is this different from the \"contrib\" [tools.nrepl](https://github.com/clojure/tools.nrepl/) project?\n\nCheck the brief history of nREPL, available\n[here](https://nrepl.org/nrepl/about/history.html).\n\n### How does nREPL compare to other REPL servers (e.g. `prepl`)?\n\nCheck out [this detailed comparison](https://nrepl.org/nrepl/alternatives.html).\n\n### Does nREPL support ClojureScript?\n\nYes and no. The reference nREPL implementation is Clojure-specific, but it can be extended with ClojureScript support\nvia the Piggieback middleware. In the future there may be implementations of nREPL that target ClojureScript directly.\n\n### Does nREPL support other programming languages besides Clojure?\n\nThe nREPL protocol is language-agnostic and implementations of nREPL servers exist for [several programming languages](https://nrepl.org/nrepl/beyond_clojure.html).\nImplementing new nREPL servers is [pretty simple](https://nrepl.org/nrepl/building_servers.html).\n\n## Testing and Hacking around\n\nSee [Hacking on nREPL](doc/modules/ROOT/pages/hacking_on_nrepl.adoc).\n\n## Contributors\n\nThis project exists thanks to all the people who contribute.\n\u003ca href=\"https://github.com/nrepl/nrepl/graphs/contributors\"\u003e\u003cimg src=\"https://opencollective.com/nrepl/contributors.svg?width=890\u0026button=false\" /\u003e\u003c/a\u003e\n\n\n## Backers\n\nThank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/nrepl#backer)]\n\n\u003ca href=\"https://opencollective.com/nrepl#backers\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/nrepl/backers.svg?width=890\"\u003e\u003c/a\u003e\n\n\n## Sponsors\n\nSupport this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/nrepl#sponsor)]\n\n\u003ca href=\"https://opencollective.com/nrepl/sponsor/0/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/nrepl/sponsor/0/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/nrepl/sponsor/1/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/nrepl/sponsor/1/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/nrepl/sponsor/2/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/nrepl/sponsor/2/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/nrepl/sponsor/3/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/nrepl/sponsor/3/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/nrepl/sponsor/4/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/nrepl/sponsor/4/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/nrepl/sponsor/5/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/nrepl/sponsor/5/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/nrepl/sponsor/6/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/nrepl/sponsor/6/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/nrepl/sponsor/7/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/nrepl/sponsor/7/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/nrepl/sponsor/8/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/nrepl/sponsor/8/avatar.svg\"\u003e\u003c/a\u003e\n\u003ca href=\"https://opencollective.com/nrepl/sponsor/9/website\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/nrepl/sponsor/9/avatar.svg\"\u003e\u003c/a\u003e\n\n\n\n## License\n\nCopyright © 2010-2026 Chas Emerick, Bozhidar Batsov and contributors.\n\nLicensed under the EPL. (See the file epl.html.)\n","funding_links":["https://github.com/sponsors/bbatsov","https://patreon.com/bbatsov","https://ko-fi.com/bbatsov","https://opencollective.com/nrepl","https://liberapay.com/bbatsov","https://www.paypal.me/bbatsov"],"categories":["Clojure","clojure"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnrepl%2Fnrepl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnrepl%2Fnrepl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnrepl%2Fnrepl/lists"}