{"id":28534546,"url":"https://github.com/weavejester/integrant-repl","last_synced_at":"2025-09-02T06:41:41.442Z","repository":{"id":14938530,"uuid":"77338600","full_name":"weavejester/integrant-repl","owner":"weavejester","description":"Reloaded workflow functions for Integrant","archived":false,"fork":false,"pushed_at":"2024-11-01T21:27:12.000Z","size":33,"stargazers_count":168,"open_issues_count":4,"forks_count":17,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-08-28T08:15:52.876Z","etag":null,"topics":["clojure","integrant","reloaded-workflow","repl"],"latest_commit_sha":null,"homepage":null,"language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/weavejester.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":null,"security":null,"support":null,"governance":null}},"created_at":"2016-12-25T18:50:29.000Z","updated_at":"2025-08-04T20:50:11.000Z","dependencies_parsed_at":"2023-11-07T19:27:20.419Z","dependency_job_id":"2013ec25-6a00-4a91-a01f-26fc0ab76ba4","html_url":"https://github.com/weavejester/integrant-repl","commit_stats":{"total_commits":36,"total_committers":8,"mean_commits":4.5,"dds":0.2222222222222222,"last_synced_commit":"49597163edd3b6180a35724ba2186ba06c1abaa4"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/weavejester/integrant-repl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weavejester%2Fintegrant-repl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weavejester%2Fintegrant-repl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weavejester%2Fintegrant-repl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weavejester%2Fintegrant-repl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weavejester","download_url":"https://codeload.github.com/weavejester/integrant-repl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weavejester%2Fintegrant-repl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273244305,"owners_count":25070958,"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-09-02T02:00:09.530Z","response_time":77,"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":["clojure","integrant","reloaded-workflow","repl"],"created_at":"2025-06-09T17:11:51.464Z","updated_at":"2025-09-02T06:41:41.432Z","avatar_url":"https://github.com/weavejester.png","language":"Clojure","readme":"# Integrant-REPL\n\nA Clojure library that implements the user functions of Stuart Sierra's\n[reloaded workflow][] for [Integrant][].\n\nIt's very similar to [reloaded.repl][], except that it works for\nIntegrant, rather than [Component][].\n\n[reloaded workflow]: https://cognitect.com/blog/2013/06/04/clojure-workflow-reloaded\n[integrant]: https://github.com/weavejester/integrant\n[reloaded.repl]: https://github.com/weavejester/reloaded.repl\n[component]: https://github.com/stuartsierra/component\n\n## Installation\n\nAdd the following dependency to your deps.edn file under a suitable\nalias:\n\n    integrant/repl {:mvn/version \"0.4.0\"}\n\nOr to your Leiningen project file under the dev profile:\n\n    [integrant/repl \"0.4.0\"]\n\n## Usage\n\nRequire the `integrant.repl` namespace in your user.clj file, and use\nthe set-prep! function to define a zero-argument function that returns\na prepared Integrant configuration.\n\nFor example:\n\n```clojure\n(ns user\n  (:require [integrant.core :as ig]\n            [integrant.repl :refer [clear go halt prep init reset reset-all]]))\n\n(def config {::foo {:example? true}})\n\n(integrant.repl/set-prep! #(ig/expand config (ig/deprofile [:dev])))\n```\n\nTo prepare the configuration, you can now use:\n\n```clojure\nuser=\u003e (prep)\n:prepped\n```\n\nThe configuration is stored in `integrant.repl.state/config`. To\ninitiate the configuration, use:\n\n```clojure\nuser=\u003e (init)\n:initiated\n```\n\nThis will turn the configuration into a running system, which is\nstored in `integrant.repl.state/system`.\n\nBecause these two steps are common, we can instead use:\n\n```clojure\nuser=\u003e (go)\n:initiated\n```\n\nThis performs the `(prep)` and `(init)` steps together. Once the\nsystem is running, we can stop it at any time:\n\n```clojure\nuser=\u003e (halt)\n:halted\n```\n\nIf we want to reload our source files and restart the system, we can\nuse:\n\n```clojure\nuser=\u003e (reset)\n:reloading (...)\n:resumed\n```\n\nBehind the scenes, Integrant-REPL uses [tools.namespace][]. You can\nset the directories that are monitored for changed files by using the\n`refresh-dirs` function:\n\n```clojure\nuser=\u003e (require '[clojure.tools.namespace.repl :refer [set-refresh-dirs]])\nnil\nuser=\u003e (set-refresh-dirs \"src/clj\")\n(\"src/clj\")\n```\n\n[tools.namespace]: https://github.com/clojure/tools.namespace/\n\n\n## License\n\nCopyright © 2024 James Reeves\n\nReleased under the MIT license.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweavejester%2Fintegrant-repl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweavejester%2Fintegrant-repl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweavejester%2Fintegrant-repl/lists"}