go-cli
Описание
Простой и эффективный CLI менеджер задач, написанный на Go с использованием библиотеки Cobra.
Языки
- Go100%
4 месяца назад
7 месяцев назад
7 месяцев назад
7 месяцев назад
7 месяцев назад
7 месяцев назад
7 месяцев назад
7 месяцев назад
7 месяцев назад
месяц назад
README.md
Task Manager CLI
Простой и эффективный CLI менеджер задач, написанный на Go с использованием библиотеки Cobra.
🚀 Возможности
- ✅ Добавление задач - создание новых задач с названием и описанием
- ✅ Просмотр задач - список всех задач с детальной информацией
- ✅ Отметка выполнения - изменение статуса задач
- ✅ Удаление задач - удаление ненужных задач
- ✅ Интерактивный режим - удобное меню для работы с задачами
- ✅ HTTP API сервер - REST API для интеграции с другими приложениями
- ✅ Автоматические ID - простая нумерация задач
- ✅ JSON хранение - данные сохраняются в структурированном формате
🛠️ Установка
Требования
- Go 1.24.0 или выше
Сборка
📖 Использование
Основные команды
Интерактивный режим
Запустите для работы через удобное меню:go run main.go interactive
=== Task Manager CLI===
1. Add a new task
2. List all tasks
3. Mark a task as completed
4. Delete a task
5. Exit
HTTP API
Сервер запускается на и предоставляет REST API:http://localhost:8080
GET /api/tasks - получить все задачи
POST /api/tasks - создать новую задачу
GET /api/tasks/:id - получить задачу по ID
PUT /api/tasks/:id - обновить задачу
DELETE /api/tasks/:id - удалить задачу
PATCH /api/tasks/:id/complete - отметить как выполненную
🏗️ Архитектура
go-cli/
├── cmd/ # Команды CLI
│ ├── root.go # Корневая команда
│ ├── add.go # Добавление задач
│ ├── list.go # Просмотр задач
│ ├── complete.go # Отметка выполнения
│ ├── delete.go # Удаление задач
│ ├── interactive.go # Интерактивный режим
│ └── server.go # HTTP сервер
├── internal/ # Внутренняя логика
│ ├── models/ # Модели данных
│ │ └── task.go # Структура задачи
│ └── storage/ # Хранение данных
│ └── task_storage.go # Операции с задачами
├── main.go # Точка входа
└── tasks.json # Файл с данными (создается автоматически)
📝 Структура задачи
🔧 Разработка
Добавление новых команд
- Создайте файл в папке cmd/
- Определите команду с помощью Cobra
- Добавьте в
функцию:init()rootCmd.AddCommand(yourCmd)
Добавление новых функций
- Создайте функции в internal/storage/
- Используйте их в командах CLI
- Добавьте соответствующие HTTP endpoints
📄 Лицензия
Этот проект распространяется под лицензией MIT. См. файл LICENSE для подробностей.
🤝 Вклад в проект
- Форкните репозиторий
- Создайте ветку для новой функции
- Внесите изменения
- Создайте Pull Request
📞 Поддержка
Если у вас есть вопросы или предложения, создайте Issue в репозитории.
Task Manager CLI - простой способ управлять задачами через командную строку! 🎯