# 🛠️ Format Stack Name Action This GitHub Action formats your repository name into a clean, consistent stack name that's perfect for deployments. 🚀 --- ## 🤔 Why Use This Action? When deploying stacks or services, it's crucial to have clean, consistent, and predictable naming conventions. This action takes your GitHub repository name (`org/repo`) and formats it into a standardized stack name, ensuring compatibility and readability in Docker, Kubernetes, or any other deployment system. --- ## ⚙️ How It Works Given a repository name like: ``` my-org.cool/repo-name_example ``` This action will produce: | Output | Example Result | |------------------|--------------------------------| | `name` | `my-org-cool__repo-name_example` | | `org` | `my-org-cool` | | `repo` | `repo-name_example` | **Formatting rules:** - Organization (`org`): - Replaces dots (`.`) with dashes (`-`) - Replaces any invalid characters with underscores (`_`) - Repository (`repo`): - Replaces any invalid characters with underscores (`_`) The final stack name combines the formatted organization and repository names with double underscores (`__`). --- ## 🚦 Inputs & Outputs ### 📥 Inputs This action doesn't require any inputs. It automatically uses the current repository context. ### 📤 Outputs | Output | Description | Example | |--------|-------------------------------------|------------------------------| | `name` | Formatted stack name | `my-org__my-repo` | | `org` | Formatted organization name | `my-org` | | `repo` | Formatted repository name | `my-repo` | --- ## 🚀 Example Usage Here's how you can easily integrate this action into your workflow: ```yaml - name: Format Stack Name 🛠️ id: stack-format uses: your-org/format-stack-name@main - name: Print Formatted Stack Name 📢 run: | echo "Formatted Stack Name: ${{ steps.stack-format.outputs.name }}" echo "Formatted Org Name: ${{ steps.stack-format.outputs.org }}" echo "Formatted Repo Name: ${{ steps.stack-format.outputs.repo }}" ``` --- ## 🐞 Debugging This action provides debug logs to help you understand what's happening under the hood: ``` Debug: FULL_REPO=my-org.cool/repo-name_example Debug: ORG=my-org.cool, REPO=repo-name_example Debug: FORMATTED_ORG=my-org-cool, FORMATTED_REPO=repo-name_example Debug: STACK_NAME=my-org-cool__repo-name_example ``` --- ## 🙋‍♂️ Need Help? If you encounter any issues or have suggestions, please open an issue or reach out directly. Let's make deployments smoother together! --- Happy deploying! 🚀 — **Grand**