{"id":50140168,"url":"https://github.com/abdosorour7/dev-commands-cheatsheet","last_synced_at":"2026-06-09T17:00:32.464Z","repository":{"id":354768299,"uuid":"1225042084","full_name":"abdosorour7/dev-commands-cheatsheet","owner":"abdosorour7","description":"The ultimate offline-ready Developer Cheatsheets for Git, Docker, and more: searchable, copy-ready, and organized for real-world workflows.","archived":false,"fork":false,"pushed_at":"2026-05-24T22:52:46.000Z","size":1022,"stargazers_count":177,"open_issues_count":3,"forks_count":24,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-05-25T00:31:14.371Z","etag":null,"topics":["cheatsheet","command-line-tool","developer-tools","docker","git"],"latest_commit_sha":null,"homepage":"https://abdosorour7.github.io/dev-commands-cheatsheet/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abdosorour7.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-29T22:19:23.000Z","updated_at":"2026-05-24T22:52:50.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/abdosorour7/dev-commands-cheatsheet","commit_stats":null,"previous_names":["abdosorour7/git-commands-cheatsheet","abdosorour7/dev-commands-cheatsheet"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/abdosorour7/dev-commands-cheatsheet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdosorour7%2Fdev-commands-cheatsheet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdosorour7%2Fdev-commands-cheatsheet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdosorour7%2Fdev-commands-cheatsheet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdosorour7%2Fdev-commands-cheatsheet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abdosorour7","download_url":"https://codeload.github.com/abdosorour7/dev-commands-cheatsheet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abdosorour7%2Fdev-commands-cheatsheet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34116461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cheatsheet","command-line-tool","developer-tools","docker","git"],"created_at":"2026-05-24T01:00:29.548Z","updated_at":"2026-06-09T17:00:32.410Z","avatar_url":"https://github.com/abdosorour7.png","language":"JavaScript","funding_links":[],"categories":["developer-tools"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# 🧠 Dev Cheatsheets\n\n### A fast, searchable, professional reference for everyday developer commands\n\n[![Live Demo](https://img.shields.io/badge/🌐_Live_Demo-Visit_Site-00ff9d?style=for-the-badge\u0026labelColor=0a0e17)](https://abdosorour7.github.io/dev-commands-cheatsheet) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-00cfff?style=for-the-badge\u0026labelColor=0a0e17)](https://github.com/abdosorour7/dev-commands-cheatsheet/issues)\n\n\u003cbr/\u003e\n\n**Sections:** Git · Docker — and growing\n\n**Data-driven · Fast search · Copy-ready · Multilingual**\n\n\u003cbr/\u003e\n\n![Preview of the cheatsheet UI](https://raw.githubusercontent.com/abdosorour7/dev-commands-cheatsheet/main/preview.png)\n\n\u003c/div\u003e\n\n---\n\n## 🚀 Why This Repo\n\n- Built for speed: open, search, copy, and move on\n- Covers real daily workflows for the tools developers use most\n- Easy to extend with **new sections** (Git, Docker, …) without touching the rendering code\n- Designed to be contributor-friendly\n- Clean UI that is readable for long sessions\n\n---\n\n## ✨ Features\n\n- 🗂️ **Multiple sections** — switch between **Git** and **Docker** cheatsheets with a single click; new sections drop in via a JSON manifest\n- ✨ **Multilingual** — switch between English 🇬🇧, Italian 🇮🇹, French 🇫🇷, and Spanish 🇪🇸; your choice is remembered across visits\n- 🔍 **Instant search** — filter any command or description in real time, scoped to the active section\n- 📋 **One-click copy** — click any command to copy it to your clipboard\n- ⚠️ **Danger warnings** — destructive commands are clearly marked\n- ⌨️ **Keyboard shortcut** — press `/` to focus search instantly\n- 📱 **Fully responsive** — works great on mobile and desktop\n- 🌙 **Dark terminal theme** — easy on the eyes, built for developers\n- 📡 **PWA / offline** — installable, with service worker caching\n- 🧩 **Modular architecture** — separate data, rendering, state, and interactions\n\n---\n\n## 🏗️ Architecture\n\nThis project uses a clean static architecture with no framework and no build requirement.\n\n- **`index.html`**: page shell, section pills, semantic structure\n- **`assets/css/styles.css`**: visual design, layout, responsive styles\n- **`assets/data/sections.json`**: manifest for each section (`key`, `title`, `logo`, `#RRGGBB` `color`, docs URL, `docsLabelKey`)\n- **`assets/brands/`**: SVG marks for the section switcher (see `README.md` in that folder for attribution)\n- **`assets/data/{section}.{lang}.json`**: per-section command data (e.g. `git.en.json`, `docker.en.json`)\n- **`assets/data/ui.json`**: all UI strings keyed by locale (`en`, `it`, `fr`, `es`)\n- **`assets/js/app.js`**: app bootstrap and orchestration (sections + language)\n- **`assets/js/modules/`**:\n  - `paths.js` — resolves `assets/data/…`, `assets/brands/…`, and other static URLs from the current page (GitHub Pages–friendly)\n  - `data-loader.js` — loads `sections.json` and section data on demand (per language, with English fallback per command)\n  - `render.js` — renders section pills, category tabs, and command cards\n  - `state.js` — section, category, and search filtering state\n  - `interactions.js` — copy, keyboard, scroll behavior\n  - `i18n.js` — language switching, UI strings, and `localStorage` persistence (lang + section)\n\nScripts are loaded as **classic** `\u003cscript defer\u003e` files (not ES modules) so the app runs even when a simple local server serves `.js` as `text/plain` (common with `python -m http.server` on Windows). Strict MIME checks for `type=\"module\"` do not apply.\n\nThis keeps the app easy to maintain, easy to extend, and contributor-friendly.\n\n### ➕ Adding a new section (e.g. Linux, Kubernetes)\n\n1. Add an entry in `assets/data/sections.json` (each section needs a stable `key`, human `title`, `logo` path under `assets/brands/` or `assets/`, theme `color` as `#RRGGBB`, docs link, and `docsLabelKey` matching a key in `ui.json`):\n\n```json\n{\n  \"key\": \"kubernetes\",\n  \"title\": \"Kubernetes\",\n  \"logo\": \"assets/brands/kubernetes.svg\",\n  \"color\": \"#326CE5\",\n  \"docsUrl\": \"https://kubernetes.io/docs/reference/kubectl/\",\n  \"docsLabelKey\": \"footerDocs\"\n}\n```\n\n2. Add the logo SVG under `assets/brands/` (square viewBox, ~24px artwork scales cleanly in the section pills).\n3. Create `assets/data/kubernetes.en.json` using the same shape as `git.en.json` / `docker.en.json` (top-level `categories`, each with `commands`).\n4. Optional: add localized variants like `kubernetes.fr.json`. Missing translations fall back to English at runtime with an `EN` badge.\n5. Add new static files to `sw.js`'s `ASSETS` array and bump `CACHE_NAME` so they work offline after deploy.\n\nNo JavaScript changes are required for a new section beyond listing new files in the service worker.\n\n### ➕ Adding a new command\n\n1. Add the command to the appropriate `assets/data/{section}.en.json` (required, source of truth).\n2. Optionally add translated entries in the other `{section}.{lang}.json` files in the same PR.\n3. The UI shows an **EN** badge when a command is shown in English for the active language: missing locale file (all commands), missing row in a locale file, or when `descriptionHtml` still matches the English text after merge (so leaving English copy in a translated file is detected automatically).\n\n### 🌍 Adding a new language\n\n1. Add the locale's UI strings to `assets/data/ui.json`.\n2. Add a button to the `#lang-switcher` in `index.html` and to the `SUPPORTED_LANGS` array in `assets/js/modules/i18n.js`.\n3. Translate the per-section files you want to support (`git.{lang}.json`, `docker.{lang}.json`, …). Files can be partial — any missing commands fall back to English at runtime.\n\n**EN badge (automatic):** `assets/js/modules/data-loader.js` merges each section with English, then marks cards with `_fallback: \"en\"` when there is no `{section}.{lang}.json`, when a command row is absent in that file, or when `descriptionHtml` equals the English entry (normalized whitespace). The card renderer reads `_fallback` and shows the localized “not translated” hint from `ui.json`.\n\n---\n\n## 📚 Sections\n\n| Section | Categories | Commands |\n|---------|-----------:|---------:|\n| 🔱 Git | 13 | 127 |\n| 🐳 Docker | 11 | 142 |\n\n### Git categories\n⚙️ Setup \u0026 Config · 📁 Starting a Repo · 🔄 Basic Workflow · 🌿 Branching · ☁️ Remote (GitHub) · ↩️ Undo \u0026 Fix · 📦 Stash · 🏷️ Tags · 🔏 Signing \u0026 Verification · 🔍 History \u0026 Diff · 🧹 Cleanup \u0026 Maintenance · 🌲 Worktrees · 🚀 Advanced Branching\n\n### Docker categories\n⚙️ Setup \u0026 Info · 🐳 Images · 🚀 Run Containers · 🔁 Container Lifecycle · 🔍 Inspect \u0026 Logs · 💾 Volumes · 🌐 Networks · 🐙 Docker Compose · 📝 Dockerfile Instructions · 🏷️ Registry \u0026 Sharing · 🧹 Cleanup \u0026 Maintenance\n\n---\n\n## 🚀 Quick Start\n\n### Option 1 — Use the live website\nJust visit: **[abdosorour7.github.io/dev-commands-cheatsheet](https://abdosorour7.github.io/dev-commands-cheatsheet)**\n\n### Option 2 — Run locally\n```bash\ngit clone https://github.com/abdosorour7/dev-commands-cheatsheet.git\ncd dev-commands-cheatsheet\n```\n\nOpen `index.html` first (double-click it, or open it in your browser).\n\nIf the page works, you are done.\n\nIf commands do not load (browser blocks `file://` JSON loading), run a local server:\n\n```bash\npython -m http.server 8080\n```\n\nThen open: **http://localhost:8080**\n\nIf Python is not installed, use one of these alternatives:\n\n```bash\n# Option A (Node.js)\nnpx serve .\n\n# Option B (VS Code extension)\nUse \"Live Server\" and open the project root\n```\n\nNo build tools required for local development.\n\n---\n\n## 🧱 Project Structure\n\n```text\ndev-commands-cheatsheet/\n├─ index.html\n├─ manifest.json\n├─ sw.js\n├─ assets/\n│  ├─ brands/\n│  │  ├─ README.md\n│  │  ├─ git.svg\n│  │  └─ docker.svg\n│  ├─ css/\n│  │  └─ styles.css\n│  ├─ data/\n│  │  ├─ sections.json       ← list of sections (Git, Docker, …)\n│  │  ├─ git.en.json         ← Git — English (canonical source)\n│  │  ├─ git.it.json         ← Git — Italian\n│  │  ├─ git.fr.json         ← Git — French\n│  │  ├─ git.es.json         ← Git — Spanish\n│  │  ├─ docker.en.json      ← Docker — English (canonical source)\n│  │  └─ ui.json             ← UI strings for all locales\n│  └─ js/\n│     ├─ README.md\n│     ├─ app.js\n│     └─ modules/\n│        ├─ paths.js\n│        ├─ data-loader.js\n│        ├─ i18n.js\n│        ├─ interactions.js\n│        ├─ render.js\n│        └─ state.js\n└─ README.md\n```\n\n---\n\n## 🌟 Support This Project\n\n- ⭐ Star the repository if it helped you\n- 🍴 Fork it and customize your own version\n- 📣 Share it with teammates or in dev communities\n- 🐛 Open issues for mistakes or missing commands\n\n---\n\n## 🤝 Contributing\n\nContributions are warmly welcome and highly appreciated.\n\n- ➕ Add useful missing commands to existing sections\n- 🆕 Propose entirely new sections (Linux, Kubernetes, npm, AWS CLI, …)\n- 📝 Improve command descriptions and examples\n- 🌍 Add or improve translations\n- 🎨 Suggest UI/UX improvements\n\nOpen an issue or PR directly and include clear details/screenshots when relevant.\n\n---\n\n## 📄 License\n\nMIT © [abdosorour7](https://github.com/abdosorour7) — free to use, share, and modify.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\nIf this helped you, please consider giving it a ⭐ — it helps others discover it!\n\n***I'm not primarily a web developer — I just build practical tools that solve real problems.***\n\nBuilt with thoughtful AI assistance.\n\n---\n\n**Made with ❤️ for the developer community**\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdosorour7%2Fdev-commands-cheatsheet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabdosorour7%2Fdev-commands-cheatsheet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabdosorour7%2Fdev-commands-cheatsheet/lists"}