From 12ca9e736b51ebb87d8721868211a2b855339a6f Mon Sep 17 00:00:00 2001 From: TapTap Date: Sat, 4 Jul 2026 18:09:16 +0200 Subject: [PATCH] feat: add rules for opencode and remove old irrelevant files --- description.md | 24 ------------------------ opencode.json | 12 ++++++++++++ plan.docx | Bin 27533 -> 0 bytes 3 files changed, 12 insertions(+), 24 deletions(-) delete mode 100644 description.md create mode 100644 opencode.json delete mode 100644 plan.docx diff --git a/description.md b/description.md deleted file mode 100644 index c7d4b65..0000000 --- a/description.md +++ /dev/null @@ -1,24 +0,0 @@ -# jetstream - A High-Performance File Transfer Utility - -## Features - -## Architecture ideas - -### Pipeline Stages Client - -- Directory Scanning -> Files -- File Reading -> SendableBuffer -- optional: Compression -> Sendable Buffer -- Send Data - -### Pipeline Stages Server - -- Receive Data -> Sendable Buffer -- optional: Decompress -> Files -- File Writing - -### Passing Data between Steps - -- use Queue - -## diff --git a/opencode.json b/opencode.json new file mode 100644 index 0000000..61bda2a --- /dev/null +++ b/opencode.json @@ -0,0 +1,12 @@ +{ + "$schema": "https://opencode.ai/config.json", + "permission": { + "bash": { + "*": "ask", + "git push origin main": "deny", + "git push origin master": "deny", + "git push *": "ask", + "git commit *": "ask" + } + } +} diff --git a/plan.docx b/plan.docx deleted file mode 100644 index 5a8ed69d648c2ba63dff7a8984f639787211d4ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27533 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®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