## Major Architecture Improvements ### Cortex Refactoring - Renamed AugmentationPipeline → Cortex for clarity - Cortex is now the central orchestrator (not an augmentation) - NeuralImport remains as the AI-powered SENSE augmentation - Clean brain metaphor: BrainyData → Cortex → Augmentations ### Four-Tier Augmentation System 1. **Built-in** (Free, MIT): Neural Import, basic storage, search 2. **Community** (Free, npm): Community-created augmentations 3. **Premium** ($49-299/mo): AI Memory, Agent Coordinator, Enterprise connectors 4. **Brain Cloud** ($19-99/mo): Managed service with all features ### Zero Configuration Philosophy - Everything works out of the box - no config needed - Automatic model detection and loading - Seamless integration between tiers - Brain Cloud connects with one command: `brainy cloud` ### Documentation Updates - Added PHILOSOPHY.md outlining design principles - Created AUGMENTATION_ARCHITECTURE.md with tier system - Added CLI_AUGMENTATION_GUIDE.md for augmentation management - Updated README to "sell first" with concrete use cases - Improved documentation organization in /docs ### Developer Experience - Backward compatibility maintained with exports - Clean, simple API surface - Interactive-by-default approach - Premium features integrate seamlessly ### Removed - Deleted demo directory and deploy workflow (moved to website) - Removed test wrapper scripts (bash 2>&1 bug workaround) This refactor makes Brainy incredibly powerful yet easy to use, with everything automated and no configuration required. The Brain Cloud augmentations (AI memory, sync, coordination) integrate seamlessly as our killer features.
164 lines
No EOL
4.2 KiB
Markdown
164 lines
No EOL
4.2 KiB
Markdown
# 🧠 Brainy Philosophy & Design Principles
|
||
|
||
## Core Philosophy
|
||
**"Simple for beginners, powerful for experts"**
|
||
|
||
## Design Principles
|
||
|
||
### 1. **Beginner-Friendly by Default**
|
||
- If no arguments provided → Interactive mode with helpful prompts
|
||
- Clear, simple language (no jargon)
|
||
- Helpful examples shown automatically
|
||
- Smart defaults that "just work"
|
||
|
||
### 2. **Clean, Simple Language**
|
||
```bash
|
||
# Good - Clear and simple
|
||
brainy add "John works at Acme Corp"
|
||
brainy search "Who works at Acme?"
|
||
brainy augment neural-import data.csv
|
||
|
||
# Bad - Technical and confusing
|
||
brainy insert --vector-dimension=384 --graph-node="person"
|
||
brainy query --similarity-threshold=0.8 --facet-filter='{"type":"person"}'
|
||
```
|
||
|
||
### 3. **Progressive Disclosure**
|
||
- Start simple, reveal complexity only when needed
|
||
- Basic usage requires no configuration
|
||
- Advanced features available but not required
|
||
|
||
### 4. **Interactive When Uncertain**
|
||
```bash
|
||
$ brainy add
|
||
? What would you like to add? › John Smith is a developer
|
||
? Add any tags or categories? (optional) › person, developer
|
||
✅ Added successfully!
|
||
|
||
$ brainy search
|
||
? What are you looking for? › developers
|
||
? How many results? (10) › 5
|
||
🔍 Found 5 matches...
|
||
```
|
||
|
||
### 5. **Consistent Brain Metaphor**
|
||
- **Brainy** = The brain (whole system)
|
||
- **Cortex** = Orchestrator (coordinates everything)
|
||
- **Neural Import** = Understanding data (neural processing)
|
||
- **Augmentations** = Brain capabilities (vision, hearing, memory, etc.)
|
||
|
||
### 6. **One Way to Do Things**
|
||
- Single clear path for common tasks
|
||
- No duplicate commands or confusing aliases
|
||
- If there are options, make the best one the default
|
||
|
||
### 7. **Helpful Error Messages**
|
||
```bash
|
||
# Good
|
||
❌ Can't find data.csv
|
||
💡 Did you mean data.json? Or try: brainy import --help
|
||
|
||
# Bad
|
||
Error: ENOENT no such file or directory
|
||
```
|
||
|
||
### 8. **Smart Defaults**
|
||
- Auto-detect file types
|
||
- Infer intent from context
|
||
- Use Neural Import by default for understanding data
|
||
- Automatic augmentation discovery
|
||
|
||
## CLI Command Philosophy
|
||
|
||
### Core Commands (Simple Verbs)
|
||
```bash
|
||
brainy init # Start here
|
||
brainy add # Add data
|
||
brainy search # Find data
|
||
brainy chat # Talk to your data
|
||
```
|
||
|
||
### Augmentation Commands (Clear Actions)
|
||
```bash
|
||
brainy augment # List/manage augmentations
|
||
brainy augment add neural-import # Add an augmentation
|
||
brainy augment remove notion-sync # Remove an augmentation
|
||
```
|
||
|
||
### Interactive Examples
|
||
```bash
|
||
# No arguments = Interactive mode
|
||
$ brainy add
|
||
? What would you like to add? › [waiting for input]
|
||
|
||
# With arguments = Direct mode
|
||
$ brainy add "Sarah is a designer at StartupXYZ"
|
||
✅ Added!
|
||
|
||
# Help is conversational
|
||
$ brainy help add
|
||
📝 Add data to your brain
|
||
|
||
Examples:
|
||
brainy add "John works at Acme"
|
||
brainy add data.csv
|
||
brainy add --interactive
|
||
|
||
Just run 'brainy add' for interactive mode!
|
||
```
|
||
|
||
## Code Philosophy
|
||
|
||
### Function Names
|
||
```typescript
|
||
// Good - Clear and simple
|
||
brain.add(data)
|
||
brain.search(query)
|
||
cortex.process(augmentation)
|
||
|
||
// Bad - Technical and verbose
|
||
brain.insertVectorWithGraphRelationships(data)
|
||
brain.executeMultiDimensionalQuery(query)
|
||
cortex.executeAugmentationPipeline(augmentation)
|
||
```
|
||
|
||
### API Design
|
||
```typescript
|
||
// Good - Progressive enhancement
|
||
brain.add("simple text") // Works
|
||
brain.add("text", { category: "person" }) // More control
|
||
brain.add("text", metadata, options) // Full control
|
||
|
||
// Bad - All or nothing
|
||
brain.add(text, vector, metadata, options, callback)
|
||
```
|
||
|
||
## Documentation Philosophy
|
||
|
||
### README Structure
|
||
1. **What it is** (one sentence)
|
||
2. **Quick start** (3 commands max)
|
||
3. **Simple examples** (real-world use)
|
||
4. **Going deeper** (advanced features)
|
||
|
||
### Example First
|
||
Always show the example before explaining:
|
||
```bash
|
||
# Add a person
|
||
brainy add "Alice is a product manager"
|
||
|
||
# Find them later
|
||
brainy search "product manager"
|
||
```
|
||
|
||
## Testing Philosophy
|
||
- Test the beginner path first
|
||
- Interactive mode must always work
|
||
- Examples in docs must be runnable
|
||
- Error messages must be helpful
|
||
|
||
## Remember
|
||
- **If it's not simple, it's not ready**
|
||
- **The best interface is no interface** (smart defaults)
|
||
- **Show, don't tell** (examples > explanations)
|
||
- **Beginner's mind** (always ask: would a newcomer understand this?) |