Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
30 changes: 30 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# TGWAB dependency updates — DEV-STANDARDS §15.
#
# Place at: .github/dependabot.yml
#
# Grouping caps a normal week at ~3 PRs instead of one per package — ungrouped
# Dependabot is how automated updates get muted and then ignored.
#
# DO NOT use this for a pnpm-11 repo's npm dependencies (wizard-web). Dependabot
# supports pnpm v7–v10 and cannot parse a pnpm 11 multi-document lockfile, so it
# opens zero PRs while appearing configured. Use templates/renovate.json there —
# this file's github-actions entry is still fine to keep alongside it.
#
# Class C Jekyll repos add a third entry with package-ecosystem: bundler.

version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
day: monday
time: "06:00"
timezone: America/New_York
open-pull-requests-limit: 2
labels: [dependencies]
commit-message:
prefix: "chore(actions)"
groups:
actions:
patterns: ["*"]
26 changes: 26 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# §15 gates for a no-build single-file page. Deploy is GitHub Pages from main.
name: ci
on:
pull_request:
push:
branches: [main]
permissions: {}
concurrency:
group: ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
ci:
runs-on: ubuntu-latest
timeout-minutes: 5
permissions:
contents: read
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
# §2 gate: the page (with inlined highlight.js) must be eval-free.
- run: ./scripts/no-eval.sh .
# §1 gate: no mailto: anywhere in the page.
- run: |
set -euo pipefail
if grep -n 'mailto:' index.html; then echo "::error::mailto: in page (§1)"; exit 1; fi
10 changes: 10 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# OS / editor cruft (§10)
.DS_Store
Thumbs.db
*.swp
.idea/
.vscode/

# Secrets never land in a repo (§10, §16)
.dev.vars*
.env*
12 changes: 11 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# GitHub Tree Browser

A single-file, client-only explorer for browsing any **public GitHub repository** as a collapsible tree on **GitHub Pages**. Previews images inline, renders text & code files with syntax highlighting, and gives one-click **raw**, **CDN**, and **GitHub** links.
A single-file, client-only explorer for browsing any **public GitHub repository** as a collapsible tree on **GitHub Pages**. **Class C micro-project** (§10): public, MIT, no custom domain. Previews images inline, renders text & code files with syntax highlighting, and gives one-click **raw**, **CDN**, and **GitHub** links.

🔗 **Live:** [michalaferber.github.io/github-tree-browser](https://michalaferber.github.io/github-tree-browser/)

Expand Down Expand Up @@ -74,3 +74,13 @@ With a fine-grained PAT (no scopes needed for public repos, just `public_repo` i
## License

MIT — see [LICENSE](LICENSE).

## Credits

| Component | Version | License |
| --- | --- | --- |
| [highlight.js](https://highlightjs.org) (inlined) | 11.9.0 | BSD-3-Clause |

## Standards

Built to the TGWAB Dev Standards **v2.10.1** (internal).
Loading