From 0991b791b1845ff3d56c5331902c77747ec3047e Mon Sep 17 00:00:00 2001 From: Alex Dunmow Date: Thu, 30 Apr 2026 22:25:52 +0800 Subject: [PATCH] feat: WO-PS-001 initialize SDK repo Initialize git.dev.alexdunmow.com/ninja/core with Go 1.26 module, package directory structure, and README. Co-Authored-By: Claude Opus 4.6 --- README.md | 28 ++++++++++++++++++++++++++++ ai/doc.go | 1 + auth/doc.go | 1 + blocks/builtin/doc.go | 1 + blocks/doc.go | 1 + blocks/schemas/doc.go | 1 + blocks/shared/doc.go | 1 + blocks/tags/doc.go | 1 + content/doc.go | 1 + crypto/doc.go | 1 + gating/doc.go | 1 + go.mod | 3 +++ plugin/doc.go | 1 + rbac/doc.go | 1 + render/doc.go | 1 + settings/doc.go | 1 + templates/bn/doc.go | 1 + templates/doc.go | 1 + video/doc.go | 1 + 19 files changed, 48 insertions(+) create mode 100644 README.md create mode 100644 ai/doc.go create mode 100644 auth/doc.go create mode 100644 blocks/builtin/doc.go create mode 100644 blocks/doc.go create mode 100644 blocks/schemas/doc.go create mode 100644 blocks/shared/doc.go create mode 100644 blocks/tags/doc.go create mode 100644 content/doc.go create mode 100644 crypto/doc.go create mode 100644 gating/doc.go create mode 100644 go.mod create mode 100644 plugin/doc.go create mode 100644 rbac/doc.go create mode 100644 render/doc.go create mode 100644 settings/doc.go create mode 100644 templates/bn/doc.go create mode 100644 templates/doc.go create mode 100644 video/doc.go diff --git a/README.md b/README.md new file mode 100644 index 0000000..715c75c --- /dev/null +++ b/README.md @@ -0,0 +1,28 @@ +# BlockNinja Plugin SDK + +Types, interfaces, and utilities for building BlockNinja plugins. + +## Package Structure + +| Package | Purpose | +|---------|---------| +| `plugin/` | PluginRegistration, ServiceDeps, RegisterFunc | +| `blocks/` | BlockMeta, BlockFunc, BlockRegistry interface, BlockContext | +| `blocks/builtin/` | Reusable block implementations (HTMLBlock) | +| `templates/` | TemplateRegistry interface | +| `templates/bn/` | Shared templ components (head, engagement, toolbar) | +| `auth/` | Claims types, context extractors | +| `content/` | Content access interface | +| `settings/` | Settings access interface | +| `gating/` | Access gating evaluation | +| `crypto/` | Encrypt/Decrypt interface | +| `render/` | Rich text rendering utilities | +| `video/` | Video embed URL parsing | +| `ai/` | AI tool registry interface and types | +| `rbac/` | Role type definition | + +## Usage + +```go +import "git.dev.alexdunmow.com/ninja/core/plugin" +``` diff --git a/ai/doc.go b/ai/doc.go new file mode 100644 index 0000000..3831891 --- /dev/null +++ b/ai/doc.go @@ -0,0 +1 @@ +package ai diff --git a/auth/doc.go b/auth/doc.go new file mode 100644 index 0000000..8832b06 --- /dev/null +++ b/auth/doc.go @@ -0,0 +1 @@ +package auth diff --git a/blocks/builtin/doc.go b/blocks/builtin/doc.go new file mode 100644 index 0000000..5d9ee61 --- /dev/null +++ b/blocks/builtin/doc.go @@ -0,0 +1 @@ +package builtin diff --git a/blocks/doc.go b/blocks/doc.go new file mode 100644 index 0000000..7d914f4 --- /dev/null +++ b/blocks/doc.go @@ -0,0 +1 @@ +package blocks diff --git a/blocks/schemas/doc.go b/blocks/schemas/doc.go new file mode 100644 index 0000000..faeaab6 --- /dev/null +++ b/blocks/schemas/doc.go @@ -0,0 +1 @@ +package schemas diff --git a/blocks/shared/doc.go b/blocks/shared/doc.go new file mode 100644 index 0000000..a29b5e4 --- /dev/null +++ b/blocks/shared/doc.go @@ -0,0 +1 @@ +package shared diff --git a/blocks/tags/doc.go b/blocks/tags/doc.go new file mode 100644 index 0000000..2eee961 --- /dev/null +++ b/blocks/tags/doc.go @@ -0,0 +1 @@ +package tags diff --git a/content/doc.go b/content/doc.go new file mode 100644 index 0000000..30f612d --- /dev/null +++ b/content/doc.go @@ -0,0 +1 @@ +package content diff --git a/crypto/doc.go b/crypto/doc.go new file mode 100644 index 0000000..5871506 --- /dev/null +++ b/crypto/doc.go @@ -0,0 +1 @@ +package crypto diff --git a/gating/doc.go b/gating/doc.go new file mode 100644 index 0000000..fe030dc --- /dev/null +++ b/gating/doc.go @@ -0,0 +1 @@ +package gating diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..513e9bb --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module git.dev.alexdunmow.com/ninja/core + +go 1.26 diff --git a/plugin/doc.go b/plugin/doc.go new file mode 100644 index 0000000..b0736c3 --- /dev/null +++ b/plugin/doc.go @@ -0,0 +1 @@ +package plugin diff --git a/rbac/doc.go b/rbac/doc.go new file mode 100644 index 0000000..0b31261 --- /dev/null +++ b/rbac/doc.go @@ -0,0 +1 @@ +package rbac diff --git a/render/doc.go b/render/doc.go new file mode 100644 index 0000000..da4cad7 --- /dev/null +++ b/render/doc.go @@ -0,0 +1 @@ +package render diff --git a/settings/doc.go b/settings/doc.go new file mode 100644 index 0000000..0e66fdf --- /dev/null +++ b/settings/doc.go @@ -0,0 +1 @@ +package settings diff --git a/templates/bn/doc.go b/templates/bn/doc.go new file mode 100644 index 0000000..76816e2 --- /dev/null +++ b/templates/bn/doc.go @@ -0,0 +1 @@ +package bn diff --git a/templates/doc.go b/templates/doc.go new file mode 100644 index 0000000..dac8432 --- /dev/null +++ b/templates/doc.go @@ -0,0 +1 @@ +package templates diff --git a/video/doc.go b/video/doc.go new file mode 100644 index 0000000..2c9ffe7 --- /dev/null +++ b/video/doc.go @@ -0,0 +1 @@ +package video