https://github.com/athena-framework/skeleton
Template repo to get up and running quickly with the Athena Framework
https://github.com/athena-framework/skeleton
crystal
Last synced: 6 months ago
JSON representation
Template repo to get up and running quickly with the Athena Framework
- Host: GitHub
- URL: https://github.com/athena-framework/skeleton
- Owner: athena-framework
- License: mit
- Created: 2023-01-04T00:02:38.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2025-09-05T00:04:35.000Z (7 months ago)
- Last Synced: 2025-10-02T00:33:19.227Z (6 months ago)
- Topics: crystal
- Language: Crystal
- Homepage: https://athenaframework.org/
- Size: 49.8 KB
- Stars: 7
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# skeleton
Template repository to get up and running quickly with the Athena Framework which includes:
* A flexible directory structure
* Pre-configured binary entrypoints for HTTP and CLI contexts
* Development code-quality/testing dependencies + CI
* Minimal runnable Athena Framework application
## Getting Started
1. [Generate](https://github.com/athena-framework/skeleton/generate) a new repository using this template.
1. Run `shards install`
1. Rename `MyApp` module within `src/main.cr` and `src/controllers/example_controller.cr` to your desired name
1. Rename `skeleton` shard name within `shard.yml` to your desired name
1. Update `./LICENSE` with your desired name/email
1. Consider pinning `crate-ci/typos` in `.github/workflows/ci.yml` to a specific version to avoid random failures as new dictionaries are published
1. Start creating your application!
### Entrypoints
The template repository includes build targets for both the HTTP and CLI contexts.
Or in other words, `./bin/console` and `./bin/server` binaries are created by running `shards build`.
This makes it easy to deploy both parts of the application independently from one another.
> **TIP:** The `shards run` command may be used during development to interact with each target.
> E.g. `shards run server` to start the server and `shards run console -- debug:router` to execute console commands.