{"id":19197621,"url":"https://github.com/lem-project/lem-extension-manager","last_synced_at":"2026-02-26T20:49:48.057Z","repository":{"id":188014164,"uuid":"677739538","full_name":"lem-project/lem-extension-manager","owner":"lem-project","description":"LEM(Lem extension manager) it's a package manager for the Lem editor/IDE","archived":false,"fork":false,"pushed_at":"2025-09-11T22:29:51.000Z","size":30,"stargazers_count":22,"open_issues_count":2,"forks_count":4,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-09-12T01:03:00.260Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://lem-project.github.io/","language":"Common Lisp","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/lem-project.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,"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-08-12T13:31:04.000Z","updated_at":"2025-09-11T22:29:55.000Z","dependencies_parsed_at":"2025-07-22T15:13:31.044Z","dependency_job_id":null,"html_url":"https://github.com/lem-project/lem-extension-manager","commit_stats":null,"previous_names":["lem-project/lem-extension-manager"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lem-project/lem-extension-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lem-project%2Flem-extension-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lem-project%2Flem-extension-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lem-project%2Flem-extension-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lem-project%2Flem-extension-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lem-project","download_url":"https://codeload.github.com/lem-project/lem-extension-manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lem-project%2Flem-extension-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29872659,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T18:42:30.764Z","status":"ssl_error","status_checked_at":"2026-02-26T18:41:47.936Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":[],"created_at":"2024-11-09T12:17:32.286Z","updated_at":"2026-02-26T20:49:48.041Z","avatar_url":"https://github.com/lem-project.png","language":"Common Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LEM (Lem Extension Manager)\n\nIt's a configuration library that add the ability to Lem to have packages withing the user configuration directory.\n\n## Usage\n\n### Init example\nThe main function that we can use to add new packages is `lem-use-package`, this fuctions allow us to add libraries\nthat will be loaded at run time when open Lem (the performance shouldn't be too much of a problem, as sbcl is very good using the cache).\n\nTo use this function, we can modify our `init.lisp` file in this way:\n - Using the git source (we can specify a branch or specific commit):\n\n\n```lisp\n(lem-extension-manager:lem-use-package\n \"lisp-critic\"\n :source (:type :git\n           :url \"https://github.com/g000001/lisp-critic.git\"))\n\t\t   \n(lem-extension-manager:lem-use-package \"versioned-objects\"\n                 :source (:type :git\n                           :url \"https://github.com/smithzvk/Versioned-Objects.git\"\n                           :branch \"advance-versioning\"))\n```\n - Using the quicklisp package manager directly:\n\n```lisp\n\n(lem-extension-manager:lem-use-package \"fiveam\" :source (:type :quicklisp))\n\n```\n\nIt's also possible to recursive dependenices that are not on quicklisp (for example, other github packages), using the `:dependencies` keyword:\n```lisp\n(lem-extension-manager:lem-use-package \"versioned-objects\"\n                                       :source (:type :git\n                                                :url \"https://github.com/smithzvk/Versioned-Objects.git\"\n                                                :branch \"advance-versioning\")\n                                       :dependencies ((\"ip-management\"\n                                                       :source\n                                                       (:type :git\n                                                        :url \"https://github.com/Sasanidas/ip-management.git\"))\n                                                      (\"1am\" :source (:type :quicklisp))))\n```\n\n### Interactive commands\n\nLEM also provides some interactive commands to add/remove extension:\n\n- `extension-manager-install-ql-package`:\n\nThis command will prompt for a list of all quicklisp indexed libraries to be installed, you can choose any of them and LEM will install it on your\nconfiguration (keep in mind that even tho it will get install/indexed for LEM, it will NOT be loaded unless specify in the configuration).\n\n\n- `extension-manager-test-ql-package`:\n\nThis command is similar to `extension-manager-install-ql-package` with the key difference that is intended to try out quicklisp packages, so the command will download the package to a temporary directory, loaded into Lem and then forget about it. It's inteded to test packages on the fly, to make it permanent, use the `lem-use-package` function.\n\n- `extension-manager-remove-package`:\n\nThis command will prompt for the installed packages and will removed the selected one.\n\n- `extension-manager-purge-packages`:\n\nThis command will remove ALL installed packages.\n\n\n\n## Configuration\n\nThe packages are installed on returned folder from the lem function `lem-extension-manager::default-home` by default, but can be changed by modifing the variable `lem-extension-manager:*packages-directory*`.\n\n\n\n\n## Internals\nTODO\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flem-project%2Flem-extension-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flem-project%2Flem-extension-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flem-project%2Flem-extension-manager/lists"}