-
-
Notifications
You must be signed in to change notification settings - Fork 2
DIRECTORY_STRUCTURE
This document outlines the directory structure for nself v0.3.9, designed for maintainability, modularity, and clear separation of concerns.
nself/
├── README.md # Project overview and quick start
├── CHANGELOG.md # Version history and release notes
├── LICENSE # MIT License
├── install.sh # Installation script for system-wide setup
├── .gitignore # Git ignore patterns
├── bin/ # Executable entry points
├── src/ # Source code and implementation
└── docs/ # Documentation and guides
src/
├── VERSION # Current version (v0.3.9)
├── cli/ # Command-line interface implementations
├── lib/ # Shared libraries and utilities
├── services/ # Service management modules
├── templates/ # Configuration and Docker templates
└── tools/ # Development and maintenance tools
All command implementations following consistent patterns:
cli/
├── nself.sh # Main CLI dispatcher and router
├── help.sh # Help system and documentation
├── init.sh # Project initialization
├── build.sh # Infrastructure generation
├── start.sh # Service startup management
├── stop.sh # Service shutdown management
├── restart.sh # Service restart management
├── status.sh # Service status monitoring
├── logs.sh # Log viewing and management
├── doctor.sh # System diagnostics
├── backup.sh # Backup and restore operations
├── db.sh # Database operations
├── email.sh # Email service configuration
├── ssl.sh # SSL certificate management
├── urls.sh # Service URL display
├── prod.sh # Production configuration
├── trust.sh # SSL certificate installation
├── validate.sh # Configuration validation
├── exec.sh # Container command execution
├── scale.sh # Resource scaling management
├── metrics.sh # Metrics and monitoring
├── clean.sh # Docker cleanup operations
├── diff.sh # Configuration difference analysis
├── reset.sh # Project reset operations
├── rollback.sh # Version rollback management
├── monitor.sh # Real-time monitoring
├── scaffold.sh # Service scaffolding
├── update.sh # nself version updates
├── version.sh # Version information
├── admin.sh # Admin UI management (v0.3.9)
├── search.sh # Search service management (v0.3.9)
├── deploy.sh # VPS deployment (v0.3.9)
└── wizard/ # Interactive setup wizard (v0.3.9)
├── init-wizard.sh # Main wizard controller
├── detection.sh # Project framework detection
├── prompts.sh # Interactive UI components
└── templates.sh # Project template definitions
Reusable functionality organized by purpose:
lib/
├── utils/ # Common utilities
│ ├── display.sh # Output formatting and colors
│ ├── env.sh # Environment file handling
│ ├── docker.sh # Docker operations
│ ├── network.sh # Network utilities
│ └── validation.sh # Input validation helpers
├── config/ # Configuration management
│ ├── constants.sh # System constants
│ ├── smart-defaults.sh # Intelligent default values
│ └── validation.sh # Configuration validation
├── hooks/ # Command lifecycle hooks
│ ├── pre-command.sh # Pre-execution hooks
│ └── post-command.sh # Post-execution hooks
├── ssl/ # SSL certificate management
│ ├── auto-ssl.sh # Automatic SSL generation
│ └── auto-renew.sh # Certificate renewal
├── monitoring/ # System monitoring
│ ├── health.sh # Health check utilities
│ ├── metrics.sh # Metrics collection
│ └── alerts.sh # Alert management
├── backup/ # Backup operations
│ ├── core.sh # Core backup functionality
│ └── s3.sh # S3 integration
├── deployment/ # Deployment utilities
│ ├── ssh.sh # SSH deployment helpers
│ └── validation.sh # Deployment validation
└── wizard/ # Wizard system (v0.3.9)
└── environment-manager.sh # Multi-environment management
Service-specific logic and configurations:
services/
├── postgres/ # PostgreSQL management
├── redis/ # Redis configuration
├── minio/ # MinIO object storage
├── hasura/ # Hasura GraphQL engine
├── auth/ # Authentication service
├── nginx/ # Nginx reverse proxy
├── docker/ # Docker Compose generation
└── monitoring/ # Monitoring stack
Configuration templates and examples:
templates/
├── .env.example # Complete environment reference
├── docker-compose/ # Docker Compose templates
├── nginx/ # Nginx configuration templates
├── ssl/ # SSL certificate templates
└── certs/ # Pre-generated certificates
├── localhost/ # Local development certificates
└── nself-org/ # nself.org domain certificates
Comprehensive documentation for users and developers:
docs/
├── COMMANDS.md # Complete command reference
├── v0.3.9.md # v0.3.9 release notes
├── ARCHITECTURE.MD # System architecture overview
├── ENVIRONMENT_CONFIGURATION.MD # Environment setup guide
├── TROUBLESHOOTING.MD # Common issues and solutions
├── API.MD # API documentation
├── CHANGELOG.MD # Version history
├── ROADMAP.md # Future development plans
├── CONTRIBUTING.MD # Contribution guidelines
├── RELEASES.MD # Release information
├── EXAMPLES.MD # Usage examples
└── README.MD # Getting started guide
Simple wrappers for system-wide installation:
bin/
├── nself # Main nself command wrapper
├── urls # Direct URL display
└── [other-commands] # Additional command aliases
- Each command is self-contained in its own file
- Shared functionality is centralized in
lib/ - Clear separation between CLI, logic, and templates
- All commands follow the same structure and patterns
- Consistent naming conventions throughout
- Standardized help and error handling
- New commands can be added easily in
src/cli/ - Service modules are pluggable and independent
- Template system supports customization
- Clear file organization by functionality
- Documented interfaces between modules
- Comprehensive testing structure
- Existing command structure preserved
- New v0.3.9 features are additive
- Legacy functionality remains unchanged
-
Commands:
command-name.sh(kebab-case with .sh extension) -
Libraries:
module-name.sh(descriptive, organized by directory) -
Templates:
template-name.ext(matches target file extension) -
Documentation:
TOPIC.MD(uppercase .MD for main docs, lowercase .md for version-specific)
-
Entry Point:
bin/nself→src/cli/nself.sh -
Command Routing:
nself.shidentifies and sources appropriate command file -
Library Loading: Commands source required libraries from
src/lib/ -
Template Processing: Commands use templates from
src/templates/ -
Service Integration: Commands interact with services via
src/services/
This structure supports nself's evolution from a simple CLI tool to a comprehensive backend platform while maintaining clarity and ease of development.
ɳSelf CLI v1.0.9. MIT licensed. Docs CC BY 4.0.
GitHub · Issues · Discussions · nself.org · nself.org/docs
Getting Started
Commands
- Commands, Overview
- Lifecycle: cmd-init · cmd-build · cmd-start · cmd-stop · cmd-restart · cmd-dev
- Monitoring: cmd-status · cmd-logs · cmd-health · cmd-urls · cmd-doctor · cmd-monitor · cmd-alerts · cmd-sentry · cmd-watchdog
- Data: cmd-db · cmd-backup · cmd-dr · cmd-queue · cmd-webhooks
- Config: cmd-config · cmd-service · cmd-env · cmd-promote
- Networking: cmd-ssl · cmd-trust · cmd-dns-setup
- Security: cmd-access · cmd-security · cmd-secrets
- Tenancy: cmd-tenant · cmd-billing
- Plugins: cmd-plugin · cmd-license · cmd-dogfood (extracted, CLI-R11) · cmd-k8s (extracted, CLI-R11) · cmd-encryption (extracted, CLI-R11) · cmd-waf (extracted, CLI-R11) · cmd-federation (extracted, CLI-R11) · cmd-mail (extracted, CLI-R11) · cmd-dlq (extracted, CLI-R11)
- AI: cmd-ai · cmd-claw · cmd-model
- Templates: cmd-template
- Utilities: cmd-exec · cmd-clean · cmd-reset · cmd-update · cmd-upgrade · cmd-version · cmd-admin · cmd-migrate · cmd-migrate-firebase · cmd-migrate-supabase · cmd-completion
Features
- Features, Overview
- Feature-Auth
- Feature-Storage
- Feature-Search
- Feature-Functions
- Feature-Email
- Feature-Monitoring
- Feature-Plugins
- Feature-nClaw, AI Assistant
- Feature-nChat, Messaging
- Feature-nTV, Media Player
- Feature-nFamily, Family Social
- Feature-nCloud, Managed Hosting
- Feature-Memory-Rooms, Knowledge Organization
- Feature-Agent-Dashboard, Agent Metrics
- Feature-Image-Generation, AI Image Generation
Configuration
- Configuration, Overview
- Config-Env-Vars
- Config-Postgres
- Config-Hasura
- Config-Auth
- Config-Nginx
- Config-Optional-Services
- Config-Custom-Services
- Config-System
Plugins (87 + 10 monitoring)
Free (25)
- plugin-backup
- plugin-content-acquisition
- plugin-content-progress
- plugin-cron
- plugin-donorbox
- plugin-feature-flags
- plugin-github
- plugin-github-runner
- plugin-invitations
- plugin-jobs
- plugin-link-preview
- plugin-mdns
- plugin-mlflow
- plugin-monitoring
- plugin-notifications
- plugin-notify
- plugin-paypal
- plugin-search
- plugin-shopify
- plugin-stripe
- plugin-subtitle-manager
- plugin-tokens
- plugin-torrent-manager
- plugin-vpn
- plugin-webhooks
Pro (62)
- plugin-access-controls
- plugin-activity-feed
- plugin-admin-api
- plugin-nself-ai-gateway
- plugin-nself-ai-mcp
- plugin-nself-ai-mcp
- plugin-analytics
- plugin-auth
- plugin-backup-pro
- plugin-bots
- plugin-browser
- plugin-calendar
- plugin-cdn
- plugin-chat
- plugin-claw
- plugin-claw-budget
- plugin-claw-news
- plugin-claw-web
- plugin-cloudflare
- plugin-cms
- plugin-compliance
- plugin-cron-pro
- plugin-ddns
- plugin-devices
- plugin-documents
- plugin-donorbox-pro
- plugin-entitlements
- plugin-epg
- plugin-file-processing
- plugin-game-metadata
- plugin-geocoding
- plugin-geolocation
- plugin-google
- plugin-home
- plugin-idme
- plugin-knowledge-base
- plugin-linkedin
- plugin-livekit
- plugin-media-processing
- plugin-meetings
- plugin-moderation
- plugin-mux
- plugin-notify-pro
- plugin-object-storage
- plugin-observability
- plugin-paypal-pro
- plugin-photos
- plugin-podcast
- plugin-post
- plugin-realtime
- plugin-recording
- plugin-retro-gaming
- plugin-rom-discovery
- plugin-shopify-pro
- plugin-social
- plugin-sports
- plugin-stream-gateway
- plugin-streaming
- plugin-stripe-pro
- plugin-support
- plugin-tmdb
- plugin-voice
- plugin-web3
- plugin-workflows
Planned (26)
plugin-auditplugin-blogplugin-checkoutplugin-commerceplugin-drmplugin-exportplugin-flowplugin-importplugin-ldapplugin-mailgunplugin-mediaplugin-oauth-providersplugin-pagesplugin-postmarkplugin-rate-limitplugin-reportsplugin-samlplugin-schedulerplugin-sendgridplugin-ssoplugin-subscriptionplugin-thumbplugin-transcoderplugin-twilioplugin-wafplugin-watermark
Guides
- Guide-Production-Deployment
- Guide-SSL-Setup
- Guide-Multi-Tenancy
- Guide-Security-Hardening
- Guide-Monitoring-Setup
- Guide-Backup-Restore
- Guide-Custom-Services
- Guide-Migration-from-v1
Architecture
Reference
- API-Reference
- error-codes, Error Codes
Licensing
Security
Brand
Operations
- operations/release-cascade, Release Cascade
- operations/self-healing, Self-Healing Schema
- operations/redis-tuning, Redis Pool Tuning
- operations/meilisearch-warmup, MeiliSearch Warm-Up
- operations/jwt-rotation, JWT Key Rotation
- operations/windows-wsl2-setup, Windows / WSL2 Setup
- operations/gemini-oauth-reauth, Gemini OAuth Reauth
Contributing
Admin
- USER-ACTION-QUEUE, Pending Admin Actions
All commands (52)
- A: cmd-access · cmd-account · cmd-admin
- B: cmd-backup · cmd-build · cmd-bundle
- C: cmd-ci · cmd-clean · cmd-completion · cmd-config
- D: cmd-db · cmd-deploy · cmd-dev · cmd-doctor
- E: cmd-env · cmd-exec
- F: cmd-functions
- G: cmd-generate
- H: cmd-health · cmd-help-topics
- I: cmd-init · cmd-install
- L: cmd-license · cmd-login · cmd-logout · cmd-logs
- M: cmd-man · cmd-mcp · cmd-migrate
- O: cmd-oauth · cmd-ops
- P: cmd-plugin · cmd-promote
- R: cmd-remove · cmd-reset · cmd-restart · cmd-runner
- S: cmd-secrets · cmd-security · cmd-self-heal · cmd-server · cmd-service · cmd-start · cmd-status · cmd-stop
- T: cmd-telemetry · cmd-template · cmd-trust
- U: cmd-update · cmd-urls
- V: cmd-verify-sbom · cmd-version