github-repo Β· diff

git:20260728.2e48cca to git:20260812.3ab0ce7

40 added, 6 removed. Audit A to A.

---
name: github-repo
description: "Standards and workflows for writing, formatting, sanitizing, and publishing high-quality GitHub repositories, complementing openwiki-skill."
category: workflow-bundle
risk: safe
source: local
date_added: "2026-07-28"
---
# GitHub Repo Skill: Public-Grade Repository Standards & Release Workflows
The **`github-repo`** skill establishes strict standards for building, organizing, sanitizing, and maintaining production-ready GitHub repositories. It serves as a sister skill to **`openwiki-skill`**: while `openwiki-skill` manages deep wiki documentation in `.openwiki/` and continuous updates, `github-repo` governs repository layout, top-tier README design, CI/CD pipelines, NPM release workflows, and strict privacy/security audits.
---
## 1. When to Invoke This Skill
- **Repository Initialization**: When creating a new repository or preparing an existing codebase for open-source publication.
- **Pre-Push Sanitization Audit**: Before committing or pushing code, to ensure no absolute local paths, API keys, foreign repository names, or cloned user metadata are published.
- **Workflow Setup**: Setting up automated testing (`ci.yml`), automated NPM releases (`publish.yml`), or `.gitignore` rules.
- - **README Overhaul**: Restructuring a project's `README.md` to conform to modern open-source standards.
+ - **README Overhaul**: Restructuring a project's `README.md` to conform to modern BDB DEV corporate open-source standards.
---
## 1.1 ⚑ Mandatory Prerequisite: Automatic OpenWiki Check
Whenever the `github-repo` skill is invoked, the agent MUST perform an automated pre-flight check:
1. **Check `.openwiki/` Existence**: Verify if `.openwiki/` directory exists and contains `quickstart.md`, `architecture.md`, and release notes.
2. **Automatic Execution of `openwiki-skill`**: If `.openwiki/` is missing, empty, or stale, **automatically invoke `openwiki-skill` first** before performing repo structure or README edits.
3. **Handshake**: Allow `openwiki-skill` to scan the codebase and populate `.openwiki/`, then resume `github-repo` tasks (README layout, dynamic badges, CI/CD workflows, sanitization audit).
---
## 2. πŸ”’ Mandatory Sanitization & Privacy Rules (Clean-Repo Engine)
Before pushing any commit to GitHub, execute this 5-point sanitization audit:
### Rule 1: No Absolute Local Paths or Usernames
- **Forbidden:** Paths like `/Users/john/projects/...`, `C:\Users\dev\...`, `/home/ubuntu/...`.
- **Allowed:** Relative paths (`./src/index.ts`, `config/settings.json`) or environment placeholders (`~/.config/`, `$HOME/`).
### Rule 2: Zero Secrets & Credentials
- **Forbidden:** API keys, secret tokens, private keys, database strings with passwords, OAuth client secrets.
- **Action:** Ensure `.env` is listed in `.gitignore`. Always provide a sanitized `.env.example` file.
### Rule 3: Scrub Foreign Clone Artifacts
- **Forbidden:** Foreign `git remote` URLs, mismatched repository names in `package.json` / `pyproject.toml`, or author details retained from cloned starter templates.
- **Action:** Verify `package.json` fields (`name`, `repository`, `homepage`, `bugs`, `author`) match the target repository explicitly.
### Rule 4: Clean Remote & Repository Name Synchronization
- **Forbidden:** References to older repository names or external GitHub orgs/users that do not match the current project.
- **Action:** Check all internal markdown links, badge URLs, and package references to ensure accurate naming across all files.
### Rule 5: Workspace Artifact Exclusion
- **Forbidden:** Committing `.DS_Store`, build outputs (`dist/`, `build/`), `node_modules/`, scratch files, or environment configurations.
- **Action:** Verify complete coverage in `.gitignore`.
---
## 3. Recommended Repository Layout
```
.
β”œβ”€β”€ .github/
β”‚ └── workflows/
β”‚ β”œβ”€β”€ ci.yml # Continuous integration & test matrix
β”‚ └── publish.yml # NPM publish on GitHub Release tag
β”œβ”€β”€ .openwiki/ # Managed by openwiki-skill (architecture, quickstart, etc.)
β”‚ β”œβ”€β”€ quickstart.md
β”‚ β”œβ”€β”€ architecture.md
β”‚ └── release_notes.md
β”œβ”€β”€ src/ # Source code
β”œβ”€β”€ tests/ # Unit and integration tests
β”œβ”€β”€ .env.example # Sanitized environment template
β”œβ”€β”€ .gitignore # Production gitignore rules
β”œβ”€β”€ CHANGELOG.md # Version change history
β”œβ”€β”€ LICENSE # Open-source license (MIT/Apache-2.0)
β”œβ”€β”€ README.md # Primary entrypoint (High-Impact layout)
└── package.json / Cargo.toml # Package manifest
```
---
- ## 4. High-Impact README Layout Standard & Dynamic Badges
+ ## 4. High-Impact README Layout Standard (BDB DEV Style)
- A top-tier `README.md` MUST include a clean row of dynamic shields/badges directly under the main title. Badges MUST be tailored to the specific repository owner, repository name, tech stack, license, test coverage, and key project metric.
+ A top-tier `README.md` MUST strictly adhere to the BDB DEV corporate identity and structure.
- ### Standard Badge Row Formula
+ ### 4.1 Top Bar: Language Definition & ASCII Art Header
+ Every README must start with a language switch header at the very top (if applicable), followed immediately by a clean ASCII Art text logo inside a ````text ```` block. The ASCII art should spell out the project name or "BDB DEV" using standard blocky fonts.
+
+ ### 4.2 Title, Topology Sketch & Dynamic Badges
+ Directly below the ASCII art, place the main title (H1) with an appropriate emoji.
+ **Topology Sketch (MANDATORY)**: Directly below the title, include an architectural sketch image representing the system. You MUST instruct the agent or use your own generative tools (e.g., DALL-E, Nano Banana, or available harness tools) to generate a topology sketch image (e.g., `![Architecture Sketch](assets/topology_sketch.jpg)`).
+ Follow this immediately with a clean row of dynamic shields/badges tailored to the repository.
+
+ ### 4.3 The Hook (Mission Statement)
+ Directly below the badges, write a single, bolded, hard-hitting sentence inside a blockquote that explains the ultimate value proposition of the project.
+
+ ### 4.4 Visualizations, Emojis, & GitHub Alerts
+ - **Mermaid Diagrams**: ALWAYS include `mermaid` code blocks to visualize the core architecture or signal flow.
+ - **Emojis**: Use clear H2 (`##`) sections with matching emojis (e.g., `## 🌟 Key Highlights`, `## πŸ—οΈ Architecture`, `## πŸš€ Quickstart`).
+ - **GitHub Alerts**: NEVER use standard bold text for warnings or tips. You MUST use official GitHub Markdown Alert syntax (`> [!IMPORTANT]`, `> [!TIP]`, `> [!CAUTION]`).
+ - **Clean Clutter**: Use `<details>` and `<summary><strong>...</strong></summary>` to collapse verbose information.
+
+ ### 4.5 Standard Layout Formula
```markdown
- # Project Name
+ 🌐 **Language / Sprache**: **Deutsch** | [ πŸ‡¬πŸ‡§ English ](README.en.md)
+ ````text
+ B D B D E V - P R O J E C T N A M E
+ ````
+
+ # πŸš€ BDB DEV - [Project Name]
+
+ ![Architecture Sketch](assets/topology_sketch.jpg)
+
[![CI](https://github.com/<owner>/<repo>/actions/workflows/ci.yml/badge.svg)](https://github.com/<owner>/<repo>/actions)
[![coverage](https://img.shields.io/badge/coverage-94%25-brightgreen.svg)](https://github.com/<owner>/<repo>)
[![runtime](https://img.shields.io/badge/<runtime>-<version>-blue.svg)](https://github.com/<owner>/<repo>)
[![license](https://img.shields.io/badge/license-<license>-blue.svg)](LICENSE)
[![key metric](https://img.shields.io/badge/<metric_name>-<value>-brightgreen.svg)](https://github.com/<owner>/<repo>)
- > **High-impact tagline explaining what the project does in 1-2 concise sentences.**
+ > **[Action verb] the [Technology] into a [High-end outcome], highly isolated, [Feature]-grade system.**
+
+ ## 🌟 Key Highlights
+ ...
+
+ ## πŸ—οΈ Architecture & Workflow
+ ...
```
### Dynamic Badge Adaptation Guidelines
- **`CI Status Badge`**: Points to `.github/workflows/ci.yml` in the specific repository (`CI | passing`).
- **`Coverage Badge`**: Reflects actual test suite coverage (e.g. `coverage | 94%`).
- **`Runtime / Language Badge`**: Matches the primary runtime (e.g., `python | 3.10+`, `node | 18+`, `go | 1.22+`).
- **`License Badge`**: Matches the project's `LICENSE` file (`license | Apache 2.0`, `license | MIT`).
- **`Key Metric Badge`**: Highlights the primary value or performance metric (e.g. `avg savings | 67%`, `downloads | 10k+`).
---
### 🌐 Multi-Language README Standard (Trilingual Switcher)
When preparing repositories for international audiences, provide multi-language READMEs with a top-bar language navigation switcher placed directly under the header banner:
1. **File Naming Standards**:
- `README.md` (Default English - GitHub root entrypoint)
- `README.de.md` (Deutsch / German)
- `README.pt.md` (PortuguΓͺs / Portuguese)
2. **Top-Bar Language Switcher Syntax**:
- **In `README.md` (English)**:
```markdown
🌐 **Language / Sprache / Idioma**: **English** | [ πŸ‡©πŸ‡ͺ Deutsch ](README.de.md) | [ πŸ‡΅πŸ‡Ή PortuguΓͺs ](README.pt.md)
```
- **In `README.de.md` (Deutsch)**:
```markdown
🌐 **Sprache / Language / Idioma**: [ πŸ‡¬πŸ‡§ English ](README.md) | **Deutsch** | [ πŸ‡΅πŸ‡Ή PortuguΓͺs ](README.pt.md)
```
- **In `README.pt.md` (PortuguΓͺs)**:
```markdown
🌐 **Idioma / Language / Sprache**: [ πŸ‡¬πŸ‡§ English ](README.md) | [ πŸ‡©πŸ‡ͺ Deutsch ](README.de.md) | **PortuguΓͺs**
```
3. **Parity Requirement**: All language versions MUST maintain 100% section parity (Header, Badges, Features, Architecture diagrams, Quickstart commands, CLI reference, License).
---
## ✨ Features
- **Key Feature 1**: Brief description emphasizing benefits.
- **Key Feature 2**: Brief description emphasizing performance or ease of use.
- **Key Feature 3**: Security, privacy, or integration highlight.
---
## πŸ—οΈ Architecture & Workflow
```mermaid
flowchart LR
A[Input / Trigger] --> B[Processing Engine]
B --> C[Sanitized Output / Artifact]
```
---
## πŸš€ Quickstart
### Prerequisites
- Node.js 18+ / Python 3.10+
- Package manager (`npm`, `pnpm`, or `bun`)
### Installation
```bash
# Via NPX
npx <package-name>@latest
# Or global installation
npm install -g <package-name>
```
---
## βš™οΈ Configuration
Copy `.env.example` to `.env` and configure environment variables:
| Variable | Description | Default | Required |
| :--- | :--- | :--- | :--- |
| `API_KEY` | Authentication key for external service | N/A | Yes |
| `LOG_LEVEL` | Logging verbosity (`info`, `debug`, `error`) | `info` | No |
---
## πŸ’» CLI & Usage
```bash
# Run main command
<command-name> --help
# Example command with arguments
<command-name> run --config ./config.json
```
---
## πŸ”„ CI/CD & Workflows
This repository includes automated workflows for testing and deployment:
- **CI Matrix**: Runs on every push/PR across Node versions (`.github/workflows/ci.yml`).
- **NPM Publish**: Automatically builds and publishes to NPM upon creating a GitHub Release (`.github/workflows/publish.yml`).
---
## πŸ“š Documentation
For complete architectural details, developer guides, and release notes, visit the [.openwiki/](.openwiki/quickstart.md) directory.
---
## πŸ“„ License
[MIT](LICENSE) Β© Project Contributors
+
+ ---
+ *Elevate your agency. Dominate the workflow.*
```
---
## 5. Workflow Templates
### 5.1 `.github/workflows/ci.yml`
```yaml
name: CI
on:
push:
branches: [ main, master ]
pull_request:
branches: [ main, master ]
jobs:
test:
name: Build & Test
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x, 20.x, 22.x]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Check code formatting & lint
run: npm run lint --if-present
- name: Run test suite
run: npm test --if-present
- name: Build production package
run: npm run build --if-present
```
### 5.2 `.github/workflows/publish.yml`
```yaml
name: Publish Package
on:
release:
types: [published]
jobs:
publish:
name: Publish to NPM
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
registry-url: 'https://registry.npmjs.org'
- name: Install dependencies
run: npm ci
- name: Build package
run: npm run build --if-present
- name: Publish to NPM
run: npm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
```
---
## 6. Pre-Publish Verification Checklist
Before releasing a package or pushing a release tag:
1. [ ] **Dry Run NPM Build**: Run `npm pack --dry-run` to confirm only intended files are packaged.
2. [ ] **Sanitization Sweep**: Search codebase for any stray `/Users/` or secret strings.
3. [ ] **Version Bump**: Ensure `package.json` version matches `CHANGELOG.md` and release tags.
4. [ ] **Secrets Verification**: Ensure `NPM_TOKEN` is configured in GitHub Repository Secrets.
5. [ ] **OpenWiki Sync**: Run `openwiki-skill` workflow to update `.openwiki/release_notes.md` and root entrypoints.