尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证A next-gen fully compatible creation platform
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
A modular, open-source platform for writers and worldbuilders. Create projects, install powerful bobbins (modular extensions), and bring your stories to life.
Live at bobbinry.com — write, publish, and discover stories from a growing community of authors.
Prerequisites
• Node.js 20+
• Bun 1.0+
• PostgreSQL 14+ (native, via systemctl)
• Docker & Docker Compose (optional, for MinIO object storage)查看完整 README ↗A modular, open-source platform for writers and worldbuilders. Create projects, install powerful bobbins (modular extensions), and bring your stories to life.
Live at bobbinry.com — write, publish, and discover stories from a growing community of authors.
Clone and install dependencies
git clone <repository-url>
cd bobbins
bun install
Set up environment variables
cp .env.example .env
Edit .env and configure:
DATABASE_URL - PostgreSQL connection stringNEXTAUTH_SECRET - Random secret for session signing (generate with openssl rand -base64 32)NEXTAUTH_URL - http://localhost:3100 for local developmentNEXT_PUBLIC_API_URL - http://localhost:4100 for local developmentStart PostgreSQL (native)
sudo systemctl start postgresql
Start MinIO (optional - uses Docker for object storage)
docker compose up -d # Starts MinIO
Database migrations
Migrations run automatically when the API server starts. If you need to generate new migrations after schema changes:
# Generate migration from schema changes
bun run --filter api db:generate
# Migrations will apply automatically on next server start
# Or manually apply with:
bun run --filter api db:migrate
# Reset database (drops all tables, regenerates migrations)
# WARNING: This destroys all data - use only in development!
bun run --filter api db:reset
# Reset and seed with test users
bun run --filter api db:reset -- --seed
# Seed test users into existing database
bun run --filter api db:seed
Test Users (created by db:seed):
[email protected] / password123[email protected] / password123[email protected] / password123Start development servers
# From project root
bun run dev
This starts:
Create an account
Create your first project
Start creating
Bobbins are modular extensions that add functionality to your project. Each bobbin defines:
Projects are workspaces where you install bobbins and create content. Each project can have multiple bobbins working together.
Collections let you group projects into series or categories for organization.
Browse the bobbins/ directory for the full list. Each bobbin has its own README with details. Some highlights:
# Install dependencies
bun install
# Run all development servers
bun run dev
# Build all packages
bun run build
# Type checking
bun run typecheck
# Linting
bun run lint
# Run tests (when available)
bun run test
Create a new bobbin using the template generator:
bun run create-bobbin my-custom-bobbin
See Bobbin Development Guide for detailed instructions.
# Edit schema
vim apps/api/src/db/schema.ts
# Generate migration from schema changes
bun run --filter api db:generate
# Migrations run automatically on server startup
# Or manually apply with:
bun run --filter api db:migrate
# Push schema directly without migrations (dev only)
bun run --filter api db:push
# Open Drizzle Studio to browse database
bun run --filter api db:studio
Note: Migrations are automatically applied when the API server starts via apps/api/src/db/migrate.ts.
Bobbinry uses NextAuth v5 for authentication with a credentials provider by default.
Generate secrets (required for production):
# NEXTAUTH_SECRET
openssl rand -base64 32
# API_JWT_SECRET (for API token validation)
openssl rand -base64 32
Configure OAuth providers (optional):
GitHub OAuth:
http://localhost:3100/api/auth/callback/github.env:
GITHUB_ID=your_client_id
GITHUB_SECRET=your_client_secret
Google OAuth:
http://localhost:3100/api/auth/callback/google.env:
GOOGLE_ID=your_client_id
GOOGLE_SECRET=your_client_secret
Default login:
All routes except /login and /signup require authentication. Unauthenticated users are automatically redirected to the login page.
users - User accounts and authenticationuser_profiles - Extended user profile informationprojects - User projects and metadataproject_collections - Series/groups of projectsproject_collection_memberships - Many-to-many project-collection relationshipsbobbins_installed - Installed bobbins per projectentities - Unified storage for bobbin data (Tier 1)manifests_versions - Bobbin manifest version historyBobbinry uses a tiered storage architecture for optimal performance:
entities table for fast installsSee Compiler Spec for details.
# Database
DATABASE_URL=postgresql://user:password@localhost:5432/bobbinry
# NextAuth (Shell)
NEXTAUTH_URL=http://localhost:3100
NEXTAUTH_SECRET=<generate-with-openssl-rand-base64-32>
# API URLs
NEXT_PUBLIC_API_URL=http://localhost:4100
# JWT (API)
API_JWT_SECRET=<generate-with-openssl-rand-base64-32>
# OAuth Providers
GITHUB_ID=
GITHUB_SECRET=
GOOGLE_ID=
GOOGLE_SECRET=
# Object Storage (S3/MinIO/R2)
S3_ENDPOINT=http://127.0.0.1:9100
S3_REGION=auto
S3_BUCKET=bobbinry
S3_ACCESS_KEY=admin
S3_SECRET_KEY=adminadmin
# CORS / Origins
WEB_ORIGIN=http://localhost:3100
API_ORIGIN=http://localhost:4100
# Security
CSP_ENABLE_STRICT=true
NEXTAUTH_SECRET and API_JWT_SECRETDATABASE_URLNEXTAUTH_URL to production domainCSP_ENABLE_STRICT=true)bun run buildTest framework is currently being established. Check individual package.json files for available test commands.
Manual testing coverage includes:
This is currently a scaffolding repository. Contribution guidelines will be added as the project matures.
Have an idea or want to vote on what's next? Head to GitHub Discussions → Ideas. React with 👍 on posts you care about, or open a new one — the most-voted ideas shape the roadmap.
[License details to be added]
docs/bobbins/packages/types/manifest.schema.json