summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-08-02 15:29:30 -0500
committerChristian Cleberg <[email protected]>2026-08-02 15:29:30 -0500
commitd1030a0b69e3884fd1677001fbff791ac8a2006a (patch)
tree1f6b65e9278abb7d2b7ed459678eaf2f6182b26d
parenta20f33c804d014ad2421e9c5c3454e5a916153a9 (diff)
downloadbrand-bench-main.tar.gz
brand-bench-main.tar.bz2
brand-bench-main.zip
convert readme to nfo; relicense to 0bsdHEADmain
-rw-r--r--LICENSE33
-rw-r--r--README.md134
-rw-r--r--README.nfo79
3 files changed, 91 insertions, 155 deletions
diff --git a/LICENSE b/LICENSE
index a11dc63..419813e 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,21 +1,12 @@
-MIT License
-
-Copyright (c) 2026 krazy warez
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
+Copyright (C) 2026 krazy warez
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/README.md b/README.md
deleted file mode 100644
index 6312725..0000000
--- a/README.md
+++ /dev/null
@@ -1,134 +0,0 @@
-# Brand Bench
-
-A client-side brand identity generator. Describe a project and get a complete
-brand package — positioning, tone of voice, color palette, typography system,
-logo concepts, taglines, and usage examples — instantly in the browser.
-
-No backend. No accounts. Everything runs locally and persists in `localStorage`.
-
-![Brandbench screenshot](docs/screenshot.png)
-
-## Features
-
-- **Template generation** — instant, offline-capable brand packages tailored by
- category (developer tool, creative studio, SaaS product, etc.)
-- **AI generation** — connect your local [Ollama](https://ollama.com) instance
- for LLM-powered output; cancellable mid-stream
-- **Multiple packages** — create, rename, duplicate, and switch between brand
- packages in tabs; each package is independently persisted
-- **Inline editing** — click any field in the preview to edit it directly
-- **Section locking** — lock sections before regenerating so they stay unchanged
- across runs
-- **Undo / redo** — full edit history per package (`⌘Z` / `⌘⇧Z`)
-- **Color palette** — editable swatches with a native color picker
-- **Typography system** — curated font pairings per category with an 8-level
- type scale
-- **Export** — download as Markdown, JSON, or a self-contained HTML guidelines page
-
-## Getting started
-
-```bash
-npm install
-npm run dev
-```
-
-Open `http://localhost:5173`.
-
-To build for production:
-
-```bash
-npm run build # outputs to dist/
-npm run preview # serve the build locally
-```
-
-## AI with Ollama
-
-Brandbench can generate brand packages using a locally running Ollama model.
-
-1. [Install Ollama](https://ollama.com/download) and pull a model:
-
- ```bash
- ollama pull llama3.2 # recommended default
- ollama pull mistral # good alternative
- ollama pull gemma3 # another option
- ```
-
-2. Make sure Ollama is running:
-
- ```bash
- ollama serve
- ```
-
-3. If you're running Ollama on a non-default port or a different host, set the
- `OLLAMA_ORIGINS` environment variable to allow browser requests:
-
- ```bash
- OLLAMA_ORIGINS="*" ollama serve
- ```
-
-4. Open Settings (⚙) in the app, enable AI, set your base URL
- (`http://localhost:11434` by default), select a model, and click **Test
- connection**.
-
-Larger models produce better-structured output. If generation fails with a JSON
-error, try a bigger model. Generation typically takes 15–60 seconds depending on
-hardware.
-
-## Self-hosting with Docker
-
-A `Dockerfile` and `compose.yml` are included for deploying the app alongside
-Ollama on a server.
-
-```bash
-docker compose up -d --build
-```
-
-The app is served on port 8000. Ollama's API is proxied through nginx at `/api/`
-so the browser never makes a cross-origin request — no CORS configuration
-needed.
-
-**After first boot, pull at least one model:**
-
-```bash
-docker compose exec ollama ollama pull llama3.2
-```
-
-Then open the app, go to Settings (⚙), enable AI, and set the Ollama base URL
-to `http://your-server:8000` (no path suffix).
-
-**GPU support:** If your server has an NVIDIA GPU, uncomment the `deploy` block
-in `compose.yml` (requires the
-[NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html)).
-
-## Project structure
-
-```
-src/
- engine/
- generator.ts # Template-based brand package generator
- aiGenerator.ts # Ollama integration
- hooks/
- useWorkspace.ts # Per-package state, generate, undo/redo
- usePackages.ts # Multi-package tabs and localStorage slots
- useSettings.ts # Ollama settings persistence
- components/
- InputPanel.tsx # Project details form
- PreviewPanel.tsx # Brand package preview with toolbar
- BrandDoc.tsx # Full brand document (sections, palette, type scale)
- PackageSwitcher.tsx # Tab bar with rename/duplicate/delete
- SettingsPanel.tsx # AI settings drawer
- lib/
- sanitize.ts # Defensive coercion for AI output fields
- export.ts # Markdown / JSON / HTML export formatters
- types.ts # All shared TypeScript interfaces
-```
-
-## Tech stack
-
-- [React 18](https://react.dev) + [TypeScript](https://www.typescriptlang.org)
-- [Vite](https://vitejs.dev)
-- No UI library — plain CSS with custom properties
-
-## License
-
-MIT
diff --git a/README.nfo b/README.nfo
new file mode 100644
index 0000000..ead071d
--- /dev/null
+++ b/README.nfo
@@ -0,0 +1,79 @@
+┌──────────────────────────────────────────────────────────────┐
+│ B R A N D B E N C H [ KRZ ] krz.sh │
+└──────────────────────────────────────────────────────────────┘
+
+WHAT
+ client-side brand identity generator. describe a project, get a
+ brand package: positioning, tone, color palette, typography, logo
+ concepts, taglines, usage examples. runs in the browser.
+
+ no backend. no accounts. state persists in localStorage.
+
+DOES
+ - template generation, offline, tailored by category
+ - ai generation via a local ollama instance, cancellable mid-stream
+ - multiple packages in tabs, each persisted separately
+ - inline editing, click any field in the preview
+ - section locking across regenerations
+ - undo/redo per package (⌘Z / ⌘⇧Z)
+ - editable color swatches, native color picker
+ - font pairings per category, 8-level type scale
+ - export to markdown, json, or a self-contained html page
+
+RUN
+ npm install
+ npm run dev
+
+ open http://localhost:5173.
+
+ build:
+
+ npm run build # dist/
+ npm run preview
+
+AI WITH OLLAMA
+ 1. install ollama, pull a model:
+
+ ollama pull llama3.2
+ ollama pull mistral
+ ollama pull gemma3
+
+ 2. run it:
+
+ ollama serve
+
+ 3. a non-default host or port needs OLLAMA_ORIGINS set for browser
+ requests:
+
+ OLLAMA_ORIGINS="*" ollama serve
+
+ 4. in the app: Settings, enable AI, set base url
+ (http://localhost:11434), pick a model, Test connection.
+
+ bigger models give better-structured output. generation takes
+ 15-60s depending on hardware.
+
+DOCKER
+ Dockerfile and compose.yml deploy the app next to ollama.
+
+ docker compose up -d --build
+
+ app serves on port 8000. ollama's api is proxied through nginx at
+ /api/, so the browser makes no cross-origin request. after first
+ boot, pull a model:
+
+ docker compose exec ollama ollama pull llama3.2
+
+ set the ollama base url to http://your-server:8000. for an nvidia
+ gpu, uncomment the deploy block in compose.yml (needs the nvidia
+ container toolkit).
+
+STACK
+ react 18, typescript, vite. no ui library, plain css.
+
+LICENSE
+ 0bsd. see LICENSE.
+
+┌──────────────────────────────────────────────────────────────┐
+│ krz.sh │
+└──────────────────────────────────────────────────────────────┘