{"id":13442424,"url":"https://github.com/binaryage/dirac","last_synced_at":"2025-10-07T00:09:34.801Z","repository":{"id":39096871,"uuid":"48010047","full_name":"binaryage/dirac","owner":"binaryage","description":"A Chrome DevTools fork for ClojureScript developers","archived":false,"fork":false,"pushed_at":"2022-08-26T16:03:55.000Z","size":248406,"stargazers_count":772,"open_issues_count":20,"forks_count":29,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-10-04T07:49:20.566Z","etag":null,"topics":["chrome-devtools","chrome-extension","clojurescript","clojurescript-repl","dirac-devtools"],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/binaryage.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-12-15T00:37:56.000Z","updated_at":"2025-08-27T12:08:25.000Z","dependencies_parsed_at":"2022-08-09T10:16:04.290Z","dependency_job_id":null,"html_url":"https://github.com/binaryage/dirac","commit_stats":null,"previous_names":[],"tags_count":120,"template":false,"template_full_name":null,"purl":"pkg:github/binaryage/dirac","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binaryage%2Fdirac","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binaryage%2Fdirac/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binaryage%2Fdirac/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binaryage%2Fdirac/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/binaryage","download_url":"https://codeload.github.com/binaryage/dirac/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binaryage%2Fdirac/sbom","scorecard":{"id":238441,"data":{"date":"2025-08-11","repo":{"name":"github.com/binaryage/dirac","commit":"34064db1ff668938a22136fedd1f5077bb2504b9"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.5,"checks":[{"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":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","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":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"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":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","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":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"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":"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":"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":"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":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: license.txt:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: test/docker/Dockerfile:2: pin your Docker image by updating ubuntu:focal to ubuntu:focal@sha256:8feb4d8ca5354def3d8fce243717141ce31e2c428701f6682bd2fafe15388214","Warn: downloadThenRun not pinned by hash: test/docker/Dockerfile:24-27","Warn: downloadThenRun not pinned by hash: test/docker/Dockerfile:36-42","Warn: downloadThenRun not pinned by hash: scripts/position-for-version.sh:14","Warn: npmCommand not pinned by hash: scripts/test-devtools.sh:9","Info:   0 out of   1 containerImage dependencies pinned","Info:   0 out of   3 downloadThenRun dependencies pinned","Info:   0 out of   1 npmCommand 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":"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":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v1.7.2 not signed: https://api.github.com/repos/binaryage/dirac/releases/33750733","Warn: release artifact v1.7.1 not signed: https://api.github.com/repos/binaryage/dirac/releases/33328679","Warn: release artifact v1.7.0 not signed: https://api.github.com/repos/binaryage/dirac/releases/33327779","Warn: release artifact v1.6.1 not signed: https://api.github.com/repos/binaryage/dirac/releases/29278556","Warn: release artifact v1.6.0 not signed: https://api.github.com/repos/binaryage/dirac/releases/28025173","Warn: release artifact v1.7.2 does not have provenance: https://api.github.com/repos/binaryage/dirac/releases/33750733","Warn: release artifact v1.7.1 does not have provenance: https://api.github.com/repos/binaryage/dirac/releases/33328679","Warn: release artifact v1.7.0 does not have provenance: https://api.github.com/repos/binaryage/dirac/releases/33327779","Warn: release artifact v1.6.1 does not have provenance: https://api.github.com/repos/binaryage/dirac/releases/29278556","Warn: release artifact v1.6.0 does not have provenance: https://api.github.com/repos/binaryage/dirac/releases/28025173"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}}]},"last_synced_at":"2025-08-17T06:11:15.780Z","repository_id":39096871,"created_at":"2025-08-17T06:11:15.780Z","updated_at":"2025-08-17T06:11:15.780Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278699095,"owners_count":26030456,"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","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"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":["chrome-devtools","chrome-extension","clojurescript","clojurescript-repl","dirac-devtools"],"created_at":"2024-07-31T03:01:45.550Z","updated_at":"2025-10-07T00:09:34.783Z","avatar_url":"https://github.com/binaryage.png","language":"Clojure","readme":"# Dirac DevTools\n\n[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](license.txt) \n[![Clojars Project](https://img.shields.io/clojars/v/binaryage/dirac.svg)](https://clojars.org/binaryage/dirac) \n[![Travis](https://img.shields.io/travis/binaryage/dirac/master.svg)](https://travis-ci.org/binaryage/dirac) \n[![Examples](https://img.shields.io/badge/project-examples-ff69b4.svg)](https://github.com/binaryage/dirac/tree/master/examples) \n[![Chrome Extension](https://img.shields.io/badge/chrome-extension-ebb338.svg)](https://chrome.google.com/webstore/detail/dirac-devtools/kbkdngfljkchidcjpnfcgcokkbhlkogi)\n\nDirac is a flavored [Chrome DevTools][1] with extra tweaks for [ClojureScript](https://clojurescript.org) developers.\n\n**DOC** \n: **[Motivation](docs/motivation.md)**\n| **[Installation](docs/installation.md)**\n| **[Configuration](docs/configuration.md)**\n| **[Integration](docs/integration.md)**\n| **[Examples](https://github.com/binaryage/dirac/tree/master/examples)**\n| **[FAQ](docs/faq.md)**\n\n### Quick start\n\n1. install [the command-line tool](docs/cli.md)\n1. run `dirac` and wait for Chrome to launch\n1. in Chrome navigate away from \"chrome://welcome\" to some normal page, e.g. [https://clojurescript.org](https://clojurescript.org)\n1. in Chrome open DevTools (CTRL+SHIFT+I or CMD+OPT+I on a Mac)\n1. in DevTools switch to Console =\u003e Dirac prompt should enter `dirac.playground` and let you type in cljs code\n1. in Console enter `(js/console.log (str \"Hello\" \\space \"Dirac!\"))`\n\n### Introduction\n\nDirac project maintains [a set of patches][2] rolling on top of official Chrome DevTools.\nThat means you don't lose any functionality, you just sprinkle cljs enhancements on top. Additionally we \nprovide [a command-line tool](docs/cli.md) which allows you to launch Chrome with Dirac swapped in place of normal DevTools.\n\n  * enables [custom formatters][6] by default (for [cljs-devtools][7])\n     * custom formatters are displayed inline on Source Panel (during debugging)\n  * better [display of cljs function names][8]\n  * better display of cljs property names:\n    * macro-generated names are renamed to friendly names using sub-indexes\n    * properties are grouped, most important properties go first\n  * REPL integrated into DevTools Console\n    * eval cljs code in the context of currently selected stack frame (when paused on a breakpoint)\n    * cljs [code completion suggestions][4] (like completions in Javascript console)\n    * [Parinfer][5] goodness\n  * initialized [blackboxing patterns](https://developer.chrome.com/devtools/docs/blackboxing) of cljs core libraries for \n    better stack-trace experience\n\n### Screenshots\n\n![ClojureScript REPL][9]\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ca href=\"https://box.binaryage.com/dirac-general-completions.png\"\u003e\u003cimg src=\"https://box.binaryage.com/dirac-general-completions.png\" alt=\"general completions\"\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://box.binaryage.com/dirac-ns-completions.png\"\u003e\u003cimg src=\"https://box.binaryage.com/dirac-ns-completions.png\" alt=\"namespace completions\"\u003e\u003c/a\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ca href=\"https://box.binaryage.com/dirac-js-completions.png\"\u003e\u003cimg src=\"https://box.binaryage.com/dirac-js-completions.png\" alt=\"js completions\"\u003e\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n[1]: https://developer.chrome.com/devtools\n[2]: https://github.com/binaryage/dirac/commit/devtools-diff\n[4]: https://github.com/binaryage/dirac/releases/tag/v0.4.0\n[5]: https://shaunlebron.github.io/parinfer\n[6]: https://docs.google.com/document/d/1FTascZXT9cxfetuPRT2eXPQKXui4nWFivUnS_335T3U\n[7]: https://github.com/binaryage/cljs-devtools\n[8]: https://box.binaryage.com/dirac-non-trivial-beautified-stack-trace.png\n[9]: https://box.binaryage.com/dirac-main-01.png\n","funding_links":[],"categories":["Using DevTools frontend with other platforms","Clojure"],"sub_categories":["Browser Adapters"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbinaryage%2Fdirac","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbinaryage%2Fdirac","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbinaryage%2Fdirac/lists"}