Skip to content

Commit

Permalink
feat(monorepo): Added auto-generated repository list
Browse files Browse the repository at this point in the history
  • Loading branch information
sullivanpj committed May 1, 2024
1 parent b72325a commit 8091e42
Show file tree
Hide file tree
Showing 12 changed files with 243 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
- @sullivanpj

/docs/ @storm-software/docs
15 changes: 15 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# All contributions, however small are valued

## Steps to contribute

If you want to make a small change, go ahead and raise a pull request, otherwise follow these steps:

1. View the [Issues](https://github.com/storm-software/.github/issues) page to see a To-Do list of things to be implemented.
2. Raise an issue or comment on an existing issue with what you want to contribute if one does not already exist.
3. When you get the go ahead, follow the coding guidelines and raise a pull request.
4. Include a link to the issue in your pull request.

## Coding Guidelines

- Projects use StyleCop and .editorconfig to produce style warnings. Please fix all warnings in any code you submit.
- Write unit tests for any code written.
3 changes: 3 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# These are supported funding model platforms

patreon: StormSoftware
39 changes: 39 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<!--- Please provide a general summary of your changes in the title above -->

# Pull request

Thank you good citizen for your hard work! Please provide the below details describing your PR.

**Note:** Please read the [contributing guide](https://github.com/storm-software/.github/blob/main/.github/CONTRIBUTING.md) before raising a pull request.

## Pull request type

<!-- Please try to limit your pull request to one type, submit multiple pull requests if needed. -->

Please check the type of change your PR introduces:

- [ ] Bugfix
- [ ] Feature
- [ ] Code style update (formatting, renaming)
- [ ] Refactoring (no functional changes, no api changes)
- [ ] Build related changes
- [ ] Documentation content changes
- [ ] Other (please describe):

## What is the current behavior?

<!-- Please describe the current behavior that you are modifying, or link to a relevant issue. -->

Issue Number: N/A

## What is the new behavior?

<!-- Please describe the behavior or changes that are being added by this PR. -->

-
-
-

## Other information

<!-- Any other information that is important to this PR such as screenshots of how the component looks before and after the change. -->
9 changes: 9 additions & 0 deletions .github/SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Reporting Security Issues

If you believe you have found a security vulnerability in this repository, we encourage you to let us know right away.

We will investigate all legitimate reports and do our best to quickly fix the problem.

Email `[email protected]` to disclose any security vulnerabilities.

<https://stormsoftware.com/security>
45 changes: 45 additions & 0 deletions .github/workflows/generate_profile.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Update Profile

on:
## Trigger on merge event to main brnach
push:
branches:
- main
paths:
- "generate_profile.sh"
- "repository_list.txt"
- ".github/workflows/*"
workflow_dispatch:
schedule:
- cron: "0 0 * * *" # Run every night at midnight

jobs:
update-profile:
runs-on: ubuntu-latest

steps:
- name: Checkout Repository
uses: actions/checkout@v4

- name: Generate Profile
run: ./generate_profile.sh repository_list.txt

- name: Create Pull Request
id: cpr
uses: peter-evans/create-pull-request@v6
with:
token: ${{ secrets.STORM_BOT_GITHUB_TOKEN }}
commit-message: "Update Profile README with new repositories"
committer: "Stormie-Bot <[email protected]>"
author: "Stormie-Bot <[email protected]>"
base: "main"
title: "Update the Profile README with new repositories"
body: |
Update repository list in the Profile README with the latest repositories.
- More information can be found by reading [this article][1]
- Auto-generated by [create-pull-request][1]
- This PR was created by [Stormie-Bot][2]
[1]: https://dev.to/tungbq/github-create-your-own-repository-landscape-16i5
[2]: https://github.com/Stormie-Bot
labels: "update, automated-pr"
23 changes: 23 additions & 0 deletions .github/workflows/greetings.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: "Greetings"

on: [pull_request_target, issues]

env:
CI: true
NX_DAEMON: false
NX_VERBOSE_LOGGING: true
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
greeting:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/first-interaction@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
issue-message: "Hello, I'm 🤖 Stormie-Bot! Thank you for your interest in this project! The Storm team will review this issue and reach out to you ASAP."
pr-message: "Hello, I'm 🤖 Stormie-Bot! The Storm team sincerely appreciates your effort/interest in contributing to this project. A Storm developer will review this change and get back to you ASAP. Please feel free to reach out to the Storm team ([email protected]) if you have any questions/comments."
29 changes: 29 additions & 0 deletions .markdownlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"default": true,
"MD033": {
"allowed_elements": [
"h1",
"h2",
"h3",
"HR",
"p",
"a",
"b",
"div",
"img",
"br",
"details",
"summary",
"strong",
"table",
"tbody",
"tr",
"td",
"tfoot",
"sub"
]
},
"line-length": false,
"first-line-heading": false
}

73 changes: 73 additions & 0 deletions generate_profile.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
#!/bin/bash

REPOSITORY_LIST=$1

if [ -z $REPOSITORY_LIST ]; then
echo "ERROR: epository list is empty!"
echo "Usage: $0 <repository_list_path>"
exit 1
fi

# Function to generate table rows
generate_repo_list() {
local index="$1"
local repo_name="$2"
local description="$3"

# Only get base repo name, execlude the username
repo_base_name=$(basename $repo_name)

local repo_hyperlink="<a href=\"https://github.com/$repo_name\">$repo_name</a>"
local stars="<a href=\"https://github.com/$repo_name/stargazers\"><img alt=\"GitHub Repo stars\" src=\"https://img.shields.io/github/stars/$repo_name?style=for-the-badge&color=1fb2a6\"/></a>"

echo "### $index. $repo_base_name" >>profile/README.md
echo "URL: $repo_hyperlink" >>profile/README.md
echo "Description: $description" >>profile/README.md
echo "$stars" >>profile/README.md
}

# Start README file with header
echo "<div align=\"center\"><img src=\"https://pub-761b436209f44a4d886487c917806c08.r2.dev/storm-banner.gif\" alt=\"Storm Software\" width=\"100%\"/></div>" >profile/README.md
echo "<br /><div align=\"center\"><b><a href=\"https://stormsoftware.com\" target=\"_blank\">Website</a><span>&nbsp;&nbsp;•&nbsp;&nbsp;</span><a href=\"https://stormsoftware.com/contact\" target=\"_blank\">Contact</a><span>&nbsp;&nbsp;•&nbsp;&nbsp;</span><a href=\"https://discord.gg/MQ6YVzakM5\" target=\"_blank\">Discord</a><span>&nbsp;&nbsp;•&nbsp;&nbsp;</span><a href=\"https://www.linkedin.com/in/pat-sullivan-dev/\" target=\"_blank\">LinkedIn</a><span>&nbsp;&nbsp;•&nbsp;&nbsp;</span><a href=\"https://medium.com/storm-software\" target=\"_blank\">Medium</a><span>&nbsp;&nbsp;•&nbsp;&nbsp;</span><a href=\"https://www.patreon.com/StormSoftware\" target=\"_blank\">Sponsorship</a><span>&nbsp;&nbsp;•&nbsp;&nbsp;</span><a href=\"https://keybase.io/sullivanp\" target=\"_blank\">OpenPGP Key</a></b></div><br /><div align="center"><b>Fingerprint:</b> 1BD2 7192 7770 2549 F4C9 F238 E6AD C420 DA5C 4C2D</div><hr />" >>profile/README.md
echo "" >>profile/README.md
echo "Storm Software is an open-source software development organization and the creator of Acidic, Storm Stack, and Storm Cloud." >>profile/README.md
echo "" >>profile/README.md
echo "Our mission is to make software development more accessible. Our ideal future is one where anyone can create software without years of prior development experience serving as a barrier to entry. We hope to achieve this via LLMs, generative AI, and intuitive, high-level data modeling and programming languages." >>profile/README.md
echo "" >>profile/README.md
echo "<h3 align=\"center\">💻 Visit <a href=\"https://stormsoftware.com\" target=\"_blank\">stormsoftware.com</a> to stay up to date with this developer</h3>" >>profile/README.md
echo "" >>profile/README.md
echo "## Repositories" >>profile/README.md
echo "This GitHub organization contains repos that are officially maintained by [Storm Software](https://stormsoftware.com):" >>profile/README.md
echo "" >>profile/README.md


# Start with index 1 for first repo
index=1

while IFS= read -r repo_name; do
echo "Working on repo: $repo_name, with index: $index"

# Make the API request to get repository information
response=$(curl -s "https://api.github.com/repos/$repo_name")
echo "Response:"
echo "$response"

# Extract the description from the response using jq (ensure jq is installed)
description=$(echo "$response" | jq -r '.description')

# Generate table row with incremental index
generate_repo_list "$index" "$repo_name" "$description"

# Increment index
((index++))
done <"$REPOSITORY_LIST"

echo "" >>profile/README.md
echo "For the full list of repositories, please [**click here**](https://github.com/storm-software?tab=repositories&q=&type=&language=&sort=stargazers)." >>profile/README.md

echo "" >>profile/README.md
echo "## Join us" >>profile/README.md
echo "Join us on [**Discord**](https://discord.gg/MQ6YVzakM5) to chat with the team, receive release notifications, ask questions, and get involved." >>profile/README.md
echo "" >>profile/README.md
echo "" >>profile/README.md
echo "" >>profile/README.md
Binary file removed profile/storm-logo-bg.png
Binary file not shown.
4 changes: 4 additions & 0 deletions repository_list.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
storm-software/storm-stack
storm-software/acidic
storm-software/cyclone-ui
storm-software/storm-ops
Binary file removed storm-logo-bg.png
Binary file not shown.

0 comments on commit 8091e42

Please sign in to comment.