Skip to content

Ценности = «компас» (направление), микро‑таски = «шаги по компасу».

Notifications You must be signed in to change notification settings

chybatronik/compaso

Repository files navigation

CompaSO - Telegram Bot Project Skeleton

This is the project skeleton for the ACT (Action/Context/Telegram) bot - a personal task management assistant.

Status: ✅ Project Skeleton Complete

✅ Completed Features

  • Go 1.25 module initialization with all required dependencies
  • Clean directory structure following hexagonal architecture
  • Makefile with development targets (lint, test, build, migrate)
  • golangci-lint configuration with essential linters
  • GitHub Actions CI/CD pipeline (lint → test)
  • Local development environment with Docker Compose
  • Database migrations setup with goose and users table
  • Basic application template with dependency injection structure
  • Domain ports and interfaces for hexagonal architecture
  • All tests passing and build successful

🚀 Quick Start

  1. Setup Environment

    # Copy environment variables
    cp .env.example .env
    
    # Edit .env with your actual values
    # Set: TELEGRAM_BOT_TOKEN, OPENAI_API_KEY, etc.
  2. Start Development

    # Start database and redis
    make dev
    
    # Run migrations
    make migrate
    
    # Install dependencies
    make deps
    
    # Run tests
    make test
    
    # Run linters
    make lint
  3. Build & Run

    # Build the application
    make build
    
    # Run the application
    ./bin/compaso

📁 Project Structure

├── cmd/app/                # Application entry point
├── internal/
│   ├── app/               # Application wiring and configuration
│   ├── domain/            # Domain models and ports (interfaces)
│   ├── usecase/           # Business logic (future)
│   └── adapters/          # External integrations (future)
├── configs/               # Configuration files
├── migrations/             # Database migrations
├── scripts/               # Utility scripts
├── deployments/           # CI/CD and deployment configs
├── test/                  # Test files and fixtures
└── pkg/                   # Shared utilities (future)

🔧 Development Tools

  • Build: make build - Compile the application
  • Test: make test - Run all unit tests
  • Lint: make lint - Run code quality checks
  • Migrate: make migrate - Run database migrations
  • Dev: make dev - Start development environment
  • Watch: make watch - Start with hot reload (requires air)

🏗️ Architecture

This project follows Hexagonal Architecture principles:

  • Domain: Core business logic and entities
  • Ports: Interfaces defining boundaries
  • Adapters: External system integrations
  • Application: Orchestration and dependency injection

📋 Next Steps

This skeleton provides the foundation for implementing the complete ACT bot functionality:

  1. Telegram bot integration with long polling
  2. User onboarding flow (/start command)
  3. Task management system
  4. AI-powered task planning
  5. Notification system with scheduling
  6. Analytics and observability

🐛 Known Issues

  • Linter warnings for missing comments (will be addressed as functionality is implemented)
  • Some dependencies are present but not yet used (will be utilized in future stories)

Generated: 2025-09-30
Status: Ready for next development phase

About

Ценности = «компас» (направление), микро‑таски = «шаги по компасу».

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages