aboutsummaryrefslogtreecommitdiffstats
path: root/docs/superpowers/specs/2026-03-31-sbo-archive-hook-design.md
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-04-03 18:17:29 +0200
committerDanilo M. <danix@danix.xyz>2026-04-03 18:17:29 +0200
commitebb26eac2948e02def3c7ac1ac23c4ecd345a5a7 (patch)
treec54b2a6d28a89333b771bdee05e6baa45fe0c94f /docs/superpowers/specs/2026-03-31-sbo-archive-hook-design.md
parent1045963959ddfb697898fa90476f837aae4e2881 (diff)
downloadmy-slackbuilds-ebb26eac2948e02def3c7ac1ac23c4ecd345a5a7.tar.gz
my-slackbuilds-ebb26eac2948e02def3c7ac1ac23c4ecd345a5a7.zip
repo: flatten layout — move packages to root, extras to .extras/
- Move all packages from SlackBuilds/ to repo root - Move hooks/, docs/, nvchecker.toml to .extras/ - Update CLAUDE.md and README.md to reflect new structure Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'docs/superpowers/specs/2026-03-31-sbo-archive-hook-design.md')
-rw-r--r--docs/superpowers/specs/2026-03-31-sbo-archive-hook-design.md65
1 files changed, 0 insertions, 65 deletions
diff --git a/docs/superpowers/specs/2026-03-31-sbo-archive-hook-design.md b/docs/superpowers/specs/2026-03-31-sbo-archive-hook-design.md
deleted file mode 100644
index 838d85b..0000000
--- a/docs/superpowers/specs/2026-03-31-sbo-archive-hook-design.md
+++ /dev/null
@@ -1,65 +0,0 @@
-# SBo Submission Archive Hook — Design Spec
-
-**Date:** 2026-03-31
-
----
-
-## Goal
-
-A `post-commit` git hook that automatically offers to create a SBo-ready submission
-archive whenever a package's `.SlackBuild` file is added or modified in a commit.
-
----
-
-## Detection
-
-Uses `git diff-tree --no-commit-id -r --name-status HEAD` to list files changed in
-the current commit. Filters for entries with status `A` (added) or `M` (modified)
-whose filename matches `*.SlackBuild` at exactly one directory depth
-(e.g. `hugo/hugo.SlackBuild`). Each match yields one package name (the parent directory).
-
-Multiple packages in a single commit are handled sequentially.
-
----
-
-## Per-Package Flow
-
-1. Print header: `==> Package: <name>`
-2. List all files inside `<repo-root>/<pkg>/` recursively, shown as relative paths
-3. Prompt: `Create SBo archive for '<pkg>'? [y/N]`
- - Input is read from `/dev/tty` so the prompt works correctly inside a git hook
-4. On `y`/`Y`: create the archive (see below)
-5. On anything else: skip silently and continue to the next package
-
----
-
-## Archive
-
-- **Location:** `SBo/<pkg>.tar.gz` (inside repo root, not under version control)
-- **Structure:** single top-level directory `<pkg>/` containing all package files flat
-- **Command:** `tar -czf "$SBO_DIR/$pkg.tar.gz" -C "$REPO_ROOT" "$pkg"`
-- `SBo/` is created automatically if it does not exist
-- Repeated archives overwrite the previous one (no version suffix — matches SBo naming conventions)
-
----
-
-## Output Directory
-
-`SBo/` lives at the repo root and is added to `.gitignore` so it is never committed.
-
----
-
-## Files Changed
-
-| File | Change |
-|---|---|
-| `.git/hooks/post-commit` | New file (created, made executable) |
-| `.gitignore` | Append `SBo/` entry |
-
----
-
-## Out of Scope
-
-- Verifying checksums or linting (handled by existing pre-commit hook and manual workflow)
-- Uploading or submitting to SBo directly
-- Tracking which archives have already been submitted