Repository navigation
Repository Growth
Prerequisites: Project status, which counts the same issues and pull requests this page charts by week.
Unfamiliar word or acronym? The Glossary defines it.
Generated at: 2026-10-23T00:14:32Z (UTC), from ChiefGyk3D/Clouds-Against-Humanity, which was created on 2026-10-10 (day 0 on the chart). The numbers come from GitHub and drift: this is a snapshot, not a live counter.

As of 2026-10-23, 13 days after the repository was created: 465 stars, 21 forks, 165 pull requests merged and 35 issues closed.
- Stars measure attention, not use. A star is a click. It says someone saw the project and liked the idea, not that they ran it, finished a lesson or would recommend it. Forks are a little closer to use, and still a weak signal.
- Early numbers are noisy. A repository that is a few days or weeks old can jump on one share or one post and then flatten. One chart of a short history proves very little; read the shape over months.
- The numbers come from GitHub and drift. Accounts get deleted and spam stars get removed, so a count can fall. Times are in UTC, and a week runs Monday to Sunday.
- Throughput is not quality. Pull requests merged and issues closed show how much moved, not how good it is.
- Only counts per day are stored. The snapshot has no user names, no addresses and no tokens, and CI checks that.
This table is the text version of the picture, one row per week (UTC, Monday to Sunday). The last two columns are running totals at the end of that week.
| Week of | New stars | New forks | PRs merged | Issues closed | Stars so far | Forks so far |
|---|---|---|---|---|---|---|
| 2026-10-05 | 2 | 0 | 16 | 0 | 2 | 0 |
| 2026-10-12 | 230 | 12 | 67 | 8 | 232 | 12 |
| 2026-10-19 (partial) | 233 | 9 | 82 | 27 | 465 | 21 |
Totals: 465 stars, 21 forks, 165 merged pull requests, 35 closed issues.
Run these from a login that can read the repository. They show the same data without the script:
gh api repos/ChiefGyk3D/Clouds-Against-Humanity --jq .created_at
gh api repos/ChiefGyk3D/Clouds-Against-Humanity/forks --paginate --jq '.[].created_at'
gh pr list --repo ChiefGyk3D/Clouds-Against-Humanity --state merged --limit 5000 --json mergedAt
gh issue list --repo ChiefGyk3D/Clouds-Against-Humanity --state closed --limit 5000 --json closedAt
# stars: a GraphQL query for stargazers(first: 100, orderBy: {field: STARRED_AT, direction: ASC}) { edges { starredAt } }, paged
python3 -I scripts/gen_repo_metrics.py --refresh # does all of the above, draws the chart and rewrites this page
python3 -I scripts/gen_repo_metrics.py --check # offline: the same check CI runsDrawing needs matplotlib, which the repository does not depend on: use the system package (python3-matplotlib on Debian-based systems), or make a private virtual environment with python3 -m pip install matplotlib and run the script with that interpreter. The check needs only Python.
The same script works for any repository you can read: pass --repo owner/name with its own --snapshot, --out and --page paths (or --no-page). Run python3 -I scripts/gen_repo_metrics.py --help for the list.
Next: Project status, which says what the work is doing right now.
Source for these pages lives in docs/wiki/ and is published by the Wiki workflow on every merge to main. Corrections are welcome as pull requests; edits made in the wiki editor are overwritten on the next publish. Apache-2.0 licensed, see LICENSE and NOTICE in the repository.
Support this project: support.chiefgyk3d.com, or see Home.
Home | Contents | Reading order | Why this exists | Give feedback
Core path: read in this order (21)
- Start here if you are new
- What is the cloud
- Networking basics
- Identity, secrets, zero trust
- Infrastructure as code
- Git and pull requests
- Containers and Docker (optional)
- How money works
- Enterprise habits
- Architecture overview
- Why ZTNA and not a VPN
- Twingate
- DigitalOcean network and firewalls
- Droplet hardening
- OpenTofu, stacks and modules
- Spacelift
- Doppler and secrets
- CI, tests and the cost gate
- Threat model
- Lessons learned
- Roadmap
Foundations: OS and Linux (7)
Foundations: networking (5)
Foundations: identity and secrets (5)
Foundations: infrastructure as code (6)
Foundations: web hosting (3)
Foundations: security tools and threat modeling (6)
Foundations: network and host defense (4)
Foundations: deception and honeypots (11)
- Deception and honeypots: start here
- What deception is (est. steps)
- Deception safety and law (est. steps)
- Plant a canary token
- Honeyfiles on a host you own
- Deception alerts in the SIEM
- Design a honeynet
- T-Pot at home (est. steps)
- Anatomy of a cloud honeypot (est. steps)
- Cloud Cowrie for a weekend (est. steps)
- Read what arrived: Cowrie logs
Detection and monitoring (11)
- A small example: the enterprise landscape
- Detection, Wazuh and the landscape (unbuilt)
- Logs, SIEM and detection basics
- Cloud telemetry: what and why (draft)
- Multiple sites and identity (draft)
- Telemetry crosses the trust boundary (draft)
- Reading a dashboard as an operator (draft)
- Build your own mini SOC (draft)
- Stage 2 home-side runbook (unbuilt)
- Grafana dashboards
- Lab: synthetic multi-site monitoring stack
Foundations: enterprise practice (6)
Foundations: data governance (1)
Stage guides and design (11)
- Fork, private stacks, the pipeline
- Labs: break it on purpose
- Build it: zero accounts to stage 1
- Variables, tfvars and secrets
- Teardown checklist
- Twingate service accounts in CAH
- Zero trust at home: two connectors and failover
- Why not private droplets (yet) (draft)
- Why I picked these tools
- From commit to pipeline
- Trace one change end to end
Other clouds (10)
- Why the clouds differ (draft)
- AWS: account preparation (draft)
- AWS: the same four pieces (draft)
- AWS: where the money goes (draft)
- Azure: account preparation (draft)
- Azure: the same four pieces (draft)
- Azure: where the money goes (draft)
- GCP: account preparation (draft)
- GCP: the same four pieces (draft)
- GCP: where the money goes (draft)