-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
988d7f0
commit ca36f5c
Showing
2 changed files
with
46 additions
and
86 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,20 +6,12 @@ | |
|
||
## 40ANTS-PROJECT-TEMPLATES ASDF System Details | ||
|
||
* Version: 0.3.0 | ||
|
||
* Description: A bunch of Mystic templates to create `CL` library, web-project, `API` microservice and `CLI` command. | ||
|
||
* Licence: Unlicense | ||
|
||
* Author: Alexander Artemenko <[email protected]> | ||
|
||
* Homepage: [https://40ants.com/project-templates/][863f] | ||
|
||
* Bug tracker: [https://github.com/40ants/project-templates/issues][8fc2] | ||
|
||
* Source control: [GIT][41d7] | ||
|
||
* Depends on: [alexandria][8236], [cl-ppcre][49b9], [mystic][417d], [mystic-file-mixin][38f5], [str][ef7f] | ||
|
||
[![](https://github-actions.40ants.com/40ants/project-templates/matrix.svg?only=ci.run-tests)][ca1d] | ||
|
@@ -44,9 +36,7 @@ You can install this library from Quicklisp, but you want to receive updates qui | |
This library provides following template classes: | ||
|
||
* [`library-template`][a2ba] | ||
|
||
* [`reblocks-app-template`][9624] | ||
|
||
* [`jsonrpc-app-template`][5748] | ||
|
||
To create new projects out of these templates, use functions [`create-library`][560f] and [`create-reblocks-app`][7346]: | ||
|
@@ -84,7 +74,7 @@ CL-USER> (mystic:render * | |
|
||
<a id="x-2840ANTS-PROJECT-TEMPLATES-2FLIBRARY-3ALIBRARY-TEMPLATE-20CLASS-29"></a> | ||
|
||
#### [class](b8ee) `40ants-project-templates/library:library-template` (qlfile-mixin clpm-mixin docs-mixin ci-mixin rove-tests-mixin gitignore-mixin file-mixin) | ||
#### [class](3cdf) `40ants-project-templates/library:library-template` (qlfile-mixin clpm-mixin docs-mixin ci-mixin rove-tests-mixin gitignore-mixin file-mixin) | ||
|
||
Mystic template to create a Common Lisp library with documentation, tests and continuous integration. | ||
|
||
|
@@ -95,40 +85,28 @@ Use [`40ants-project-templates:create-library`][560f] function to generate a ske | |
##### Included mixins | ||
|
||
* [`qlfile-mixin`][c335] | ||
|
||
* [`clpm-mixin`][f9c4] | ||
|
||
* [`docs-mixin`][333e] | ||
|
||
* [`ci-mixin`][5153] | ||
|
||
* [`rove-tests-mixin`][2215] | ||
|
||
* [`gitignore-mixin`][cb6d] | ||
|
||
<a id="options"></a> | ||
|
||
##### Options | ||
|
||
* `:AUTHOR` - Author. **Required**. The project author's name. | ||
|
||
* `:NAME` - Name. **Required**. The project's name. | ||
|
||
* `:DESCRIPTION` - Description. A short, one-line description of the project. | ||
|
||
* `:DOC-THEME` - Documentation Theme. A theme name in the form of the fully specified symbol name (as a string). Example: 40ants-doc-theme-40ants:40ants-theme. | ||
|
||
* `:EMAIL` - Email. The project author's email. | ||
|
||
* `:GITHUB` - GitHub `URL`. The project's `URL` on the GitHub. | ||
|
||
* `:HOMEPAGE` - Homepage. `URL` of the project's homepage. | ||
|
||
* `:LICENSE` - License. Default: "`BSD`". The project's license string, e.g. '`MIT`', '`GPL`v3'. | ||
|
||
<a id="x-2840ANTS-PROJECT-TEMPLATES-3ACREATE-LIBRARY-20FUNCTION-29"></a> | ||
|
||
#### [function](7b23) `40ants-project-templates:create-library` directory-path name description &key request-all-options | ||
#### [function](6b7a) `40ants-project-templates:create-library` directory-path name description &key request-all-options | ||
|
||
Creates Common Lisp library in the specified directory. | ||
|
||
|
@@ -137,15 +115,15 @@ call to `MYSTIC:RENDER` function to pass any options you like as a list. | |
|
||
<a id="x-2840ANTS-PROJECT-TEMPLATES-2FLIBRARY-3AMAKE-CORE-FILE-20GENERIC-FUNCTION-29"></a> | ||
|
||
#### [generic-function](ff87) `40ants-project-templates/library:make-core-file` template | ||
#### [generic-function](26da) `40ants-project-templates/library:make-core-file` template | ||
|
||
Should return a file object, which creates main lisp file. | ||
|
||
Use [`make-file`][659a] function to create a [`mystic.template.file:file`][a919] object. | ||
|
||
<a id="x-2840ANTS-PROJECT-TEMPLATES-2FLIBRARY-3AMAKE-SYSTEM-FILE-20GENERIC-FUNCTION-29"></a> | ||
|
||
#### [generic-function](a1b6) `40ants-project-templates/library:make-system-file` template | ||
#### [generic-function](1773) `40ants-project-templates/library:make-system-file` template | ||
|
||
Should return a file object, which creates `{{ name }}.asd` file. | ||
|
||
|
@@ -155,7 +133,7 @@ Should return a file object, which creates `{{ name }}.asd` file. | |
|
||
<a id="x-2840ANTS-PROJECT-TEMPLATES-2FREBLOCKS-APP-3AREBLOCKS-APP-TEMPLATE-20CLASS-29"></a> | ||
|
||
#### [class](c162) `40ants-project-templates/reblocks-app:reblocks-app-template` (library-template) | ||
#### [class](b8dd) `40ants-project-templates/reblocks-app:reblocks-app-template` (library-template) | ||
|
||
This template creates a Reblocks web application with a few simple widgets. | ||
|
||
|
@@ -169,24 +147,17 @@ for a new web service. | |
##### Options | ||
|
||
* `:AUTHOR` - Author. **Required**. The project author's name. | ||
|
||
* `:NAME` - Name. **Required**. The project's name. | ||
|
||
* `:DESCRIPTION` - Description. A short, one-line description of the project. | ||
|
||
* `:DOC-THEME` - Documentation Theme. A theme name in the form of the fully specified symbol name (as a string). Example: 40ants-doc-theme-40ants:40ants-theme. | ||
|
||
* `:EMAIL` - Email. The project author's email. | ||
|
||
* `:GITHUB` - GitHub `URL`. The project's `URL` on the GitHub. | ||
|
||
* `:HOMEPAGE` - Homepage. `URL` of the project's homepage. | ||
|
||
* `:LICENSE` - License. Default: "`BSD`". The project's license string, e.g. '`MIT`', '`GPL`v3'. | ||
|
||
<a id="x-2840ANTS-PROJECT-TEMPLATES-3ACREATE-REBLOCKS-APP-20FUNCTION-29"></a> | ||
|
||
#### [function](3e1a) `40ants-project-templates:create-reblocks-app` directory-path name description &key request-all-options | ||
#### [function](6529) `40ants-project-templates:create-reblocks-app` directory-path name description &key request-all-options | ||
|
||
Creates Common Lisp web application in the specified directory. | ||
|
||
|
@@ -199,19 +170,16 @@ call to `MYSTIC:RENDER` function to pass any options you like as a list. | |
|
||
<a id="x-2840ANTS-PROJECT-TEMPLATES-2FJSONRPC-APP-3AJSONRPC-APP-TEMPLATE-20CLASS-29"></a> | ||
|
||
#### [class](d74a) `40ants-project-templates/jsonrpc-app:jsonrpc-app-template` (library-template) | ||
#### [class](a290) `40ants-project-templates/jsonrpc-app:jsonrpc-app-template` (library-template) | ||
|
||
This template creates a `JSON-RPC` `API` server. | ||
|
||
Other behaviour is inherited from [`library-template`][a2ba]. | ||
This server will provide: | ||
|
||
* `API` methods created using [`openrpc-server`][24be] system. | ||
|
||
* Open`RPC` specification at /openrpc.json `URI`. | ||
|
||
* Logging, configured to output data in `JSON` format. | ||
|
||
* Optional `SLYNK` server running on port given as `SLYNK_PORT` env variable. | ||
|
||
Use [`40ants-project-templates:create-jsonrpc-app`][a32b] function to generate a skeleton | ||
|
@@ -222,24 +190,17 @@ for a new web service. | |
##### Options | ||
|
||
* `:AUTHOR` - Author. **Required**. The project author's name. | ||
|
||
* `:NAME` - Name. **Required**. The project's name. | ||
|
||
* `:DESCRIPTION` - Description. A short, one-line description of the project. | ||
|
||
* `:DOC-THEME` - Documentation Theme. A theme name in the form of the fully specified symbol name (as a string). Example: 40ants-doc-theme-40ants:40ants-theme. | ||
|
||
* `:EMAIL` - Email. The project author's email. | ||
|
||
* `:GITHUB` - GitHub `URL`. The project's `URL` on the GitHub. | ||
|
||
* `:HOMEPAGE` - Homepage. `URL` of the project's homepage. | ||
|
||
* `:LICENSE` - License. Default: "`BSD`". The project's license string, e.g. '`MIT`', '`GPL`v3'. | ||
|
||
<a id="x-2840ANTS-PROJECT-TEMPLATES-3ACREATE-JSONRPC-APP-20FUNCTION-29"></a> | ||
|
||
#### [function](d4c9) `40ants-project-templates:create-jsonrpc-app` directory-path name description &key request-all-options | ||
#### [function](5cd5) `40ants-project-templates:create-jsonrpc-app` directory-path name description &key request-all-options | ||
|
||
Creates Common Lisp `RPC` `API` application in the specified directory. | ||
|
||
|
@@ -256,7 +217,7 @@ call to `MYSTIC:RENDER` function to pass any options you like as a list. | |
|
||
<a id="x-2840ANTS-PROJECT-TEMPLATES-2FMIXIN-2FCI-3ACI-MIXIN-20CLASS-29"></a> | ||
|
||
#### [class](7ed8) `40ants-project-templates/mixin/ci:ci-mixin` (file-mixin) | ||
#### [class](45ac) `40ants-project-templates/mixin/ci:ci-mixin` (file-mixin) | ||
|
||
Adds docs based on 40ants-docs. | ||
|
||
|
@@ -266,7 +227,7 @@ Adds docs based on 40ants-docs. | |
|
||
<a id="x-2840ANTS-PROJECT-TEMPLATES-2FMIXIN-2FCLPM-3ACLPM-MIXIN-20CLASS-29"></a> | ||
|
||
#### [class](e79b) `40ants-project-templates/mixin/clpm:clpm-mixin` (file-mixin) | ||
#### [class](28e4) `40ants-project-templates/mixin/clpm:clpm-mixin` (file-mixin) | ||
|
||
Adds clpmfile into the root of the project. | ||
|
||
|
@@ -276,7 +237,7 @@ Adds clpmfile into the root of the project. | |
|
||
<a id="x-2840ANTS-PROJECT-TEMPLATES-2FMIXIN-2FDOCS-3ADOCS-MIXIN-20CLASS-29"></a> | ||
|
||
#### [class](2577) `40ants-project-templates/mixin/docs:docs-mixin` (file-mixin) | ||
#### [class](b253) `40ants-project-templates/mixin/docs:docs-mixin` (file-mixin) | ||
|
||
Adds docs based on 40ants-docs. | ||
|
||
|
@@ -286,19 +247,19 @@ Adds docs based on 40ants-docs. | |
|
||
<a id="x-2840ANTS-PROJECT-TEMPLATES-2FMIXIN-2FGITIGNORE-3AGITIGNORE-MIXIN-20CLASS-29"></a> | ||
|
||
#### [class](7538) `40ants-project-templates/mixin/gitignore:gitignore-mixin` () | ||
#### [class](354a) `40ants-project-templates/mixin/gitignore:gitignore-mixin` () | ||
|
||
Adds .gitignore into the root of the project. | ||
|
||
<a id="x-2840ANTS-PROJECT-TEMPLATES-2FMIXIN-2FGITIGNORE-3A-2APATTERNS-2A-20-28VARIABLE-29-29"></a> | ||
|
||
#### [variable](a867) `40ants-project-templates/mixin/gitignore:*patterns*` ("*~" ".#*" ".*.~undo-tree~") | ||
#### [variable](d1b3) `40ants-project-templates/mixin/gitignore:*patterns*` ("*~" ".#*" ".*.~undo-tree~") | ||
|
||
Default list of patterns which returned by [`patterns-to-ignore`][fcc9] generic function. | ||
|
||
<a id="x-2840ANTS-PROJECT-TEMPLATES-2FMIXIN-2FGITIGNORE-3APATTERNS-TO-IGNORE-20GENERIC-FUNCTION-29"></a> | ||
|
||
#### [generic-function](39dd) `40ants-project-templates/mixin/gitignore:patterns-to-ignore` template | ||
#### [generic-function](4e98) `40ants-project-templates/mixin/gitignore:patterns-to-ignore` template | ||
|
||
Should return a list of patterns to add to .gitignore. Default method takes them from [`*patterns*`][0c07] variable. | ||
|
||
|
@@ -308,13 +269,13 @@ Should return a list of patterns to add to .gitignore. Default method takes them | |
|
||
<a id="x-2840ANTS-PROJECT-TEMPLATES-2FMIXIN-2FQLFILE-3AQLFILE-MIXIN-20CLASS-29"></a> | ||
|
||
#### [class](f5e4) `40ants-project-templates/mixin/qlfile:qlfile-mixin` (file-mixin) | ||
#### [class](ffc6) `40ants-project-templates/mixin/qlfile:qlfile-mixin` (file-mixin) | ||
|
||
Adds qlfile into the root of the project. | ||
|
||
<a id="x-2840ANTS-PROJECT-TEMPLATES-2FMIXIN-2FQLFILE-3AQLFILE-PIECES-20GENERIC-FUNCTION-29"></a> | ||
|
||
#### [generic-function](7356) `40ants-project-templates/mixin/qlfile:qlfile-pieces` template | ||
#### [generic-function](0fd8) `40ants-project-templates/mixin/qlfile:qlfile-pieces` template | ||
|
||
Returns a list of strings which will be concatentated to build a qlfile. | ||
|
||
|
@@ -324,7 +285,7 @@ Returns a list of strings which will be concatentated to build a qlfile. | |
|
||
<a id="x-2840ANTS-PROJECT-TEMPLATES-2FMIXIN-2FROVE-TESTS-3AROVE-TESTS-MIXIN-20CLASS-29"></a> | ||
|
||
#### [class](da28) `40ants-project-templates/mixin/rove-tests:rove-tests-mixin` (file-mixin) | ||
#### [class](0e83) `40ants-project-templates/mixin/rove-tests:rove-tests-mixin` (file-mixin) | ||
|
||
Adds tests based on Rove. | ||
|
||
|
@@ -334,36 +295,36 @@ Adds tests based on Rove. | |
|
||
<a id="x-28MYSTIC-2ETEMPLATE-2EFILE-3AFILE-MIXIN-20CLASS-29"></a> | ||
|
||
### [class](0a32) `mystic.template.file:file-mixin` (template) | ||
### [class](b6c5) `mystic.template.file:file-mixin` (template) | ||
|
||
A Mystic template mixin for rendering a list of files using Mustache. | ||
|
||
<a id="x-28MYSTIC-2ETEMPLATE-2EFILE-3AFILE-20CLASS-29"></a> | ||
|
||
### [class](9409) `mystic.template.file:file` () | ||
### [class](3b31) `mystic.template.file:file` () | ||
|
||
A file. | ||
|
||
<a id="x-28MYSTIC-2ETEMPLATE-2EFILE-3AFILE-CONTENT-20-2840ANTS-DOC-2FLOCATIVES-3AREADER-20MYSTIC-2ETEMPLATE-2EFILE-3AFILE-29-29"></a> | ||
|
||
### [reader](b6db) `mystic.template.file:file-content` (file) (:content) | ||
### [reader](a435) `mystic.template.file:file-content` (file) (:content) | ||
|
||
The file's contents, a Mustache template string. | ||
|
||
<a id="x-28MYSTIC-2ETEMPLATE-2EFILE-3AFILE-PATH-20-2840ANTS-DOC-2FLOCATIVES-3AREADER-20MYSTIC-2ETEMPLATE-2EFILE-3AFILE-29-29"></a> | ||
|
||
### [reader](54ca) `mystic.template.file:file-path` (file) (:path) | ||
### [reader](feb3) `mystic.template.file:file-path` (file) (:path) | ||
|
||
The path to the file relative to the directory, | ||
a Mustache template string. | ||
|
||
<a id="x-28MYSTIC-2ETEMPLATE-2EFILE-3AMAKE-FILE-20FUNCTION-29"></a> | ||
|
||
### [function](14a3) `mystic.template.file:make-file` system-name path output-path-template | ||
### [function](a265) `mystic.template.file:make-file` system-name path output-path-template | ||
|
||
<a id="x-2840ANTS-PROJECT-TEMPLATES-2FUTILS-3AENSURE-TEMPLATE-DOCSTRING-HAS-OPTIONS-DESCRIPTION-20FUNCTION-29"></a> | ||
|
||
### [function](efbd) `40ants-project-templates/utils:ensure-template-docstring-has-options-description` CLASS-NAME &KEY (TITLE "## Options") | ||
### [function](162c) `40ants-project-templates/utils:ensure-template-docstring-has-options-description` CLASS-NAME &KEY (TITLE "## Options") | ||
|
||
Appends options description to the documentation string of a given template class. | ||
|
||
|
@@ -395,29 +356,29 @@ template class docstrings. | |
[659a]: https://40ants.com/project-templates/#x-28MYSTIC-2ETEMPLATE-2EFILE-3AMAKE-FILE-20FUNCTION-29 | ||
[41d7]: https://github.com/40ants/project-templates | ||
[ca1d]: https://github.com/40ants/project-templates/actions | ||
[9409]: https://github.com/40ants/project-templates/blob/f78dfa29a6098fb9587a77fb18e11175cbaab3ab/.qlot/dists/ultralisp/software/roswell-mystic-20230314045148/templates/mixins/file/file.lisp#L18 | ||
[54ca]: https://github.com/40ants/project-templates/blob/f78dfa29a6098fb9587a77fb18e11175cbaab3ab/.qlot/dists/ultralisp/software/roswell-mystic-20230314045148/templates/mixins/file/file.lisp#L19 | ||
[b6db]: https://github.com/40ants/project-templates/blob/f78dfa29a6098fb9587a77fb18e11175cbaab3ab/.qlot/dists/ultralisp/software/roswell-mystic-20230314045148/templates/mixins/file/file.lisp#L24 | ||
[0a32]: https://github.com/40ants/project-templates/blob/f78dfa29a6098fb9587a77fb18e11175cbaab3ab/.qlot/dists/ultralisp/software/roswell-mystic-20230314045148/templates/mixins/file/file.lisp#L30 | ||
[14a3]: https://github.com/40ants/project-templates/blob/f78dfa29a6098fb9587a77fb18e11175cbaab3ab/.qlot/dists/ultralisp/software/roswell-mystic-20230314045148/templates/mixins/file/file.lisp#L49 | ||
[7b23]: https://github.com/40ants/project-templates/blob/f78dfa29a6098fb9587a77fb18e11175cbaab3ab/src/core.lisp#L24 | ||
[3e1a]: https://github.com/40ants/project-templates/blob/f78dfa29a6098fb9587a77fb18e11175cbaab3ab/src/core.lisp#L40 | ||
[d4c9]: https://github.com/40ants/project-templates/blob/f78dfa29a6098fb9587a77fb18e11175cbaab3ab/src/core.lisp#L56 | ||
[d74a]: https://github.com/40ants/project-templates/blob/f78dfa29a6098fb9587a77fb18e11175cbaab3ab/src/jsonrpc-app.lisp#L14 | ||
[b8ee]: https://github.com/40ants/project-templates/blob/f78dfa29a6098fb9587a77fb18e11175cbaab3ab/src/library.lisp#L30 | ||
[a1b6]: https://github.com/40ants/project-templates/blob/f78dfa29a6098fb9587a77fb18e11175cbaab3ab/src/library.lisp#L85 | ||
[ff87]: https://github.com/40ants/project-templates/blob/f78dfa29a6098fb9587a77fb18e11175cbaab3ab/src/library.lisp#L93 | ||
[7ed8]: https://github.com/40ants/project-templates/blob/f78dfa29a6098fb9587a77fb18e11175cbaab3ab/src/mixin/ci.lisp#L11 | ||
[e79b]: https://github.com/40ants/project-templates/blob/f78dfa29a6098fb9587a77fb18e11175cbaab3ab/src/mixin/clpm.lisp#L11 | ||
[2577]: https://github.com/40ants/project-templates/blob/f78dfa29a6098fb9587a77fb18e11175cbaab3ab/src/mixin/docs.lisp#L16 | ||
[7538]: https://github.com/40ants/project-templates/blob/f78dfa29a6098fb9587a77fb18e11175cbaab3ab/src/mixin/gitignore.lisp#L13 | ||
[a867]: https://github.com/40ants/project-templates/blob/f78dfa29a6098fb9587a77fb18e11175cbaab3ab/src/mixin/gitignore.lisp#L18 | ||
[39dd]: https://github.com/40ants/project-templates/blob/f78dfa29a6098fb9587a77fb18e11175cbaab3ab/src/mixin/gitignore.lisp#L25 | ||
[f5e4]: https://github.com/40ants/project-templates/blob/f78dfa29a6098fb9587a77fb18e11175cbaab3ab/src/mixin/qlfile.lisp#L25 | ||
[7356]: https://github.com/40ants/project-templates/blob/f78dfa29a6098fb9587a77fb18e11175cbaab3ab/src/mixin/qlfile.lisp#L30 | ||
[da28]: https://github.com/40ants/project-templates/blob/f78dfa29a6098fb9587a77fb18e11175cbaab3ab/src/mixin/rove-tests.lisp#L11 | ||
[c162]: https://github.com/40ants/project-templates/blob/f78dfa29a6098fb9587a77fb18e11175cbaab3ab/src/reblocks-app.lisp#L15 | ||
[efbd]: https://github.com/40ants/project-templates/blob/f78dfa29a6098fb9587a77fb18e11175cbaab3ab/src/utils.lisp#L91 | ||
[3b31]: https://github.com/40ants/project-templates/blob/988d7f0121f77e1a0da3d1dc38f04cb803be6047/.qlot/dists/ultralisp/software/roswell-mystic-20230314045148/templates/mixins/file/file.lisp#L18 | ||
[feb3]: https://github.com/40ants/project-templates/blob/988d7f0121f77e1a0da3d1dc38f04cb803be6047/.qlot/dists/ultralisp/software/roswell-mystic-20230314045148/templates/mixins/file/file.lisp#L19 | ||
[a435]: https://github.com/40ants/project-templates/blob/988d7f0121f77e1a0da3d1dc38f04cb803be6047/.qlot/dists/ultralisp/software/roswell-mystic-20230314045148/templates/mixins/file/file.lisp#L24 | ||
[b6c5]: https://github.com/40ants/project-templates/blob/988d7f0121f77e1a0da3d1dc38f04cb803be6047/.qlot/dists/ultralisp/software/roswell-mystic-20230314045148/templates/mixins/file/file.lisp#L30 | ||
[a265]: https://github.com/40ants/project-templates/blob/988d7f0121f77e1a0da3d1dc38f04cb803be6047/.qlot/dists/ultralisp/software/roswell-mystic-20230314045148/templates/mixins/file/file.lisp#L49 | ||
[6b7a]: https://github.com/40ants/project-templates/blob/988d7f0121f77e1a0da3d1dc38f04cb803be6047/src/core.lisp#L24 | ||
[6529]: https://github.com/40ants/project-templates/blob/988d7f0121f77e1a0da3d1dc38f04cb803be6047/src/core.lisp#L40 | ||
[5cd5]: https://github.com/40ants/project-templates/blob/988d7f0121f77e1a0da3d1dc38f04cb803be6047/src/core.lisp#L56 | ||
[a290]: https://github.com/40ants/project-templates/blob/988d7f0121f77e1a0da3d1dc38f04cb803be6047/src/jsonrpc-app.lisp#L14 | ||
[3cdf]: https://github.com/40ants/project-templates/blob/988d7f0121f77e1a0da3d1dc38f04cb803be6047/src/library.lisp#L30 | ||
[1773]: https://github.com/40ants/project-templates/blob/988d7f0121f77e1a0da3d1dc38f04cb803be6047/src/library.lisp#L85 | ||
[26da]: https://github.com/40ants/project-templates/blob/988d7f0121f77e1a0da3d1dc38f04cb803be6047/src/library.lisp#L93 | ||
[45ac]: https://github.com/40ants/project-templates/blob/988d7f0121f77e1a0da3d1dc38f04cb803be6047/src/mixin/ci.lisp#L11 | ||
[28e4]: https://github.com/40ants/project-templates/blob/988d7f0121f77e1a0da3d1dc38f04cb803be6047/src/mixin/clpm.lisp#L11 | ||
[b253]: https://github.com/40ants/project-templates/blob/988d7f0121f77e1a0da3d1dc38f04cb803be6047/src/mixin/docs.lisp#L16 | ||
[354a]: https://github.com/40ants/project-templates/blob/988d7f0121f77e1a0da3d1dc38f04cb803be6047/src/mixin/gitignore.lisp#L13 | ||
[d1b3]: https://github.com/40ants/project-templates/blob/988d7f0121f77e1a0da3d1dc38f04cb803be6047/src/mixin/gitignore.lisp#L18 | ||
[4e98]: https://github.com/40ants/project-templates/blob/988d7f0121f77e1a0da3d1dc38f04cb803be6047/src/mixin/gitignore.lisp#L25 | ||
[ffc6]: https://github.com/40ants/project-templates/blob/988d7f0121f77e1a0da3d1dc38f04cb803be6047/src/mixin/qlfile.lisp#L25 | ||
[0fd8]: https://github.com/40ants/project-templates/blob/988d7f0121f77e1a0da3d1dc38f04cb803be6047/src/mixin/qlfile.lisp#L30 | ||
[0e83]: https://github.com/40ants/project-templates/blob/988d7f0121f77e1a0da3d1dc38f04cb803be6047/src/mixin/rove-tests.lisp#L11 | ||
[b8dd]: https://github.com/40ants/project-templates/blob/988d7f0121f77e1a0da3d1dc38f04cb803be6047/src/reblocks-app.lisp#L15 | ||
[162c]: https://github.com/40ants/project-templates/blob/988d7f0121f77e1a0da3d1dc38f04cb803be6047/src/utils.lisp#L91 | ||
[8fc2]: https://github.com/40ants/project-templates/issues | ||
[8236]: https://quickdocs.org/alexandria | ||
[49b9]: https://quickdocs.org/cl-ppcre | ||
|