video: Clojure CLI and Dev workflow
@practicalli-johnny ya está trabajando en esto.
Desde el 12/3/2025.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Video scripts to evolve:
- Introducing Clojure CLI
- TODO Practicalli Clojure Workflow - "There are many Clojure Workflows.. and this one is mine"
Clojure CLI is installed along with Java (21) as the host platform. Practicalli Clojure CLI config is the user configuration, containing a wide range of aliases that extend the features of Clojure CLI.
Create a new project using the app template or clone practicalli/clojure-app-template
clojure -T:project/create :template app :name practicalli/gameboard/service
The :project/create alias is defined in the Practicalli Clojure CLI config.
clojure -X:deps aliases lists the available aliases in the current project and the Clojure user configuration
Add a dev/user.clj file to the root of the created project.
The dev/user.clj file configures the REPL during startup, adding library hotload, namespace reload and portal data inspector
copy
dev/user.cljfrom practicalli/clojure-app-template
Start a rich terminal UI repl prompt with a additional dev tools
clojure -T:project/create :template app :name practicalli/gameboard
Start a REPL via the command line, using an alias from practicalli/clojure-deps-edn
clojure -M:repl/reloaded
Library dependencies for Rebel and other development tools are already cached in the local maven repository, so startup should be very quick.
Although Clojure code can be evaluated in the terminal UI prompt for the REPL, it is more effective to use an editor connected to the REPL
In this video I am using Emacs, although the process is conceptually the same for Neovim, VS Code, Sublime Text and any other Clojure aware editor.
Start Emacs and connect to the running REPL
A Clojure file is opened from the project previously created.
The deps.edn file contains dependency and path configuration, along with some optional aliases.
The :deps keywork defines the library names and versions the project depends upon. An org.clojure/clojure library is included to set a specific version of Clojure to use. Otherwise the Clojure version shipped with the Clojure CLI tool is used.
The project is going to serve an API, so a server will be defined
Open the
src/practicalli/gameboard/service.cljfile in the editor
Create a rich comment to contain the code as we experiment. Editors supporting Clojure LSP can use the snippets to create a rich comment.
(comment )
look up a library for a http server (using find-deps either from an alias or via the dev/user.clj file)
- Lenguaje dominante
- Makefile
- Estrellas
- 117
- Forks
- 36
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de practicalli/clojure
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
practicalli/clojure#381 ·
-
Clojure on windowsAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
practicalli/clojure#298 ·
-
feat: Clojure fundamentals video seriesQuizá libre de nuevo @practicalli-johnny la tomó hace 203 días y no hay ningún pull request abierto. Abiertovideo
practicalli/clojure#478 · 1 asignado ·
-
Spec: add more commonpracticesQuizá libre de nuevo @practicalli-johnny la tomó hace 388 días y no hay ningún pull request abierto. Abierto
practicalli/clojure#477 · 1 asignado ·
-
Update: hotload libs in Clojure 1.12Quizá libre de nuevo @practicalli-johnny la tomó hace 442 días y no hay ningún pull request abierto. Abierto
practicalli/clojure#476 · 1 asignado ·