Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
6ab6524
Modernize repository index and maintenance guidance
antonflor Jul 14, 2026
20681c8
Add contribution guidance
antonflor Jul 14, 2026
e877f34
Add documentation style guide
antonflor Jul 14, 2026
60fc4c5
Add MIT license
antonflor Jul 14, 2026
f58164b
Configure Markdown linting
antonflor Jul 14, 2026
9870c88
Add documentation quality checks
antonflor Jul 14, 2026
c7af122
Add content correction issue template
antonflor Jul 14, 2026
98a2281
Modernize Docker and Compose reference
antonflor Jul 14, 2026
ac7eebf
Modernize Terraform command reference
antonflor Jul 14, 2026
91ff4f7
Correct and modernize Cisco IOS reference
antonflor Jul 14, 2026
ab6ddef
Correct and modernize Arista EOS reference
antonflor Jul 14, 2026
154a886
Correct iptables guidance and add nftables context
antonflor Jul 14, 2026
52dacfc
Modernize Azure service names and CLI examples
antonflor Jul 14, 2026
23ef0fb
Modernize Google Cloud CLI reference
antonflor Jul 14, 2026
f5fb5c0
Replace misspelled Kubernetes reference
antonflor Jul 14, 2026
c0586c4
Remove misspelled Kubernetes file
antonflor Jul 14, 2026
bf13e49
Remove employer-specific interview dossier
antonflor Jul 14, 2026
7d3ca00
Replace REST API reference with operational guide
antonflor Jul 14, 2026
073f636
Remove superseded REST API file
antonflor Jul 14, 2026
2b899a8
Finalize repository index after cleanup
antonflor Jul 14, 2026
089c294
Scope documentation checks to maintained files
antonflor Jul 14, 2026
21f8ec6
Fix README Git reference
antonflor Jul 14, 2026
ea37612
Focus Markdown lint on correctness rules
antonflor Jul 14, 2026
a72976c
Make documentation checks deterministic
antonflor Jul 14, 2026
8e3ea64
Use deterministic Markdown validation
antonflor Jul 14, 2026
fbcf5bb
Remove unused Markdown lint configuration
antonflor Jul 14, 2026
73179a7
Validate stable Markdown invariants
antonflor Jul 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions .github/ISSUE_TEMPLATE/content-correction.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Content correction
description: Report an inaccurate, obsolete, unsafe, or unclear command or explanation
title: "[Correction]: "
labels:
- documentation
body:
- type: input
id: file
attributes:
label: File
description: Which cheat sheet needs correction?
placeholder: docker.md
validations:
required: true

- type: textarea
id: problem
attributes:
label: Problem
description: Explain what is inaccurate, obsolete, unsafe, or unclear.
validations:
required: true

- type: input
id: platform
attributes:
label: Platform and version
description: Include the product, operating system, and version when relevant.

- type: textarea
id: correction
attributes:
label: Suggested correction
description: Provide corrected wording or commands when possible.

- type: textarea
id: references
attributes:
label: Official references
description: Link the relevant vendor, project, or standards documentation.
100 changes: 100 additions & 0 deletions .github/workflows/docs-quality.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
name: Documentation quality

on:
pull_request:
push:
branches:
- main
workflow_dispatch:

permissions:
contents: read

jobs:
markdown-structure:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Validate maintained Markdown structure
shell: bash
run: |
python - <<'PY'
from pathlib import Path
import re
import sys

files = [
"README.md",
"CONTRIBUTING.md",
"STYLE_GUIDE.md",
"arista.md",
"azure.md",
"cisco.md",
"docker.md",
"gcloud.md",
"iptables.md",
"kubernetes.md",
"rest-api.md",
"terraform.md",
]

errors = []
for filename in files:
path = Path(filename)
if not path.is_file():
errors.append(f"{filename}: file is missing")
continue

text = path.read_text(encoding="utf-8")
if not text.strip():
errors.append(f"{filename}: file is empty")
continue

first_content_line = next(
(line for line in text.splitlines() if line.strip()),
"",
)
if not first_content_line.startswith("# "):
errors.append(f"{filename}: first content line must be an H1")
if "\x00" in text:
errors.append(f"{filename}: NUL byte found")

