This document explains how to use the automated resource submission system for the freeForGeeks project.
The freeForGeeks project now features an automated system for submitting and adding new resources to the README.md file. Here's how it works:
- Users fill out a structured GitHub Issue form to submit resources
- A GitHub Action automatically processes approved submissions
- The Action creates a Pull Request with the new resource added to README.md
- The maintainer only needs to review and merge PRs instead of manual editing
To submit a new resource:
- Go to the Issues tab of the repository
- Click on "New Issue"
- Select the "🚀 Resource Submission" template
- Fill out all required fields:
- Resource Name
- Resource URL
- Category
- Subcategory
- Description
- Resource Type
- Confirm it's completely free
- Optionally fill out:
- Tags (comma-separated)
- GitHub Stars (if applicable)
- GitHub URL (if applicable)
- Additional Notes
- Submit the issue
After submitting the issue:
- The GitHub Action will automatically process your submission
- It will validate the required fields and URL format
- It will add the resource to the appropriate section in README.md
- It will create a Pull Request with the changes
- It will comment on your issue with a link to the PR
- It will close the issue automatically
To modify the available categories, subcategories, or fields in the submission form:
- Edit
.github/ISSUE_TEMPLATE/resource-submission.ymlto change the form fields - Edit
.github/workflows/add-resource.ymlto update the processing logic
To add a new category:
- Add the category to the dropdown options in
.github/ISSUE_TEMPLATE/resource-submission.yml - Add the category heading to README.md (e.g.,
# New Category)
To add a new subcategory:
- Add the subcategory to the dropdown options in
.github/ISSUE_TEMPLATE/resource-submission.yml
Common issues and solutions:
Solution: Make sure you selected a category that exactly matches one of the main headings in README.md.
Solution: Ensure the URL starts with http:// or https:// and is a valid URL.
Solution: The system checks for duplicate resources based on name and URL. If your resource is already in the README.md, your submission will be rejected.
For testing or manually processing an issue:
- Go to the Actions tab in the repository
- Select the "Add Resource" workflow
- Click "Run workflow"
- Enter the issue number you want to process
- Click "Run workflow"
As a maintainer, you only need to:
- Review the automatically created Pull Requests
- Make any necessary adjustments
- Merge the PR when satisfied
The system handles the rest, from validation to formatting and placement in the README.md file.