{"id":29468220,"url":"https://github.com/94solutions/yoda","last_synced_at":"2025-07-14T10:03:41.288Z","repository":{"id":201347788,"uuid":"77321225","full_name":"94solutions/yoda","owner":"94solutions","description":"Wise and powerful personal assistant, available in your nearest terminal","archived":false,"fork":false,"pushed_at":"2025-07-13T19:26:37.000Z","size":49345,"stargazers_count":743,"open_issues_count":27,"forks_count":154,"subscribers_count":25,"default_branch":"v3","last_synced_at":"2025-07-13T20:35:09.865Z","etag":null,"topics":["ai","chat","chatbot","cli","devtools","go","golang","hacktoberfest","ollama","personal-assistant"],"latest_commit_sha":null,"homepage":"https://94solutions.github.io/yoda/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/94solutions.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-12-25T10:35:07.000Z","updated_at":"2025-07-13T19:26:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"a9c8817e-65e3-444e-9731-c612a27612c5","html_url":"https://github.com/94solutions/yoda","commit_stats":null,"previous_names":["yoda-pa/yoda","94solutions/yoda"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/94solutions/yoda","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/94solutions%2Fyoda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/94solutions%2Fyoda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/94solutions%2Fyoda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/94solutions%2Fyoda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/94solutions","download_url":"https://codeload.github.com/94solutions/yoda/tar.gz/refs/heads/v3","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/94solutions%2Fyoda/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265276580,"owners_count":23739228,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","chat","chatbot","cli","devtools","go","golang","hacktoberfest","ollama","personal-assistant"],"created_at":"2025-07-14T10:02:05.182Z","updated_at":"2025-07-14T10:03:41.270Z","avatar_url":"https://github.com/94solutions.png","language":"Go","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"#  Yoda - Personal Assistant CLI\n\n[![Go Version](https://img.shields.io/badge/Go-1.24+-blue.svg)](https://golang.org)\n[![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)\n[![Build and Release](https://github.com/94solutions/yoda/actions/workflows/build.yml/badge.svg)](https://github.com/94solutions/yoda/actions/workflows/build.yml)\n\nYoda is a modern, extensible command-line personal assistant built in Go. It features a plugin-based architecture, local AI integration via Ollama, and a focus on privacy and performance.\n\n## 1. Features\n\n- **Fast Performance**: Built in Go for speed and efficiency\n- **Plugin Architecture**: Extensible with custom plugins\n- **AI Integration**: Local AI processing with Ollama support\n- **Privacy-First**: All processing happens locally\n- **Configuration Management**: Flexible YAML-based configuration\n- **Cross-Platform**: Works on Linux, macOS, and Windows\n\n## 2. Quick Start\n\n### 2.1. Installation\n\n#### 2.1.1. Option 1: Build from Source\n\n```bash\n# Clone the repository\ngit clone https://github.com/94solutions/yoda.git\n\n# Build the binary\nmake build\n\n# Install to system (optional)\nmake install\n```\n\n#### 2.1.2. Option 2: Download Pre-built Binary\n\nDownload the latest release for your platform from the [releases page](https://github.com/94solutions/yoda/releases).\n\n### 2.2. Initial Setup\n\nInitialize Yoda configuration:\n\n```bash\nyoda init\n```\n\nThis creates the configuration directory at `~/.yoda/` and sets up the default configuration.\n\n### 2.3. Basic Usage\n\n```bash\n# Show help\nyoda --help\n\n# List available plugins\nyoda plugin list\n\n# View configuration\nyoda config list\n\n# Get a specific config value\nyoda config get global.ai.model\n\n# Set a config value\nyoda config set global.ai.model \"llama3.1\"\n```\n\n## 3. Configuration\n\nYoda uses a YAML configuration file located at `~/.yoda/config.yaml`. The configuration includes:\n\n### 3.1. AI Settings\n```yaml\nglobal:\n  ai:\n    model: \"codellama\"\n    max_context_length: 4096\n    temperature: 0.7\n    base_url: \"http://localhost:11434\"\n```\n\n### 3.2. Plugin Settings\n```yaml\nglobal:\n  plugins:\n    auto_discovery: true\n    trusted_sources: [\"official\", \"community\"]\n    plugin_dirs: []\n    disabled_plugins: []\n```\n\n### 3.3. Security Settings\n```yaml\nglobal:\n  security:\n    plugin_sandboxing: true\n    api_rate_limiting: true\n```\n\n## 4. Plugin Management\n\n### 4.1. Built-in Commands\n\n- `yoda plugin list` - List all available plugins\n- `yoda plugin enable \u003cname\u003e` - Enable a plugin\n- `yoda plugin disable \u003cname\u003e` - Disable a plugin\n- `yoda plugin refresh` - Refresh plugin registry\n\n### 4.2. Plugin Development\n\nYoda supports an extensible plugin system. Plugins can be:\n\n1. **Built-in plugins** - Core functionality (config, plugin management)\n2. **External plugins** - Custom functionality (coming soon)\n3. **AI-generated plugins** - Generated by the AI backend (planned)\n\n## 5. Development\n\n### 5.1. Prerequisites\n\n- Go 1.24 or later\n- Make (optional, for convenience)\n\n### 5.2. Building\n\n```bash\n# Install dependencies\nmake deps\n\n# Build the binary\nmake build\n\n# Build for development (with race detector)\nmake dev\n\n# Build for all platforms\nmake build-all\n```\n\n### 5.3. Testing\n\n```bash\n# Run tests\nmake test\n\n# Run tests with coverage\nmake test-coverage\n\n# Run linter\nmake lint\n\n# Format code\nmake fmt\n```\n\n### 5.4. Project Structure\n\n```bash\nyoda\n├── cmd\n│   └── yoda\n│       └── main.go.          # main application entry point\n├── go.mod                    # Go module definition\n├── internal\n│   └── commands              # CLI commands implementation\n│       ├── config.go\n│       ├── init.go\n│       └── plugin.go\n├── Makefile                  # Commands for build automation\n├── pkg\n│   ├── config\n│   │   └── manager.go        # Config management\n│   ├── database\n│   │   └── connection.go     # DB connectivity\n│   └── plugin\n│       └── manager.go        # Plugin management\n└── README.md                 # This file\n```\n\n## 6. Architecture\n\nYoda follows a modular architecture:\n\n- **CLI Layer**: Cobra-based command interface\n- **Core Services**: Configuration, plugin management, database\n- **Plugin System**: Extensible plugin architecture\n- **Data Layer**: SQLite for local storage\n- **AI Backend**: Separate service for AI functionality (planned)\n\n## 7. Roadmap\n\n### 7.1. Phase 1: Core Infrastructure ✅\n- [x] Go CLI framework setup\n- [x] Basic plugin system\n- [x] Configuration management\n- [x] Database integration\n\n### 7.2. Phase 2: AI Integration (In Progress)\n- [ ] Ollama integration service\n- [ ] AI command interface\n- [ ] Context management\n- [ ] Code generation\n\n### 7.3. Phase 3: Plugin Ecosystem\n- [ ] External plugin loading\n- [ ] Plugin marketplace\n- [ ] AI-powered plugin generation\n- [ ] Security framework\n\n## 8. Contributing\n\nWe welcome contributions! Please see our [contributing guidelines](CONTRIBUTING.md) for details.\n\n### 8.1. Development Workflow\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Add tests for new functionality\n5. Run `make test` and `make lint`\n6. Submit a pull request\n\n## 9. Troubleshooting\n\n### 9.1. Common Issues\n\n**Database Connection Error**\n```\nError loading plugins: failed to connect to database: out of memory (14)\n```\nThis usually occurs on first run. Initialize Yoda with `yoda init` to set up the database.\n\n**Configuration Not Found**\nRun `yoda init` to create the default configuration.\n\n**Plugin Loading Issues**\nTry `yoda plugin refresh` to reload the plugin registry.\n\n## 10. License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 11. Related Projects\n\n- [Yoda v2](https://github.com/94solutions/yoda/tree/v2) - Python implementation\n- [Ollama](https://ollama.com) - Local LLM runtime\n- [Cobra](https://github.com/spf13/cobra) - CLI framework\n\n## 12. Support\n\n- [Documentation](https://94solutions.github.io/yoda)\n- [Issue Tracker](https://github.com/94solutions/yoda/issues)\n- [Discussions](https://github.com/94solutions/yoda/discussions)\n\n---\n\n**May the source be with you! 🌟**","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F94solutions%2Fyoda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F94solutions%2Fyoda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F94solutions%2Fyoda/lists"}