{"id":13442689,"url":"https://github.com/fukamachi/cl-project","last_synced_at":"2026-01-27T17:37:32.617Z","repository":{"id":60376907,"uuid":"1853361","full_name":"fukamachi/cl-project","owner":"fukamachi","description":"Generate modern project skeletons","archived":false,"fork":false,"pushed_at":"2024-06-07T11:48:07.000Z","size":74,"stargazers_count":259,"open_issues_count":5,"forks_count":42,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-02-18T20:59:28.808Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/fukamachi.png","metadata":{"files":{"readme":"README.markdown","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}},"created_at":"2011-06-06T07:07:46.000Z","updated_at":"2025-02-12T17:52:14.000Z","dependencies_parsed_at":"2024-01-05T22:14:25.952Z","dependency_job_id":"7c6c2c5f-41b1-4044-bee4-797ba7454a56","html_url":"https://github.com/fukamachi/cl-project","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fukamachi%2Fcl-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fukamachi%2Fcl-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fukamachi%2Fcl-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fukamachi%2Fcl-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fukamachi","download_url":"https://codeload.github.com/fukamachi/cl-project/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247393569,"owners_count":20931813,"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","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-07-31T03:01:49.199Z","updated_at":"2026-01-27T17:37:32.578Z","avatar_url":"https://github.com/fukamachi.png","language":"Common Lisp","readme":"# CL-Project - Generate modern project skeletons\n\n[![Build Status](https://travis-ci.org/fukamachi/cl-project.svg?branch=master)](https://travis-ci.org/fukamachi/cl-project)\n[![Quicklisp dist](http://quickdocs.org/badge/cl-project.svg)](http://quickdocs.org/cl-project/)\n\n## Usage\n\n```common-lisp\n(cl-project:make-project #p\"lib/cl-sample/\"\n  :name \"cl-sample\"\n  :long-name \"common-lisp-sample\"\n  :author \"Eitaro Fukamachi\"\n  :maintainer \"Eitaro Fukamachi\"\n  :email \"e.arrows@gmail.com\"\n  :license \"MIT\"\n  :homepage \"https://github.com/fukamachi/cl-project\"\n  :bug-tracker \"https://github.com/fukamachi/cl-project/issues\"\n  :source-control \"https://github.com/fukamachi/cl-project.git\"\n  :version \"0.1.1\"\n  :description \"Sample library\"\n  :long-description \"Common Lisp sample library\"\n  :depends-on '(:clack alexandria)\n  :use '(:cl)\n  :import-from '(:clack (serapeum concat))\n  :export '(test-function test-constant)\n  :code '((alexandria:define-constant test-constant \"hallo\" :test 'string=)\n          (defun test-function (user)\n            \"docstring\"\n            (concat test-constant \" \" user)))\n  :load-system t)\n;-\u003e writing /Users/fukamachi/Programs/lib/cl-sample/.gitignore\n;   writing /Users/fukamachi/Programs/lib/cl-sample/README.markdown\n;   writing /Users/fukamachi/Programs/lib/cl-sample/cl-sample-test.asd\n;   writing /Users/fukamachi/Programs/lib/cl-sample/cl-sample.asd\n;   writing /Users/fukamachi/Programs/lib/cl-sample/src/main.lisp\n;   writing /Users/fukamachi/Programs/lib/cl-sample/t/main.lisp\n;\n;   compiling file \"/Users/fukamachi/Programs/lib/cl-sample/src/main.lisp\"\n;   compilation finished in 0:00:00.004\n;=\u003e T\n```\n\n## What's the difference from other generators?\n\n### 1. Flexible templates\n\nCL-Project supports more parameters to embed, by using [CL-EMB](http://common-lisp.net/project/cl-emb/) to represent the skeleton files (See \"cl-project/skeleton/\").\n\n### 2. One package per file style (Modern)\n\nA modern CL project should be in accordance with [some rules](http://labs.ariel-networks.com/cl-style-guide.html). For instance, one file must have one package in it.\n\n### 3. Recommends unit testing\n\nModern projects should have some unit tests. CL-Project generates a system for unit testing, so you can begin writing unit tests as soon as the project is generated.\n\n## Parameters\n\nAll parameters are optional.\n\n* `:name`: Project name. If this key isn't specified, the directory name will be used.\n* `:long-name`: Project name long form.\n* `:description`: Short description for the new project.\n* `:long-description`: Long description for the new project.\n* `:version`: Project version.\n* `:author`: Your name.\n* `:maintainer`: Project maintainer.\n* `:email`: Your e-mail address.\n* `:license`: License of the new project.\n* `:homepage`: Project homepage.\n* `:bug-tracker`: Project bug-tracker. E.g. Git issue tracker.\n* `:source-control`: Project source-control.\n* `:depends-on`: A list of dependencies for the system definition. If `use` or `import-from` is specified, the respective packages are added to this list automatically.\n* `:without-tests`: If true, then no testing system, folder, and file are generated. Default: nil.\n* `:verbose`: If true, the written files directories are printed to the standard output. Default: t.\n* `:use`: A list of packages that will be in the use-clause of the package definition. If you do not want to use any package, then supply `nil`. Default value: `'(:cl)`.\n* `:import-from`: A list of packages and symbols that will be in import-from-clauses in the package definition. Value can be a list or nested list.\n* `:export`: A list of symbols that will be exported from the package definition.\n* `:code`: Source code that will be inserted in main.lisp file. Can be nil, string, or a list of forms. Make sure to use, import-from, or qualify the necessary symbols.\n* `:load-system`: If `load-system` is not `nil`, the generated system is loaded with `asdf:load-system`. Default is `nil`.\n\n## See Also\n- [Rove](https://github.com/fukamachi/rove) - Testing framework\n\n## Author\n\n* Eitaro Fukamachi (e.arrows@gmail.com)\n\n## Copyright\n\nCopyright (c) 2011 Eitaro Fukamachi (e.arrows@gmail.com)\n\n## License\n\nLicensed under the MIT License.\n","funding_links":[],"categories":["Common Lisp","Online editors ##"],"sub_categories":["Third-party APIs"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffukamachi%2Fcl-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffukamachi%2Fcl-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffukamachi%2Fcl-project/lists"}