> For the complete documentation index, see [llms.txt](https://clojure.gitbook.io/duct-kr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://clojure.gitbook.io/duct-kr/lein-template/resources/leiningen/new/duct/base.md).

# README

FIXME: description

## Developing

### Setup

When you first clone this repository, run:

```bash
lein duct setup
```

This will create files for local configuration, and prep your system for the project.

Next connect the repository to the [Heroku](https://www.heroku.com/{{/heroku?}}) app:

```bash
heroku git:remote -a FIXME
```

### Environment

To begin developing, start with a REPL.

```bash
lein repl
```

Then load the development environment.

```
user=> (dev)
:loaded
```

Run `go` to prep and initiate the system.

```
dev=> (go)
:duct.server.http.jetty/starting-server {:port 3000}
:initiated
```

By default this creates a web server at <http://localhost:3000>.

When you make changes to your source files, use `reset` to reload any modified files and reset the server. Changes to CSS or ClojureScript files will be hot-loaded into the browser.

```
dev=> (reset)
:reloading (...)
:resumed
```

If you want to access a ClojureScript REPL, make sure that the site is loaded in a browser and run:

```
dev=> (cljs-repl)
Waiting for browser connection... Connected.
To quit, type: :cljs/quit
nil
cljs.user=>
```

### Testing

Testing is fastest through the REPL, as you avoid environment startup time.

```
dev=> (test)
...
```

But you can also run tests through Leiningen.

```bash
lein test
```

## Legal

Copyright ©  FIXME
