Bootstrap open-source projects with documentation, CI/CD, and polish. Use when user asks to "set up docs", "add MkDocs", "create GitHub Actions", "add funding", "polish README", "add Giscus comments", "bootstrap project", or wants to improve project presentation and infrastructure.
/plugin marketplace add ninyawee/armed-claude/plugin install supabase-skills@armed-claudeThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/readme-template.mdBootstrap open-source projects with professional documentation, CI/CD, and polish.
| Component | What it does |
|---|---|
| MkDocs | Material theme docs with tabs, code copy, dark mode |
| GitHub Actions | Auto-deploy docs on push to main |
| Giscus | GitHub Discussions-based comments on docs |
| README | Polished README with badges, tables, examples |
| Funding | Ko-fi badge, GitHub Sponsors |
Create mkdocs.yml:
site_name: Project Name
site_url: https://ninyawee.github.io/REPO
repo_url: https://github.com/ninyawee/REPO
theme:
name: material
custom_dir: docs/overrides
palette:
- scheme: default
primary: indigo
toggle:
icon: material/brightness-7
name: Switch to dark mode
- scheme: slate
primary: indigo
toggle:
icon: material/brightness-4
name: Switch to light mode
features:
- content.code.copy
- navigation.sections
- navigation.expand
markdown_extensions:
- pymdownx.highlight:
anchor_linenums: true
- pymdownx.superfences
- pymdownx.tabbed:
alternate_style: true
- tables
- admonition
- pymdownx.details
nav:
- Home: index.md
- Getting Started: getting-started.md
Add mise task:
[tasks."docs:serve"]
run = "uv run --with mkdocs-material mkdocs serve"
[tasks."docs:build"]
run = "uv run --with mkdocs-material mkdocs build"
Create .github/workflows/docs.yml:
name: Deploy Docs
on:
push:
branches: [main]
paths: ['docs/**', 'mkdocs.yml', '.github/workflows/docs.yml']
workflow_dispatch:
permissions:
contents: write
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: pip install mkdocs mkdocs-material
- run: mkdocs gh-deploy --force
Prerequisites (Giscus requires public repo with Discussions enabled):
# Enable discussions
gh repo edit ninyawee/REPO --enable-discussions
# Verify repo is public and discussions enabled
gh repo view ninyawee/REPO --json visibility,hasDiscussionsEnabled
Setup steps:
data-repo-id and data-category-idCreate docs/overrides/main.html:
{% extends "base.html" %}
{% block content %}
{{ super() }}
<h2 id="__comments">{{ lang.t("meta.comments") }}</h2>
<script
src="https://giscus.app/client.js"
data-repo="ninyawee/REPO"
data-repo-id="REPO_ID_FROM_GISCUS"
data-category="General"
data-category-id="CATEGORY_ID_FROM_GISCUS"
data-mapping="pathname"
data-strict="0"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="bottom"
data-theme="preferred_color_scheme"
data-lang="en"
data-loading="lazy"
crossorigin="anonymous"
async
></script>
{% endblock %}
š **[Documentation](https://ninyawee.github.io/REPO/)**
[](https://pypi.org/project/PACKAGE/)
[](https://www.npmjs.com/package/PACKAGE)
[](https://crates.io/crates/PACKAGE)
[](https://ninyawee.github.io/REPO)
[](LICENSE)
š **[Documentation](https://ninyawee.github.io/REPO/)**See references/readme-template.md for full example.
[](https://ko-fi.com/ninyawee)
Create .github/FUNDING.yml:
ko_fi: ninyawee
github: ninyawee
Add docs/repo URLs to package manifests:
[package]
name = "package-name"
version = "0.1.0"
edition = "2021"
license = "MIT"
description = "Short description"
repository = "https://github.com/ninyawee/REPO"
homepage = "https://ninyawee.github.io/REPO"
documentation = "https://ninyawee.github.io/REPO"
keywords = ["keyword1", "keyword2"]
categories = ["category"]
[project]
name = "package-name"
version = "0.1.0"
description = "Short description"
license = "MIT"
readme = "README.md"
requires-python = ">=3.9"
keywords = ["keyword1", "keyword2"]
authors = [{ name = "Nutchanon Ninyawee", email = "me@nutchanon.org" }]
[project.urls]
Homepage = "https://github.com/ninyawee/REPO"
Documentation = "https://ninyawee.github.io/REPO"
Repository = "https://github.com/ninyawee/REPO"
{
"name": "package-name",
"version": "0.1.0",
"description": "Short description",
"license": "MIT",
"author": "Nutchanon Ninyawee <me@nutchanon.org>",
"repository": {
"type": "git",
"url": "https://github.com/ninyawee/REPO"
},
"homepage": "https://ninyawee.github.io/REPO",
"bugs": "https://github.com/ninyawee/REPO/issues",
"keywords": ["keyword1", "keyword2"]
}
When bootstrapping a project:
mkdocs.yml with Material themedocs/ structure (index.md, getting-started.md, api/)docs/overrides/main.html for Giscus.github/workflows/docs.ymldocs:serve and docs:build tasks to mise.tomlš **[Documentation](https://ninyawee.github.io/REPO/)**).github/FUNDING.ymlCreate employment contracts, offer letters, and HR policy documents following legal best practices. Use when drafting employment agreements, creating HR policies, or standardizing employment documentation.
Implement GDPR-compliant data handling with consent management, data subject rights, and privacy by design. Use when building systems that process EU personal data, implementing privacy controls, or conducting GDPR compliance reviews.