From a37f1a0c4f76adef2f8b5716845981525ccb3254 Mon Sep 17 00:00:00 2001 From: George Dietrich Date: Thu, 29 Oct 2020 22:12:39 -0400 Subject: [PATCH] Scaffold component --- LICENSE | 2 +- README.md | 47 ++++--------------- shard.yml | 12 ++--- ...ENT_TEMPLATE_spec.cr => athena-console.cr} | 2 +- spec/spec_helper.cr | 2 +- src/athena-COMPONENT_NAME.cr | 6 --- src/athena-console.cr | 6 +++ 7 files changed, 25 insertions(+), 52 deletions(-) rename spec/{athena-COMPONENT_TEMPLATE_spec.cr => athena-console.cr} (68%) delete mode 100644 src/athena-COMPONENT_NAME.cr create mode 100644 src/athena-console.cr diff --git a/LICENSE b/LICENSE index eb807d9..880c5e4 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2020 CREATOR_NAME +Copyright (c) 2020 George Dietrich Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index af92ff5..fb8b5a6 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,9 @@ -# README +# Console -Template repo for creating a new Athena component. Scaffolds the Crystal shard's structure as well as define CI etc. +[![CI](https://github.com/athena-framework/console/workflows/CI/badge.svg)](https://github.com/athena-framework/console/actions?query=workflow%3ACI) +[![Latest release](https://img.shields.io/github/release/athena-framework/console.svg)](https://github.com/athena-framework/console/releases) -**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. - -1. Find/replace `COMPONENT_NAME` with the name of the component. This is used as the shard's name. E.x. `logger`. - 1.1 Be sure to rename the file in `./src`, and `./spec` as well. - -1. Replace `NAMESPACE_NAME` with the name of the component's namespace. Documentation for this component will be grouped under this. E.x. `Logger`. - -1. Find/replace `CREATOR_NAME` with your Github display name. E.x. `George Dietrich`. - -1. Find/replace `CREATOR_USERNAME` with your Github username. E.x. `blacksmoke16`. - -1. Find/replace `CREATOR_EMAIL` with your desired email - - 5.1 Can remove this if you don't wish to expose an email. - -1. Find/replace `ALIAS_NAME` with the three letter alias for this component; A + 2 letter shortcut to `NAMESPACE_NAME`. E.x. `ALG`. - -1. Find/replace `DESCRIPTION` with a short description of what the component does. - -1. Define a repo secret `ACCESS_TOKEN` for CI deploys to work. - - 8.1 Alter [CI](./.github/workflows/ci.yml) and [Deployment](./.github/workflows/deployment.yml) scrips as needed. Such as adding custom `crystal docs` command or adding an `Install Dependencies` step. - -Delete from here up -# NAMESPACE_NAME - -[![CI](https://github.com/athena-framework/COMPONENT_NAME/workflows/CI/badge.svg)](https://github.com/athena-framework/COMPONENT_NAME/actions?query=workflow%3ACI) -[![Latest release](https://img.shields.io/github/release/athena-framework/COMPONENT_NAME.svg)](https://github.com/athena-framework/COMPONENT_NAME/releases) - -DESCRIPTION +Allows the creation of CLI based commands. ## Installation @@ -39,19 +11,20 @@ DESCRIPTION ```yaml dependencies: - athena-COMPONENT_NAME: - github: athena-framework/COMPONENT_NAME + athena-console: + github: athena-framework/console + version: ~> 0.1.0 ``` 2. Run `shards install` ## Documentation -Everything is documented in the [API Docs](https://athena-framework.github.io/COMPONENT_NAME/Athena/NAMESPACE_NAME.html). +Everything is documented in the [API Docs](https://athena-framework.github.io/console/Athena/Console.html). ## Contributing -1. Fork it (https://github.com/athena-framework/COMPONENT_NAME/fork) +1. Fork it (https://github.com/athena-framework/console/fork) 2. Create your feature branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am 'Add some feature'`) 4. Push to the branch (`git push origin my-new-feature`) @@ -59,4 +32,4 @@ Everything is documented in the [API Docs](https://athena-framework.github.io/CO ## Contributors -- [CREATOR_NAME](https://github.com/CREATOR_USERNAME) - creator and maintainer +- [George Dietrich](https://github.com/blacksmoke16) - creator and maintainer diff --git a/shard.yml b/shard.yml index 049ffe2..e91a444 100644 --- a/shard.yml +++ b/shard.yml @@ -1,4 +1,4 @@ -name: athena-COMPONENT_NAME +name: athena-console version: 0.1.0 @@ -6,15 +6,15 @@ crystal: 0.35.0 license: MIT -repository: https://github.com/athena-framework/COMPONENT_NAME +repository: https://github.com/athena-framework/console -documentation: https://athena-framework.github.io/COMPONENT_NAME/Athena/NAMESPACE_NAME.html +documentation: https://athena-framework.github.io/console/Athena/Console.html -description: | - DESCRIPTION. +Allows the creation of CLI based commands.: | + Allows the creation of CLI based commands. authors: - - CREATOR_NAME + - George Dietrich development_dependencies: ameba: diff --git a/spec/athena-COMPONENT_TEMPLATE_spec.cr b/spec/athena-console.cr similarity index 68% rename from spec/athena-COMPONENT_TEMPLATE_spec.cr rename to spec/athena-console.cr index 49018fc..8085ea0 100644 --- a/spec/athena-COMPONENT_TEMPLATE_spec.cr +++ b/spec/athena-console.cr @@ -1,6 +1,6 @@ require "./spec_helper" -describe Athena::NAMESPACE_NAME do +describe Athena::Console do it "works" do false.should eq(true) end diff --git a/spec/spec_helper.cr b/spec/spec_helper.cr index 2514e53..824a001 100644 --- a/spec/spec_helper.cr +++ b/spec/spec_helper.cr @@ -1,2 +1,2 @@ require "spec" -require "../src/athena-COMPONENT_NAME" +require "../src/athena-console" diff --git a/src/athena-COMPONENT_NAME.cr b/src/athena-COMPONENT_NAME.cr deleted file mode 100644 index a778877..0000000 --- a/src/athena-COMPONENT_NAME.cr +++ /dev/null @@ -1,6 +0,0 @@ -# Convenience alias to make referencing `Athena::NAMESPACE_NAME` types easier. -alias ALIAS_NAME = Athena::NAMESPACE_NAME - -module Athena::NAMESPACE_NAME - VERSION = "0.1.0" -end diff --git a/src/athena-console.cr b/src/athena-console.cr new file mode 100644 index 0000000..c3d1a4b --- /dev/null +++ b/src/athena-console.cr @@ -0,0 +1,6 @@ +# Convenience alias to make referencing `Athena::Console` types easier. +alias ACON = Athena::Console + +module Athena::Console + VERSION = "0.1.0" +end