I'm a Backend Engineer / Python Developer exploring how software development changes in the era of AI-assisted and vibe coding.
In the past, I focused heavily on software architecture, design patterns, and principles for managing complexity and maintaining code quality. Today, I'm trying to transfer these ideas into AI coding harnesses — the workflows, tools, skills, rules, memory, and agent orchestration that shape how coding agents work.
My current focus is on studying and comparing different harness approaches, finding the most effective ones, and designing development flows and multi-agent orchestration that help AI agents build software more reliably, efficiently, and with higher quality.
I share my experiments, tools, and findings in my Telegram channel.
Stack & Harness — a quick start for new projects
Python Harness — a quick start for python projects
LLM Wiki template
harness-benchmark - benchmark for harness
I've created several static analysis tools for managing complexity and enforcing architectural constraints in Python projects.
🍰 layers-linter - Enforces layered architecture constraints.
Designed to enforce architectural constraints related to:
-
Separating modules by their technical roles and controlling dependency directions between them.
It analyzes imports between modules and reports cases where dependencies between layers violate the configured direction. -
Restricting the use of specific libraries within certain layers.
It analyzes library imports and reports cases where a library is imported from a layer where it is not allowed.
Configuration is defined in a TOML file describing the layers and allowed dependency directions.
It is especially useful for teams working on complex projects.
Can be used as a standalone tool or as a flake8 plugin.
💉 di-linter - Detects dependency injection violations.
Enforces the Dependency Inversion Principle.
The tool detects cases where dependencies are created or accessed directly inside functions instead of being provided from the outside.
It is useful for projects that rely on DI containers or follow Clean Architecture principles, helping make the code more testable and maintainable.
The linter supports configuration via a TOML file.
Can be used as a standalone tool or as a flake8 plugin.
🏷️ domain-types-linter - Restricts the use of primitive types in annotations.
Ensures that type annotations use domain-specific types instead of generic primitive types such as str, int, etc.
It analyzes type annotations and detects violations such as the use of primitive types, their aliases, or generic types without domain-specific parameters.
Can be used as a standalone tool or as a flake8 plugin.
🧱 bounded-contexts-linter - Enforces isolation between Domain-Driven Design bounded contexts.
Ensures that dependencies between modules only occur within the same bounded context, preventing unauthorized imports between domains.
Allows you to explicitly define a shared kernel and shared scope for common modules.
The linter supports configuration via a TOML file.
Can be used as a standalone tool or as a flake8 plugin.
🏛️ project-architecture-template - Layered architecture template for Python projects.
Provides a preconfigured project structure, configuration files, and base modules for quickly starting a new project.
Includes:
- Documented layered architecture
- Preconfigured linters
- Preconfigured factories and test fixtures
- GitLab CI/CD configuration
- PostgreSQL integration
- Alembic database migrations
- And more
🏗️ sqlalchemy-fastapi-endpoint-factory - CRUD endpoint generator for FastAPI.
A tool for automatically generating FastAPI CRUD endpoints based on SQLAlchemy models.
It allows you to quickly build REST APIs for working with data without manually defining routes.
For example, an endpoint for any Pydantic model can be generated with a single line of code.
Useful for prototyping and speeding up development with FastAPI and SQLAlchemy.
🛍️ tapi-yandex-market - Python client for the Yandex Market API.
📢 tapi-yandex-direct - Python client for the Yandex Direct API.
📈 tapi-yandex-metrika - Python client for the Yandex Metrica API.
🌊 FlowMaster - Framework for building ETL/ELT pipelines using YAML configuration.
🧠 algorithms - A collection of algorithmic problems, solutions, and notes about mistakes I made while solving them.
📊 attributions - Attribution tool for marketing analytics.
🧩 Script-Master - A service for scheduling and orchestrating script execution based on YAML configuration files and predefined execution plans.
Telegram: @pavel_maksimow