for number, line in enumerate(text.splitlines(), start=1):
if re.search(r"\[[^\]]*\]\(\s*\)", line):
errors.append(f"{filename}:{number}: empty Markdown link")

if errors:
print("\n".join(errors))
sys.exit(1)

print(f"Validated {len(files)} maintained Markdown files.")
PY

links:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Check maintained documentation links
uses: lycheeverse/lychee-action@v2
with:
args: >-
--offline
--verbose
--no-progress
README.md
CONTRIBUTING.md
STYLE_GUIDE.md
arista.md
azure.md
cisco.md
docker.md
gcloud.md
iptables.md
kubernetes.md
rest-api.md
terraform.md
fail: true
61 changes: 61 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Contributing

Corrections and focused additions are welcome. The goal is operationally useful, concise, and verifiable reference material.

## Before submitting a change

1. Verify commands against official vendor or project documentation.
2. State the platform, operating system, or major release when syntax is version-sensitive.
3. Test examples in a lab or disposable environment when practical.
4. Mark destructive commands clearly and include a safer inspection step first.
5. Never commit real credentials, internal addresses, customer data, private architecture, or employer-specific interview material.

## Cheat-sheet structure

Use the following order when it fits the topic:

```markdown
# Product or Topic Cheat Sheet

> **Applies to:** Product family or major release
> **Last reviewed:** YYYY-MM-DD

A one-paragraph scope statement.

## Safety

Important operational warnings.

## Quick reference

Commands and concise explanations.

## Troubleshooting workflow

A read-only, least-disruptive-first sequence.

## Official references

- [Documentation title](https://example.com)
```

## Style rules

- Use one `#` heading per document.
- Use fenced code blocks with a language identifier when possible.
- Use placeholders in angle brackets, such as `<interface>` or `<project-id>`.
- Prefer tables for compact command references.
- Explain important side effects directly beside the command.
- Avoid marketing language such as “comprehensive,” “ultimate,” or “one-stop.”
- Keep conceptual overviews separate from command references when either becomes long.

## Pull requests

A pull request should explain:

- what changed;
- why the previous content was inaccurate or difficult to use;
- which official references were used;
- how the examples were validated.

For a simple typo or broken link, a short explanation is sufficient.
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2026 Antonio Flores

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
106 changes: 89 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,100 @@
# Cheatsheets Repository
# Infrastructure and Network Engineering Cheatsheets

Welcome to the Cheatsheets Repository – your one-stop hub for quick-reference guides in the world of networking and technology. This repository is dedicated to providing concise, easy-to-understand cheat sheets for a range of technologies including Cisco, Juniper, Arista, and more.
Practical quick-reference notes for network engineering, Linux operations, cloud platforms, infrastructure automation, and troubleshooting.

---
> [!WARNING]
> These notes are a memory aid, not a substitute for vendor documentation, change review, backups, or a tested rollback plan. Commands that alter state can cause outages or data loss. Validate syntax against the exact software and platform release you operate.

**Key Features:**
## How to use this repository

- **Comprehensive Coverage:** From basic commands to advanced configurations, our cheat sheets span a wide array of topics and technologies.
- **User-Friendly Format:** Designed for both beginners and seasoned professionals, these cheat sheets are structured to provide information at a glance.
- **Regular Updates:** The tech world is always evolving, and so are our cheat sheets. Stay up-to-date with the latest commands and functionalities.
- **Community-Driven:** Contributions are welcome! Help us expand and refine our cheat sheets to cover more technologies and topics.
- Replace values such as `<interface>`, `<namespace>`, and `<resource-id>` before running commands.
- Start with read-only inspection commands and capture the current state.
- Treat `clear`, `delete`, `destroy`, `flush`, `reset`, `prune`, and `--force` operations as destructive.
- Prefer official documentation for release-specific behavior.
- Open a content-correction issue when a command is obsolete, unsafe, ambiguous, or vendor-specific.

**Ideal For:**
## Networking fundamentals

