What Changed
The ONE CLI has been updated to align with the documented architecture and provide a clearer distinction between full project setup and installation folder initialization.
Directory Structure Fix: /frontend → /web
Before (Incorrect):
npx oneie
# Created: /frontend directory
# Cloned from: github.com/one-ie/frontend
After (Correct):
npx oneie
# Creates: /web directory
# Clones from: github.com/one-ie/web
Why This Matters:
The documented architecture always specified /web/ as the correct directory name:
/
├── one/ # Global ontology
├── web/ # Astro + React application ✅
├── backend/ # Convex backend
├── <installation-name>/ # Installation folder
This change ensures the CLI behavior matches the documentation, preventing confusion and maintaining consistency across all documentation, code examples, and deployment scripts.
Command Separation: Full Setup vs. Installation Folder
Before: Ambiguous Command
Previously, npx oneie init was documented as doing everything (syncing ontology + creating installation folder + cloning web app), which didn’t match the actual implementation.
After: Clear Separation
Two distinct commands with clear purposes:
1. npx oneie - Full Project Bootstrap
Purpose: First-time setup for new projects
What it does:
- ✅ Prompts for user profile (name, email)
- ✅ Prompts for organization (name, website)
- ✅ Syncs global ontology (
/one/- 100+ files) - ✅ Syncs AI agent definitions (
.claude/) - ✅ Optionally clones web repository (
/web/) - ✅ Optionally clones third-party docs (
/docs/)
Creates:
/one/- Global ontology templates/web/- Astro 5 + React 19 application/docs/- Third-party documentation (optional).claude/- AI configuration- User profile in
one/people/ - Organization profile in
one/people/
Use when: Starting a brand new ONE project
2. npx oneie init - Installation Folder Only
Purpose: Add multi-tenancy to existing projects
What it does:
- ✅ Prompts for organization name
- ✅ Prompts for installation identifier (e.g., “acme”)
- ✅ Creates installation folder structure
- ✅ Updates
.env.localwithINSTALLATION_NAME - ✅ Optionally updates
.gitignore
Creates:
/<installation-name>/- Installation foldergroups/- Hierarchical group docspeople/- People profilesthings/- Custom entitiesconnections/- Custom relationshipsevents/- Custom eventsknowledge/- Custom knowledge
.env.local- Updated with installation name
Use when: Adding multi-tenancy to an existing ONE project
Installation Folder Architecture
What is an Installation Folder?
An installation folder is a top-level directory that provides organization-specific customization and overrides global templates.
/one/ # Global templates (source of truth)
/acme/ # Your private customizations
├── groups/ # Hierarchical group docs
│ ├── engineering/
│ │ ├── frontend/
│ │ │ └── practices.md # Most specific
│ │ └── backend/
│ └── marketing/
├── people/
├── things/
├── connections/
├── events/
└── knowledge/
/web/ # Web application
/backend/ # Convex backend
File Resolution Hierarchy
When loading documentation or configuration, the system checks in this order:
- Most specific group -
/acme/groups/engineering/frontend/practices.md✅ - Parent group -
/acme/groups/engineering/practices.md - Installation root -
/acme/practices.md - Global fallback -
/one/practices.md
This hierarchical resolution enables powerful customization while maintaining global consistency.
Multi-Tenancy Built-In
Key Distinction:
- Installation folder = Filesystem customization per organization
- Database groups = Runtime data isolation per group (via
groupId)
One installation can serve many database groups:
Installation: /acme/
├── Database Groups:
│ ├── acme-engineering (groupId: g1, parentGroupId: null)
│ ├── acme-frontend (groupId: g2, parentGroupId: g1)
│ ├── acme-backend (groupId: g3, parentGroupId: g1)
│ └── acme-marketing (groupId: g4, parentGroupId: null)
│
└── Filesystem Docs:
├── /acme/groups/engineering/practices.md (applies to g1, g2, g3)
├── /acme/groups/engineering/frontend/sprint-guide.md (applies to g2 only)
└── /acme/groups/marketing/campaign-playbook.md (applies to g4 only)
Benefits:
- Private Documentation - Keep internal docs separate from open-source templates
- Hierarchical Inheritance - Subgroups inherit parent group documentation
- Git Flexibility - Exclude installation folders or use separate repos
- AI-Ready - Complete context for offline AI operation
Technical Implementation
Files Changed
CLI Source:
-
cli/src/clone-frontend.ts→cli/src/clone-web.ts- Function renamed:
cloneFrontend→cloneWeb - Target directory:
"frontend"→"web" - Repository URL:
one-ie/frontend→one-ie/web
- Function renamed:
-
cli/src/index.ts- Updated import and function calls
- Updated console messages:
"cd frontend &&"→"cd web &&" - Updated project structure display
-
cli/README.md- Updated all command examples
- Clarified
npx oneievsnpx oneie init - Updated test coverage descriptions
-
cli/CLAUDE.md- Updated “Frontend Development” → “Web Development”
- Updated integration flow descriptions
-
one/things/cli/cli.md- Complete rewrite of usage section
- Clear distinction between commands
- Accurate interactive prompt examples
Build Artifacts:
- Rebuilt TypeScript (
cli/dist/) - Removed old
clone-frontend.*files - Verified CLI execution
Version
This update will be released in CLI v3.3.7 (next patch release)
Migration Guide
For Existing Users
If you already have /frontend directory:
No action required! Your existing setup will continue to work. The change only affects new projects created with npx oneie.
If you want to align with the new structure:
# Optional: Rename directory
mv frontend web
# Update any references in your scripts/docs
sed -i 's/frontend/web/g' package.json
For New Users
Just follow the updated commands:
# Full setup (includes web app)
npx oneie
# Or add installation folder to existing project
npx oneie init
Benefits
1. Architectural Consistency
- CLI behavior matches documentation
- All examples use
/web/directory - Deployment scripts reference correct paths
2. Clear Command Semantics
npx oneie= “bootstrap everything”npx oneie init= “add installation folder”- No more confusion about what each command does
3. Multi-Tenancy Ready
- Installation folders enable enterprise-grade multi-tenancy
- Hierarchical groups with inherited documentation
- Private customizations without forking
4. Developer Experience
- Predictable directory structure
- Consistent across all documentation
- AI agents can navigate codebase reliably
Related Documentation
Updated Files:
Learn More:
Summary
This update ensures the ONE CLI provides a consistent, predictable experience that aligns with the documented architecture:
Directory Structure:
- ✅ Creates
/web/(not/frontend/) - ✅ Clones from
one-ie/webrepository - ✅ Matches all documentation examples
Command Clarity:
- ✅
npx oneie- Full project bootstrap - ✅
npx oneie init- Installation folder only - ✅ Clear separation of concerns
Multi-Tenancy:
- ✅ Installation folder architecture
- ✅ Hierarchical file resolution
- ✅ Database + filesystem sync
Developer Experience:
- ✅ Predictable structure
- ✅ AI-friendly navigation
- ✅ Enterprise-ready from day one
The ONE CLI continues to make it easier for AI agents to build features than humans. When that’s true, we’ve succeeded.