Template
Initial: ITPP standards repo with templates, CI workflows, .gitignore, and .markdownlint.json
Docs Check / lint (push) Failing after 34s
Docs Check / lint (push) Failing after 34s
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
name: Docs Check
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- '**.md'
|
||||
- 'docs/**'
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Markdown lint
|
||||
run: |
|
||||
npm install -g markdownlint-cli
|
||||
markdownlint '**/*.md' --ignore node_modules
|
||||
- name: Link check
|
||||
run: |
|
||||
npm install -g markdown-link-check
|
||||
find . -name '*.md' -not -path '*/node_modules/*' \
|
||||
-exec markdown-link-check {} \;
|
||||
- name: Spell check
|
||||
run: |
|
||||
pip install codespell
|
||||
codespell '**/*.md' --skip='*.git*'
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
# OS
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# Editor
|
||||
.vscode/
|
||||
.idea/
|
||||
*.swp
|
||||
*.swo
|
||||
|
||||
# Secrets
|
||||
.env
|
||||
*.pem
|
||||
*.key
|
||||
credentials.json
|
||||
|
||||
# Python
|
||||
__pycache__/
|
||||
*.pyc
|
||||
.venv/
|
||||
venv/
|
||||
|
||||
# Node
|
||||
node_modules/
|
||||
|
||||
# Build output
|
||||
dist/
|
||||
build/
|
||||
site/
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"default": true,
|
||||
"MD013": { "line_length": 200 },
|
||||
"MD033": false,
|
||||
"MD041": false,
|
||||
"MD024": { "siblings_only": true },
|
||||
"MD034": false,
|
||||
"MD046": { "style": "fenced" }
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
# ITPP Standards — CHANGELOG
|
||||
|
||||
## 2026-08-09 — Initial
|
||||
|
||||
- Created repository with documentation templates and CI workflows.
|
||||
- Added README template, CHANGELOG template, DESIGN.md template, MkDocs config template.
|
||||
- Added Gitea Actions workflows: docs-check (lint + link check + spell check), docs-publish (aggregated site rebuild).
|
||||
- Added canonical .gitignore and .markdownlint.json.
|
||||
@@ -0,0 +1,39 @@
|
||||
# ITPP Standards
|
||||
|
||||
> **Owner:** Germaine | **Status:** LIVE
|
||||
> **Last Updated:** 2026-08-09
|
||||
|
||||
Canonical documentation standards, templates, and CI workflows for all IT Pro Partner repositories. Use this repo as a Gitea template when creating new projects, or copy individual templates as needed.
|
||||
|
||||
## What's Inside
|
||||
|
||||
- `templates/` — README, CHANGELOG, DESIGN.md, and MkDocs config templates for new projects
|
||||
- `templates/gitea-ci/` — Reusable Gitea Actions workflows (docs lint, link check, spell check)
|
||||
- `.markdownlint.json` — Standard Markdown linting rules for all ITPP repos
|
||||
- `.gitignore` — Canonical `.gitignore` for Python, Node.js, secrets, and build artifacts
|
||||
|
||||
## Quick Start
|
||||
|
||||
```bash
|
||||
# Option 1: Use as Gitea template
|
||||
# In Gitea UI: New Repository → From Template: itpp-standards
|
||||
|
||||
# Option 2: Copy templates into existing repo
|
||||
git clone https://git.itpropartner.com/ippadmin/<your-repo>.git
|
||||
cp /path/to/itpp-standards/templates/repo-readme.md <your-repo>/README.md
|
||||
cp /path/to/itpp-standards/templates/repo-changelog.md <your-repo>/CHANGELOG.md
|
||||
cp /path/to/itpp-standards/.gitignore <your-repo>/
|
||||
cp /path/to/itpp-standards/templates/gitea-ci/docs-check.yml <your-repo>/.gitea/workflows/
|
||||
```
|
||||
|
||||
## Standards
|
||||
|
||||
- **README.md** — Mandatory. Every repo must have one. Minimum 400 bytes. Follow the template.
|
||||
- **CHANGELOG.md** — Mandatory. Reverse-chronological, user-facing, one line per change.
|
||||
- **DESIGN.md** — When the project has a public API or multiple consumers.
|
||||
- **.gitea/workflows/docs-check.yml** — Recommended. Lints Markdown and checks links on push.
|
||||
|
||||
## Related
|
||||
|
||||
- [itpp-infrastructure](https://git.itpropartner.com/ippadmin/itpp-infrastructure) — server inventory, DNS
|
||||
- [itpp-docs](https://git.itpropartner.com/ippadmin/itpp-docs) — aggregated docs site
|
||||
@@ -0,0 +1,26 @@
|
||||
# {{PROJECT_NAME}} — Design
|
||||
|
||||
> **Status:** DRAFT
|
||||
> **Last Updated:** YYYY-MM-DD
|
||||
|
||||
## Overview
|
||||
|
||||
<What this design document covers and who it is for.>
|
||||
|
||||
## Architecture
|
||||
|
||||
<High-level architecture description. Diagrams welcome.>
|
||||
|
||||
## API / Interface
|
||||
|
||||
<Public API surface, data models, integration points.>
|
||||
|
||||
## Decisions
|
||||
|
||||
| Date | Decision | Rationale |
|
||||
|---|---|---|
|
||||
| YYYY-MM-DD | <decision> | <why> |
|
||||
|
||||
## Consumers
|
||||
|
||||
<Who depends on this project and how they use it.>
|
||||
@@ -0,0 +1,26 @@
|
||||
name: Docs Check
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- '**.md'
|
||||
- 'docs/**'
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Markdown lint
|
||||
run: |
|
||||
npm install -g markdownlint-cli
|
||||
markdownlint '**/*.md' --ignore node_modules
|
||||
- name: Link check
|
||||
run: |
|
||||
npm install -g markdown-link-check
|
||||
find . -name '*.md' -not -path '*/node_modules/*' \
|
||||
-exec markdown-link-check {} \;
|
||||
- name: Spell check
|
||||
run: |
|
||||
pip install codespell
|
||||
codespell '**/*.md' --skip='*.git*'
|
||||
@@ -0,0 +1,20 @@
|
||||
name: Publish Docs Site
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
schedule:
|
||||
- cron: '0 5 * * *'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Build MkDocs site
|
||||
run: |
|
||||
pip install mkdocs mkdocs-material
|
||||
bash build-docs.sh
|
||||
mkdocs build
|
||||
- name: Deploy to app3
|
||||
run: |
|
||||
rsync -avz site/ root@152.53.241.111:/var/www/docs.itpropartner.com/
|
||||
@@ -0,0 +1,33 @@
|
||||
site_name: "{{PROJECT_NAME}} Docs"
|
||||
site_url: "https://docs.itpropartner.com/{{PROJECT_NAME}}/"
|
||||
repo_url: "https://git.itpropartner.com/ippadmin/{{PROJECT_NAME}}"
|
||||
edit_uri: edit/main/docs/
|
||||
|
||||
theme:
|
||||
name: material
|
||||
palette:
|
||||
scheme: slate
|
||||
primary: indigo
|
||||
accent: indigo
|
||||
features:
|
||||
- navigation.instant
|
||||
- navigation.tracking
|
||||
- navigation.tabs
|
||||
- navigation.sections
|
||||
- search.highlight
|
||||
- search.share
|
||||
|
||||
plugins:
|
||||
- search
|
||||
|
||||
markdown_extensions:
|
||||
- admonition
|
||||
- pymdownx.details
|
||||
- pymdownx.superfences
|
||||
- pymdownx.highlight
|
||||
- tables
|
||||
- toc:
|
||||
permalink: true
|
||||
|
||||
nav:
|
||||
- Home: index.md
|
||||
@@ -0,0 +1,5 @@
|
||||
# {{PROJECT_NAME}} — CHANGELOG
|
||||
|
||||
## YYYY-MM-DD — Initial
|
||||
|
||||
- Created project repository.
|
||||
@@ -0,0 +1,29 @@
|
||||
# {{PROJECT_NAME}}
|
||||
|
||||
> **Owner:** Germaine | **Status:** PLANNED
|
||||
> **Last Updated:** YYYY-MM-DD
|
||||
|
||||
<One-paragraph summary of what this project does and why it exists.>
|
||||
|
||||
## Access
|
||||
|
||||
| Resource | URL | Location | Notes |
|
||||
|---|---|---|---|
|
||||
| <service name> | https://... | <server> | <how to auth> |
|
||||
|
||||
## Tech Stack
|
||||
|
||||
<Bullet list: Python 3.11, FastAPI, SQLite, Docker, etc.>
|
||||
|
||||
## Quick Start
|
||||
|
||||
```bash
|
||||
git clone https://git.itpropartner.com/ippadmin/{{PROJECT_NAME}}.git
|
||||
cd {{PROJECT_NAME}}
|
||||
# how to run / deploy
|
||||
```
|
||||
|
||||
## Related
|
||||
|
||||
- [itpp-infrastructure](https://git.itpropartner.com/ippadmin/itpp-infrastructure) — server inventory, DNS
|
||||
- [itpp-standards](https://git.itpropartner.com/ippadmin/itpp-standards) — docs standards and templates
|
||||
Reference in New Issue
Block a user