π What You'll Learn
- Types of contributions
- Adding resources
- Adding news sources
- Improving content
- Reorganizing resources
- Reporting issues
- Automated workflows
- Creating pull requests
- FAQ
- For developers
β±οΈ Time needed: 5-20 minutes depending on what you're contributing
π― Types of Contributions
Here are seven common ways you can help improve CSOH:
π Adding Resources
Add tools, labs, certifications, or job resources to the catalog
Why it matters: Resources help people learn and grow in cloud security
π° Adding News Sources
Suggest RSS feeds we should pull news articles from
Why it matters: More sources = better, more diverse news for readers
π Improving Descriptions
Fix grammar, clarify confusing text, update outdated info
Why it matters: Clear text helps people learn and find what they need
π·οΈ Better Categorization
Suggest reorganizing, adding tags, or moving resources
Why it matters: Good organization helps people discover resources
π Homepage Improvements
Suggest changes to the main page or any page's header/footer
Why it matters: The homepage is people's first impression of CSOH
π Bug Reports
Report broken links, display problems, or errors
Why it matters: We want the site to work perfectly for everyone
β¨ Feature Suggestions
Ideas for new pages, tools, or functionality
Why it matters: Great ideas help CSOH grow and stay useful
π Adding Resources (Manual or Script)
Want to add a new resource to the site? You have two easy options:
Option A: Manual (Web-Based Guide)
- Open the Resource Contribution Guide
- Follow the step-by-step instructions for adding a resource card
- Open a pull request when done
Option B: Interactive Script (Fastest)
This script asks questions, validates your URL, generates HTML, and prepares a PR:
What it does for you:
- Collects resource name, URL, description, category, and tags
- Validates URLs for safety
- Generates the HTML card in the correct section
- Creates a git branch and commit
- Provides PR instructions
preview-mapping.json automatically.
- python3 not found: Install Python from python.org and reopen your terminal
- git not found: Install Git from git-scm.com
- Not in a git repo: Run
cd csoh.orgbefore the script - Working directory not clean: Commit or stash changes, then retry
- URL flagged as unsafe: Use the official site or GitHub repo URL
π° Adding News Sources
News articles power our News page. The more sources we have, the better articles our readers see.
Step 1: Find the News Script
- Go to update_news.py on GitHub
- Click the pencil βοΈ icon to edit
Step 2: Add Your Feed
Look for this section:
Add your new feed to the list:
Step 3: Commit and Create a Pull Request
- Scroll down and click "Commit changes"
- Write a message:
"Add [Source Name] to news feeds" - Create a pull request (see Creating a Pull Request below)
- Many websites have RSS feeds (look for an RSS icon π)
- Try common URLs:
/feed,/feed.xml, or/rss - Check the feed actually contains cloud security articles
- Use reputable sources (established news sites, vendor blogs, research orgs)
- Try Feed Finder to discover feeds
- python3 not found: Install Python from python.org and reopen your terminal
- git not found: Install Git from git-scm.com
- Not in a git repo: Run
cd csoh.orgbefore the script - Feed URL rejected: Use the RSS/Atom feed URL (not the homepage)
- Working directory not clean: Commit or stash changes, then retry
π Editing Content & Descriptions
Whether you're fixing a typo or rewriting a section, the process is the same.
Step 1: Find the File to Edit
Different content is in different files:
- Resource descriptions: resources.html
- Homepage content: index.html
- News page: news.html
- Sessions info: sessions.html
- Past presentations: presentations.html
Step 2: Open the File for Editing
- Click on the file name above
- Click the pencil βοΈ icon to edit
Step 3: Find What You're Changing
Use Ctrl+F (or Cmd+F on Mac) to search for the text you're changing.
For example, if you're fixing a resource description, search for the resource name.
Step 4: Make Your Edit
Just type! You're editing text like a document:
- Fix typos: Select wrong word, delete it, type the right one
- Improve descriptions: Select old text, replace with better wording
- Update info: Change dates, numbers, or outdated content
Example - Fixing a typo:
Step 5: Commit and Create a Pull Request
- Scroll down and click "Commit changes"
- Write a helpful message explaining what you changed
- Create a pull request (see below)
π·οΈ Suggesting Reorganization
Want to suggest moving a resource, adding new tags, or reorganizing sections?
Option A: Edit the File Directly
If it's a simple change (moving a resource, fixing a tag):
- Open resources.html
- Find the resource card
- Change the tag lines to add/remove/fix tags
- Move the resource block to a different section if needed
- Commit with a message like: "Move [Resource] to correct category"
Option B: Suggest It in a Pull Request
If you're not sure exactly how to do it, make the changes and explain your reasoning:
π Reporting Issues & Feature Requests
Found a bug or have a great idea? You can create an Issue on GitHubβno coding required!
Step 1: Go to Issues
- Visit github.com/CloudSecurityOfficeHours/csoh.org
- Click the "Issues" tab
Step 2: Create a New Issue
- Click "New Issue"
- Give it a clear title
Examples: "Broken link in Resources page" β’ "Mobile display issue on homepage" β’ "Feature: Interview prep resources"
- Describe the problem or suggestion
- Click "Submit new issue"
Example for a bug report:
Example for a feature request:
π€ Automated Workflows (What Happens After You Submit)
We use automated checks to keep the site safe and consistent. You do not need to run these manually.
- URL Safety Check: Scans all HTML files for unsafe links and blocks risky URLs.
- Preview Image Generation: Captures screenshots for new resources and updates
preview-mapping.json. - SRI Hash & Cache-Bust: Recalculates integrity hashes when CSS/JS changes.
- News Auto-Updates: Pulls new articles every 3 hours and opens a PR.
- Auto-Deploy: Pushes the site to the server when changes land on main.
π Creating a Pull Request
Beginner-Friendly Method: GitHub's Web Interface
You don't need command-line. Here's the easiest way:
Fork the Repository
- Go to github.com/CloudSecurityOfficeHours/csoh.org
- Click "Fork" button (top-right)
- This creates your own copy of the project
Make Your Changes
In your fork:
- Click on a file you want to edit
- Click the pencil βοΈ icon
- Make your changes
- Click "Commit changes"
- Write a commit message
- Click "Commit changes" again
Repeat for any other files you're changing.
Create the Pull Request
- Go back to your fork's main page
- You'll see a banner: "This branch is ahead of CloudSecurityOfficeHours:main"
- Click "Contribute" β "Open pull request"
- Check the changes look right
- Add a Title: What did you change?
"Add Snyk to Security Tools" β’ "Fix HomeLab description" β’ "Add 5 new news sources"
- Add a Description: Why did you change it?
**What I changed:** - Added Snyk to Security Tools section - Tagged with: Tool, CSPM, Vulnerability Management **Why:** Snyk is a popular tool that wasn't listed. Many community members use it.
- Click "Create pull request"
Using Git Commands (Optional)
If you're comfortable with command-line, use Git:
Learning resources:
π Pull Request Checklist
Before you submit, make sure:
- β Changes are clear β Someone can understand what you did
- β Spelling/grammar is correct β Your PR text is well-written
- β Links work β Test any URLs you're adding
- β Formatting looks right β Check your edits look good
- β Commit message is helpful β Clearly describe what you did
- β You're not changing too much β Keep each PR focused on one thing
β Frequently Asked Questions
Q: Do I need to be a developer?
A: No! All examples above use GitHub's web interface. No coding experience needed.
Q: What if I make a mistake?
A: You can edit your PR before it's merged. Or maintainers can suggest fixes. Mistakes are learning opportunities!
Q: How long until my change is published?
A: Usually 1-3 days. Maintainers review each PR to maintain quality.
Q: Can I suggest changes I don't know how to make?
A: Yes! Open an issue with your suggestion. You don't have to code it.
Q: What if my pull request gets rejected?
A: That's okay! You'll get feedback on why. You can discuss it or try again.
Q: Can I make multiple changes at once?
A: It's better to do one thing per PR. But you can have multiple PRs open.
Q: What qualifies as a good news source?
A: Reputable sources with regular cloud security content. Not spam, not paywalled (usually).
Q: Can I suggest a resource for myself/my company?
A: Sure! Disclose that it's yours. If it's genuinely useful to the community, it'll be accepted.
Q: How do I know if something is "good enough" to suggest?
A: If it would help a cloud security professional learn or advance, it's worth suggesting. The community decides!
π Recognition
Contributors get:
- Your name and link in our contributor credits
- Recognition in community posts
- Gratitude from 2000+ cloud security professionals
- The satisfaction of helping people learn
π Ready to Contribute?
Every contributionβfrom fixing a typo to suggesting a whole new sectionβhelps our community grow.
π οΈ For Developers
Want to preview changes locally before submitting a PR? Our Local Development Guide gets you up and running in 3 commands:
No Node.js, no build tools, no package manager. The site is pure HTML/CSS/JS.