- Network Engineers and IT Professionals seeking quick references.
- Students and educators in the field of Information Technology and Computer Science.
- Anyone looking to expand their knowledge in networking technologies.
| Topic | Reference |
|---|---|
| Clos fabrics | [clos.md](clos.md) |
| Leaf-spine design | [leafspine.md](leafspine.md) |
| LLDP | [lldp.md](lldp.md) |
| OSI model | [osi.md](osi.md) |
| OSPF | [ospf.md](ospf.md) |
| TCP | [tcp.md](tcp.md) |
| UDP | [udp.md](udp.md) |

**Get Involved:**
## Network platforms and routing software

We encourage you to contribute and share your expertise. Whether it's fixing a typo, adding a new cheat sheet, or improving existing content, every bit of help is appreciated!
| Platform | Reference |
|---|---|
| Arista EOS | [arista.md](arista.md) |
| BIRD | [bird.md](bird.md) |
| Cisco IOS / IOS XE | [cisco.md](cisco.md) |
| Fortinet FortiGate | [fortinet.md](fortinet.md) |
| Juniper Junos | [juniper.md](juniper.md) |

**Navigate with Ease:**
## Cisco contact center

Our repository is organized for easy navigation, allowing you to quickly find the cheat sheet you need. Whether you're configuring a Cisco router, setting up a Juniper network, or exploring Arista technologies, the right information is just a click away.
| Product | Reference |
|---|---|
| Cisco Unified Intelligence Center | [cisco-cuic.md](cisco-cuic.md) |
| Cisco Unified Customer Voice Portal | [cisco-cvp.md](cisco-cvp.md) |
| Cisco Intelligent Contact Management | [cisco-icm.md](cisco-icm.md) |

**Join us in building the most comprehensive and user-friendly tech cheat sheets collection. Star, fork, and contribute today!**
## Cloud platforms

| Topic | Reference |
|---|---|
| AWS services | [awscloud.md](awscloud.md) |
| AWS CLI | [awscli.md](awscli.md) |
| Microsoft Azure and Azure CLI | [azure.md](azure.md) |
| Google Cloud services | [gcpcloud.md](gcpcloud.md) |
| Google Cloud CLI | [gcloud.md](gcloud.md) |

## Containers, orchestration, and infrastructure as code

| Topic | Reference |
|---|---|
| Docker and Docker Compose | [docker.md](docker.md) |
| Kubernetes and kubectl | [kubernetes.md](kubernetes.md) |
| Terraform | [terraform.md](terraform.md) |
| Jenkins CI/CD | [jenkins-cicd.md](jenkins-cicd.md) |
| Puppet | [puppet.md](puppet.md) |

## Linux and operations

| Topic | Reference |
|---|---|
| awk | [awk.md](awk.md) |
| Debian | [debian.md](debian.md) |
| HAProxy | [haproxy.md](haproxy.md) |
| iptables | [iptables.md](iptables.md) |
| Linux boot process | [linux_kernel_boot.md](linux_kernel_boot.md) |
| nmap | [nmap.md](nmap.md) |
| Pacemaker | [pacemaker.md](pacemaker.md) |
| Corosync | [corosync.md](corosync.md) |
| Regular expressions | [regex.md](regex.md) |
| SCP | [scp.md](scp.md) |
| sed | [sed.md](sed.md) |
| Xen | [xen.md](xen.md) |

## Development and data

| Topic | Reference |
|---|---|
| Git | [github.md](github.md) |
| Kafka | [kafka.md](kafka.md) |
| REST APIs | [rest-api.md](rest-api.md) |
| SQL | [sql.md](sql.md) |

## Maintenance policy

Accuracy-sensitive documents should include an **Applies to** line and a **Last reviewed** date. A review date means the examples received a documentation review; it does not guarantee compatibility with every release or environment.

Repository quality checks validate the maintained documentation surface on pull requests and changes to `main`. See [CONTRIBUTING.md](CONTRIBUTING.md) and [STYLE_GUIDE.md](STYLE_GUIDE.md) before adding or substantially rewriting a sheet.

## License

Content is available under the [MIT License](LICENSE).
Loading
Loading