mesh-avatar-studio
Turn one illustration into an animated 2D mesh avatar with a coding agent and a local editor
翻译准备中
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证即插即用的品牌系统模板,适用于 Next.js:指南、可下载资产以及了解您品牌的 AI 助手。提供英文和葡萄牙语,由代理技能引导。演示无需设置。
AI 翻译
Plug-and-play brand system template for Next.js: guidelines, downloadable assets and an AI assistant that knows your brand. English and Portuguese, guided by an agent skill. Demo needs no setup.
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
A brand system is the single place where everything about a brand lives: what it believes, how it speaks, how it looks, and the files you need to use it. VB Brand Systems is that place, as an app you run on your own computer, in English and Portuguese, and make yours by editing a few files.
It is also built for something a PDF manual or a shared folder cannot do: give an AI the full context of your brand, so it answers and helps you decide with your rules in mind instead of guessing.查看完整 README ↗A brand system is the single place where everything about a brand lives: what it believes, how it speaks, how it looks, and the files you need to use it. VB Brand Systems is that place, as an app you run on your own computer, in English and Portuguese, and make yours by editing a few files.
It is also built for something a PDF manual or a shared folder cannot do: give an AI the full context of your brand, so it answers and helps you decide with your rules in mind instead of guessing.
Content: your guidelines, as pages. A navigable manual written in plain MDX files. The sample brand organizes it from the most abstract to the most concrete:
You can rename, remove or add sections and pages; the pages can use callouts, color palettes, token tables and type specimens.
Assets: the files people need. A library with eight categories: logos, typography, images, videos, audio, documents, icons and mockups. Anyone with access can search, preview and download; admins upload and remove. Files are stored privately and served through expiring links.
Chat: an assistant that knows your brand. Ask in plain language ("How do I use the logo on a dark background?", "What tone for an Instagram post?") and it answers from your own pages, citing the section it used. It keeps a history of your conversations, which you can pin, rename and delete.
People and settings. Login, a role for each member (admin or staff), your profile and password, light and dark themes, and English or Portuguese.
Most AI answers about a brand are generic because the AI does not know the brand. Here, everything above is a plain-text base: your purpose, voice, colors, rules and examples live in files the AI can read.
Connect an AI provider and the chat always has your brand context: it looks up the pages that matter for each question and answers from them, so it helps you make decisions that fit the brand, with less guessing. The pages you write are exactly what it knows, so improving the content improves every answer.
The same files also give any coding agent that opens this folder (Claude Code, OpenAI Codex) the same context, which is why the repository ships with skills that guide you through setting it up.
The AI part is optional. Without it you still have the manual and the asset library.
Requires Node.js 20 or newer.
git clone https://github.com/viniciusbedum/vb-brand-systems.git
cd vb-brand-systems
npm install
npm run dev
You can also click Use this template on GitHub to start your own repository from it.
Open http://localhost:3000 for English, or http://localhost:3000/br for Portuguese. The first visit follows your browser language.
That is the whole demo. Nothing else is needed to look around.
This repository ships instructions for AI coding agents (Claude Code, OpenAI Codex or similar) in AGENTS.md, plus four skills in .agents/skills/:
| Skill | What it does |
|---|---|
brand-setup | Guided first run: your brand identity, content, Supabase, AI provider, sharing with your team |
brand-content | Add, edit, remove or reorder pages in both languages |
brand-doctor | Read-only health check of the install |
brand-translate | Add another language, or keep only one |
Open the folder in your agent and say:
Use brand-setup to configure this brand system and walk me through it.
It asks a few questions, explains what each step does, and never asks you to paste a key into the chat. You can skip the agent and follow the rest of this README by hand.
Full mode adds accounts, uploads and the AI chat. You need:
| What | For | Cost |
|---|---|---|
| A Supabase project | Login, members, uploaded files, chat history | Free plan is enough to start |
| One AI provider key (optional) | The AI chat | Pay per use, or a free tier (see below) |
Copy .env.example to .env.local and fill in what you use. Restart npm run dev after any change.
You do not build any tables: the whole structure is in supabase/migrations/20261008000000_initial_schema.sql.
profiles: members and their role (admin or staff). The first user becomes admin.conversations: the AI chat history of each user.brand_assets: the list of uploaded files.brand-assets for the files (50 MB per file, restricted file types)..env.local:
NEXT_PUBLIC_SUPABASE_URL=...
NEXT_PUBLIC_SUPABASE_ANON_KEY=...
http://localhost:3000) and add Redirect URLs for it, including /reset-password and /br/reset-password. Add the same for your network address if your team uses it.Optional: to delete a member's login from Settings > Members, put the project's service_role key in SUPABASE_SERVICE_ROLE_KEY. It is used only by the server. Never share it or prefix it with NEXT_PUBLIC_.
The chat answers questions using the pages in content/, so what you write is what it knows. It needs full mode and one provider key in .env.local:
| Provider | Variables | Default model |
|---|---|---|
| Anthropic (Claude) | AI_PROVIDER=anthropic, ANTHROPIC_API_KEY | claude-opus-5-5 (cheaper: set AI_MODEL=claude-haiku-5-5) |
| OpenAI | AI_PROVIDER=openai, OPENAI_API_KEY | gpt-5 |
| Google Gemini / Gemma | AI_PROVIDER=gemini, GEMINI_API_KEY | gemma-3-27b-it |
AI_MODEL switches to any other model of the chosen provider.NEXT_PUBLIC_AI_ENABLED=false.Any of the three providers can be connected this way. After configuring one, restart the server and send a message in the chat to confirm it answers.
| Variable | Needed for | Notes |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL | Full mode | Empty = demo mode |
NEXT_PUBLIC_SUPABASE_ANON_KEY | Full mode | Public key, safe in the browser |
SUPABASE_SERVICE_ROLE_KEY | Deleting members | Server only. Optional |
NEXT_PUBLIC_SIGNUP_ENABLED | Public /signup page | true to show it. Default off |
NEXT_PUBLIC_DEMO_MODE | Forcing demo mode | true ignores Supabase |
AI_PROVIDER | AI chat | anthropic (default), openai or gemini |
ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY | AI chat | The one for your provider |
AI_MODEL | AI chat | Optional model override |
NEXT_PUBLIC_AI_ENABLED | Hiding the chat | false hides it |
ALLOWED_DEV_ORIGINS | Dev server on the network | Comma-separated IPs, see below |
NEXT_PUBLIC_* values are baked in at build time: rebuild after changing them.
No hosting needed. Run it on one computer and let everyone on the same network open its address:
npm run build
npm run start:lan
Then share http://<that computer's IP address>:3000. The computer must stay on while people use it, and it may ask you to allow the connection in its firewall. With full mode, add that address to the Supabase Redirect URLs. If you use npm run dev:lan instead, also set ALLOWED_DEV_ORIGINS to the IP in .env.local.
Hosting it online (for example on Vercel) is optional: the same environment variables go in the host's settings.
| To change | Edit |
|---|---|
| Name, logo text, tagline, AI texts | brand/config.ts |
| Colors (light and dark), area glows | brand/theme.css |
| Fonts | brand/fonts.ts and brand/fonts/ |
| Menu sections and pages | brand/navigation.ts |
| Asset categories | lib/asset-config.ts |
| Pages | content/en/ and content/pt/ (MDX) |
| Interface texts | messages/en.json and messages/pt.json |
| Sample files for demo mode | public/demo-assets/ and lib/demo-assets.ts |
| Extra links in the mobile "more" menu | menuLinks in brand/config.ts |
Every page, menu title and interface string exists in both languages; npm run doctor tells you when one is missing. To add or remove a language, use the brand-translate skill.
| Command | |
|---|---|
npm run dev | Development server |
npm run build then npm start | Production build, served locally |
npm run dev:lan, npm run start:lan | Same, reachable from your network |
npm run doctor | Offline health check: environment, languages, content |
npm run audit:ui | Checks the interface code against the design rules |
npm run storybook | Component catalog |
NEXT_PUBLIC_SIGNUP_ENABLED only hides the page; the Supabase setting is the real lock..env.local out of version control (it is already in .gitignore)./assets/logotipos) in both languages: they name the storage folders.A repository created with Use this template is independent: it does not receive later changes by itself, and neither does a downloaded ZIP. The changelog lists what changed in each version.
To bring in a newer version safely:
git remote add upstream https://github.com/viniciusbedum/vb-brand-systems.git
git fetch upstream --tags
git diff HEAD upstream/main --stat # see what changed
Back up your work first, then copy or merge only the files you want. Do not overwrite your own brand/, content/ and messages/, and check the changelog for changes to the database schema or the environment variables.
The sample brand ships with two open-source typefaces, both licensed under the SIL Open Font License 1.1, with their license files next to the fonts:
brand/fonts/montserrat/OFL.txt.brand/fonts/inter/OFL.txt.Both are also available to download in the sample Assets > Typography category.
PolyForm Shield 1.0.0. You can use, modify and share this software for any purpose, including inside a company for its own brand, except to provide a product that competes with it, such as selling or hosting this brand system as a product or service. Read the license for the exact terms.
The fonts keep their own licenses (see Credits); the project license does not cover them.