Skip to content

Commit 1993779

Browse files
committed
Add the http-kernel component
2 parents 0521bef + 974c8da commit 1993779

11 files changed

Lines changed: 166 additions & 0 deletions

File tree

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
root = true
2+
3+
[*.cr]
4+
charset = utf-8
5+
end_of_line = lf
6+
insert_final_newline = true
7+
indent_style = space
8+
indent_size = 2
9+
trim_trailing_whitespace = true
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
/lib/
2+
/bin/
3+
/.shards/
4+
*.dwarf
5+
6+
# Libraries don't need dependency lock
7+
# Dependencies will be locked in applications that use them
8+
/shard.lock
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Changelog
2+
3+
## [0.1.0] - YYYY-MM-DD
4+
5+
_Initial release._
6+
7+
[0.1.0]: https://github.com/athena-framework/COMPONENT_NAME/releases/tag/v0.1.0
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Contributing
2+
3+
This repository is a read-only mirror. Please refer the [main Athena repository](https://github.com/athena-framework/athena/blob/master/CONTRIBUTING.md) on how to start contributing.

src/components/http_kernel/LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
The MIT License (MIT)
2+
3+
Copyright (c) 2026 CREATOR_NAME
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in
13+
all copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21+
THE SOFTWARE.
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# README
2+
3+
Template repo for creating a new Athena component. Scaffolds the Crystal shard's structure as well as define CI etc.
4+
5+
**NOTE:** This repo assumes the component will be in the `athena-framework` org. If it is to be used outside of the org, be sure to update URLs accordingly.
6+
7+
1. Find/replace `COMPONENT_NAME` with the name of the component. This is used as the shard's name. E.x. `logger`.
8+
1.1 Be sure to rename the file in `./src` as well.
9+
10+
1. Replace `NAMESPACE_NAME` with the name of the component's namespace. Documentation for this component will be grouped under this. E.x. `Logger`.
11+
12+
1. Find/replace `CREATOR_NAME` with your Github display name. E.x. `George Dietrich`.
13+
14+
1. Find/replace `CREATOR_USERNAME` with your Github username. E.x. `blacksmoke16`.
15+
16+
1. Find/replace `CREATOR_EMAIL` with your desired email
17+
18+
5.1 Can remove this if you don't wish to expose an email.
19+
20+
1. Find/replace `ALIAS_NAME` with the three letter alias for this component; A + 2 letter shortcut to `NAMESPACE_NAME`. E.x. `ALG`.
21+
22+
1. Find/replace `DESCRIPTION` with a short description of what the component does.
23+
24+
1. Add some initial documentation to `docs/README.md`.
25+
26+
Delete from here up
27+
# NAMESPACE_NAME
28+
29+
[![Common Changelog](https://common-changelog.org/badge.svg)](https://common-changelog.org)
30+
[![CI](https://github.com/athena-framework/athena/workflows/CI/badge.svg)](https://github.com/athena-framework/athena/actions/workflows/ci.yml)
31+
[![Latest release](https://img.shields.io/github/release/athena-framework/COMPONENT_NAME.svg)](https://github.com/athena-framework/COMPONENT_NAME/releases)
32+
33+
DESCRIPTION.
34+
35+
## Getting Started
36+
37+
Checkout the [Documentation](https://athenaframework.org/NAMESPACE_NAME).
38+
39+
## Contributing
40+
41+
Read the general [Contributing Guide](./CONTRIBUTING.md) for information on how to get started.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
TODO: Write me
2+
3+
## Installation
4+
5+
First, install the component by adding the following to your `shard.yml`, then running `shards install`:
6+
7+
```yaml
8+
dependencies:
9+
athena-COMPONENT_NAME:
10+
github: athena-framework/COMPONENT_NAME
11+
version: ~> 0.1.0
12+
```
13+
14+
## Usage
15+
16+
TODO: Write me
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
INHERIT: ../../../mkdocs-common.yml
2+
3+
site_name: NAMESPACE_NAME
4+
site_url: https://athenaframework.org/NAMESPACE_NAME/
5+
repo_url: https://github.com/athena-framework/COMPONENT_NAME
6+
7+
nav:
8+
- Introduction: README.md
9+
- Back to Manual: project://.
10+
- API:
11+
- Aliases: aliases.md
12+
- Top Level: top_level.md
13+
- '*'
14+
15+
plugins:
16+
- search
17+
- section-index
18+
- literate-nav
19+
- gen-files:
20+
scripts:
21+
- ../../../gen_doc_stubs.py
22+
- mkdocstrings:
23+
default_handler: crystal
24+
custom_templates: ../../../docs/templates
25+
handlers:
26+
crystal:
27+
crystal_docs_flags:
28+
- ../../../docs/index.cr
29+
- ./lib/athena-COMPONENT_NAME/src/athena-COMPONENT_NAME.cr
30+
source_locations:
31+
lib/athena-COMPONENT_NAME: https://github.com/athena-framework/COMPONENT_NAME/blob/v{shard_version}/{file}#L{line}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: athena-COMPONENT_NAME
2+
3+
version: 0.1.0
4+
5+
crystal: '>= 0.36.0'
6+
7+
license: MIT
8+
9+
repository: https://github.com/athena-framework/COMPONENT_NAME
10+
11+
documentation: https://athenaframework.org/NAMESPACE_NAME
12+
13+
description: |
14+
DESCRIPTION.
15+
16+
authors:
17+
- CREATOR_NAME <CREATOR_EMAIL>
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
require "spec"
2+
3+
require "athena-spec"
4+
5+
require "../src/athena-COMPONENT_NAME"
6+
7+
ASPEC.run_all

0 commit comments

Comments
 (0)