{"id":31628199,"url":"https://github.com/enisgetmez/kement","last_synced_at":"2025-10-06T20:19:48.337Z","repository":{"id":317133152,"uuid":"1066029527","full_name":"enisgetmez/Kement","owner":"enisgetmez","description":"A modern, feature-rich SSH terminal application built with Electron and React. KEMENT combines traditional SSH functionality with AI-powered assistance to enhance productivity and streamline remote server management.","archived":false,"fork":false,"pushed_at":"2025-09-29T03:40:11.000Z","size":4376,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-06T15:39:28.173Z","etag":null,"topics":["ai-assistant","cli","devops","electron","linux","multi-terminal","productivity","remote-development","server-management","sftp","ssh","terminal","xterm"],"latest_commit_sha":null,"homepage":"https://github.com/enisgetmez/Kement","language":"JavaScript","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/enisgetmez.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-28T22:49:10.000Z","updated_at":"2025-10-03T04:28:56.000Z","dependencies_parsed_at":"2025-09-29T04:21:38.588Z","dependency_job_id":"12af2081-bc98-4856-b41b-e7cd77731d26","html_url":"https://github.com/enisgetmez/Kement","commit_stats":null,"previous_names":["enisgetmez/kement"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/enisgetmez/Kement","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enisgetmez%2FKement","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enisgetmez%2FKement/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enisgetmez%2FKement/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enisgetmez%2FKement/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/enisgetmez","download_url":"https://codeload.github.com/enisgetmez/Kement/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enisgetmez%2FKement/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278672207,"owners_count":26025861,"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","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-assistant","cli","devops","electron","linux","multi-terminal","productivity","remote-development","server-management","sftp","ssh","terminal","xterm"],"created_at":"2025-10-06T20:19:45.449Z","updated_at":"2025-10-06T20:19:48.330Z","avatar_url":"https://github.com/enisgetmez.png","language":"JavaScript","readme":"# 🚀 KEMENT - AI-Powered SSH Terminal\n\n\u003cdiv align=\"center\"\u003e\n\n![KEMENT Logo](https://raw.githubusercontent.com/enisgetmez/kement/main/assets/kement-banner.png)\n\n[![Version](https://img.shields.io/badge/version-2.0.0-blue.svg)](https://github.com/enisgetmez/kement)\n[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)\n[![Linux](https://img.shields.io/badge/platform-Linux-orange.svg)](https://github.com/enisgetmez/kement)\n[![Electron](https://img.shields.io/badge/Electron-v32-purple.svg)](https://electronjs.org)\n[![React](https://img.shields.io/badge/React-v19-blue.svg)](https://reactjs.org)\n\n**Next-generation SSH terminal with AI assistance**\n\n[🚀 Download](#installation) • [📖 Documentation](#usage) • [🤝 Contributing](#contributing) • [💡 Features](#features)\n\n\u003c/div\u003e\n\n---\n\n## ✨ Features\n\n### 🤖 **AI-Powered Assistant**\n- **Multi-Provider Support**: Integration with Ollama, OpenAI, Google Gemini, and Anthropic Claude\n- **Intelligent Command Generation**: AI suggests commands based on natural language descriptions\n- **Command Explanation**: Get detailed explanations for any terminal command\n- **Context-Aware Assistance**: AI understands your current directory and system state\n\n### 🔐 **Secure SSH Connections**\n- **Multiple Authentication Methods**: Password, SSH keys, and certificate-based auth\n- **Connection Profiles**: Save and manage multiple server configurations\n- **Session Persistence**: Maintain connections across application restarts\n- **Encrypted Credential Storage**: Secure local storage for sensitive data\n\n### 📁 **Advanced SFTP File Management**\n- **Drag \u0026 Drop File Transfer**: Intuitive file upload/download\n- **Remote Directory Navigation**: Browse remote filesystems with ease\n- **Real-time Transfer Progress**: Track file operation status\n- **Integrated File Editing**: Edit remote files directly in the terminal\n\n### 💻 **Modern Terminal Experience**\n- **Tabbed Interface**: Multiple simultaneous connections\n- **Syntax Highlighting**: Enhanced readability for commands and outputs\n- **Customizable Themes**: Cyberpunk aesthetics with dark mode support\n- **Responsive Design**: Works seamlessly across different screen sizes\n\n### ⚡ **Performance \u0026 Reliability**\n- **Real-time Command Execution**: Instant feedback and streaming output\n- **Session Recovery**: Automatic reconnection and state restoration\n- **Memory Efficient**: Optimized for long-running sessions\n- **Cross-platform Compatibility**: Built with Electron for Linux support\n\n---\n\n## 🎨 Screenshots\n\n\u003cdiv align=\"center\"\u003e\n\n### Main Interface\n![KEMENT Main Interface](https://raw.githubusercontent.com/enisgetmez/kement/main/assets/screenshot-main.png)\n\n### AI Assistant in Action\n![AI Assistant](https://raw.githubusercontent.com/enisgetmez/kement/main/assets/screenshot-ai.png)\n\n### SFTP File Manager\n![SFTP Manager](https://raw.githubusercontent.com/enisgetmez/kement/main/assets/screenshot-sftp.png)\n\n\u003c/div\u003e\n\n---\n\n## 🚀 Installation\n\n### Prerequisites\n\n- **Node.js**: Version 18 or higher\n- **npm**: Version 8 or higher\n- **Linux**: Ubuntu 20.04+ or equivalent\n\n### Quick Install (AppImage)\n\n1. Download the latest AppImage from [Releases](https://github.com/enisgetmez/kement/releases)\n2. Make it executable: `chmod +x KEMENT-2.0.0.AppImage`\n3. Run: `./KEMENT-2.0.0.AppImage`\n\n### Build from Source\n\n```bash\n# Clone the repository\ngit clone https://github.com/enisgetmez/kement.git\ncd kement\n\n# Install dependencies\nnpm install\n\n# Build the application\nnpm run build\n\n# Start KEMENT\nnpm start\n```\n\n### Development Setup\n\n```bash\n# Install development dependencies\nnpm install\n\n# Start in development mode\nnpm run dev\n\n# Run tests\nnpm test\n\n# Build for production\nnpm run build\n\n# Create AppImage distribution\nnpm run dist\n```\n\n---\n\n## 🔧 Configuration\n\n### AI Provider Setup\n\nKEMENT supports multiple AI providers. Configure them through the AI Settings modal:\n\n#### 🦙 Ollama (Local AI)\n```json\n{\n  \"enabled\": true,\n  \"endpoint\": \"http://localhost:11434\",\n  \"model\": \"llama3.2:latest\"\n}\n```\n\n#### 🤖 OpenAI\n```json\n{\n  \"enabled\": true,\n  \"apiKey\": \"sk-your-openai-key\",\n  \"model\": \"gpt-4\"\n}\n```\n\n#### 🔮 Google Gemini\n```json\n{\n  \"enabled\": true,\n  \"apiKey\": \"AIza-your-gemini-key\",\n  \"model\": \"gemini-pro\"\n}\n```\n\n#### 🧠 Anthropic Claude\n```json\n{\n  \"enabled\": true,\n  \"apiKey\": \"sk-ant-your-claude-key\",\n  \"model\": \"claude-3-sonnet-20240229\"\n}\n```\n\n### SSH Connection Profiles\n\nCreate and manage connection profiles:\n\n1. Click the \"+\" button to add a new connection\n2. Fill in connection details:\n   - **Name**: Friendly name for the connection\n   - **Host**: Server hostname or IP address\n   - **Port**: SSH port (default: 22)\n   - **Username**: SSH username\n   - **Authentication**: Choose password or key-based auth\n3. Save and connect with a double-click\n\n---\n\n## 📚 Usage\n\n### Basic Operations\n\n#### Connecting to a Server\n1. Create a new connection profile\n2. Double-click the profile to connect\n3. Start working in the terminal\n\n#### Using AI Assistant\n1. Click the AI button (🤖) on the right side\n2. Type your request in natural language\n3. Get command suggestions and explanations\n4. Execute commands directly from AI responses\n\n#### File Transfer via SFTP\n1. Right-click on a connection and select \"Open SFTP\"\n2. Navigate remote directories\n3. Drag files from your local system to upload\n4. Double-click remote files to download or edit\n\n#### Command Examples with AI\n\n**Generate Commands:**\n- \"show disk usage\"\n- \"find large files in home directory\"\n- \"create a backup of nginx config\"\n- \"monitor system resources\"\n\n**Get Explanations:**\n- Ask AI to explain any command output\n- Understand complex shell scripts\n- Learn about system administration tasks\n\n### Advanced Features\n\n#### Keyboard Shortcuts\n- `Ctrl+T`: New terminal tab\n- `Ctrl+W`: Close current tab\n- `Ctrl+Shift+F`: Open SFTP browser\n- `Ctrl+AI`: Toggle AI assistant\n- `Ctrl+,`: Open settings\n\n#### Session Management\n- Connections persist between application restarts\n- Multiple tabs per connection\n- Automatic reconnection on network issues\n\n---\n\n## 🛠️ Development\n\n### Architecture\n\nKEMENT is built with modern web technologies:\n\n- **Frontend**: React 19 with styled-components\n- **Backend**: Electron main process with Node.js\n- **SSH**: ssh2 library for secure connections\n- **AI Integration**: REST APIs for multiple providers\n- **Storage**: electron-store for configuration persistence\n\n### Project Structure\n\n```\nkement/\n├── src/\n│   ├── components/          # React components\n│   ├── services/           # Business logic and AI providers\n│   ├── styles/             # Global styles and themes\n│   └── utils/              # Helper functions\n├── assets/                 # Images and icons\n├── dist/                   # Built application\n└── main.js                 # Electron main process\n```\n\n### API Integration\n\nKEMENT's AI service architecture supports:\n\n- **Provider Abstraction**: Unified interface for all AI providers\n- **Configuration Management**: Secure credential storage\n- **Error Handling**: Graceful fallbacks and user feedback\n- **Testing Framework**: Built-in connection testing\n\n---\n\n## 🤝 Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\n\n### Quick Start for Contributors\n\n1. Fork the repository\n2. Create a feature branch: `git checkout -b feature/amazing-feature`\n3. Make your changes and test thoroughly\n4. Commit with conventional commits: `git commit -m \"feat: add amazing feature\"`\n5. Push to your branch: `git push origin feature/amazing-feature`\n6. Open a Pull Request\n\n### Development Guidelines\n\n- Follow React best practices and hooks conventions\n- Use TypeScript for new features when possible\n- Write tests for new functionality\n- Maintain the existing code style\n- Update documentation for user-facing changes\n\n---\n\n## 🐛 Bug Reports \u0026 Feature Requests\n\nFound a bug or have a feature idea? We'd love to hear from you!\n\n- **Bug Reports**: [Create an Issue](https://github.com/enisgetmez/kement/issues/new?template=bug_report.md)\n- **Feature Requests**: [Request a Feature](https://github.com/enisgetmez/kement/issues/new?template=feature_request.md)\n- **General Questions**: [GitHub Discussions](https://github.com/enisgetmez/kement/discussions)\n\n---\n\n## 📄 License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n---\n\n## 🙏 Acknowledgments\n\n- **ssh2** library for secure SSH connections\n- **Electron** framework for cross-platform desktop apps\n- **React** for the modern user interface\n- **AI Providers** for intelligent assistance capabilities\n- **Open Source Community** for inspiration and contributions\n\n---\n\n## 🌟 Star History\n\n\u003cdiv align=\"center\"\u003e\n\n[![Star History Chart](https://api.star-history.com/svg?repos=enisgetmez/kement\u0026type=Date)](https://star-history.com/#enisgetmez/kement\u0026Date)\n\n**If you find KEMENT useful, please give it a ⭐ on GitHub!**\n\n\u003c/div\u003e\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Made with ❤️ by [Enis Getmez](https://github.com/enisgetmez)**\n\n\u003c/div\u003e","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenisgetmez%2Fkement","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fenisgetmez%2Fkement","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenisgetmez%2Fkement/lists"}