Skip to content

Instantly share code, notes, and snippets.

View butschster's full-sized avatar
☀️
If you are looking for a mentor I'm ready to discuss.

Pavel Buchnev butschster

☀️
If you are looking for a mentor I'm ready to discuss.
View GitHub Profile
@butschster
butschster / prompt.md
Created April 14, 2025 13:47
Feature-Focused Organization

Your project structure follows a Feature-Focused Organization principle, which is an excellent way to manage complex applications by grouping related functionalities together. Here’s a breakdown of how your structure aligns with best practices:


Key Principles of Feature-Focused Organization

  1. Group by Feature First – Organize code primarily by business features rather than technical layers.
  2. Modules Represent Business Domains – Each module corresponds to a business context (e.g., Auth, Package, User).
  3. Features Represent Specific User Actions – Each feature within a module represents a use case (e.g., IssueToken, SubmitPackage).
  4. Complete Feature Folders – Each feature folder contains all components needed to implement that feature.
@butschster
butschster / README.md
Last active April 10, 2025 07:18
Useful prompts

Context Generator: Shared Prompts Gist

I've created this Gist with a collection of ready-to-use prompts for Context Generator's MCP server. This showcases one of its most powerful features - the ability to import shared prompts from external sources.

Introduction

This Gist provides a library of pre-configured prompts that can be easily imported into any Context Generator project. These prompts are designed to help with common development tasks when working with Context Generator and LLMs.

Why This Is Extremely Useful

@butschster
butschster / PHP Type Validator.md
Last active March 25, 2025 15:42
PHP Type Validator

PHP Type Validator

A runtime type validation library for PHP that leverages the Typhoon Type System to validate data structures against type definitions.

Features

  • Validate any PHP value against sophisticated type definitions
  • Detailed validation errors with paths to invalid values
  • Support for all Typhoon Type System types including:
    • Primitive types (int, string, bool, etc.)
@butschster
butschster / 0-chapters
Created July 14, 2024 18:54
AIA Podcast #36
00:02:00 - Путешествие и команда
Мы записываемся раньше, потому что скоро летим в маленькое путешествие, хотя ещё не закончили документальный фильм про Котлин.
00:02:00 - Google Docs и Gemini Alpha
Обсуждение появления Gemini в Google Docs и разочарование от его функционала, особенно в сравнении с ожиданиями.
00:04:35 - Ошибка при использовании Gemini
Проблемы с языковой поддержкой и неспособность генерации сводки на русском языке, что привело к решению отказаться от подписки.
00:05:31 - Извинения перед вокалисткой Evanescence
Виктор извиняется перед вокалисткой группы Evanescence за исполнение ее песни, хотя монетизацию сняли из-за использования чужого контента.
@butschster
butschster / 0-chapters
Last active July 14, 2024 18:54
AIA Podcast #37
00:00:28 - Обсуждение Rabbit R1
Rabbit R1 — абсолютно бесполезная вещь за 100 долларов, но очень красивая и эстетически приятная. Зарядка устройства сопровождается уютной анимацией спящего зайца.
00:03:37 - Впечатления о поездке в Турцию
Поездка в Турцию была замечательной, но участники слабо помнят, что обсуждали.
00:04:05 - Демонстрация устройства Рэббит
Леша показывает в камеру включающийся гаджет Рэббит, комментируя, что у него красивая графика.
00:04:48 - Впечатления от поездки в Турцию
@butschster
butschster / readme.md
Last active March 25, 2025 15:44
Использование Temporal для эффективного управления жизненным циклом документов

Использование Temporal для эффективного управления жизненным циклом документов

В современном быстро развивающемся и ориентированном на данные мире создание сложных workflow, способных обрабатывать тысячи регистраций, процессов или действий, может быть сложной задачей. Важно иметь решение, которое будет масштабируемым, надежным и простым в использовании. К счастью, на рынке есть различные инструменты и движки, и одним из наших предпочтительных инструментов является Temporal.io. Temporal предоставляет набор проверенных паттернов, которые были опробованы в крупных продуктах и командах, позволяя разработчикам использовать их легко и эффективно, сосредоточив внимание исключительно на производительности инженерных решений.

В этом посте мы рассмотрим, как можно использовать Temporal Workflows для разработки структуры для эффективного управления жизненным циклом документов. Мы сосредоточимся на использовании Temporal для обработки событий workflow, связанных с изменениями документов, не перегружая систему ненужны

@butschster
butschster / ClientServiceExample.php
Last active August 16, 2023 10:18
GrpcExceptionMapper
<?php
declare(strict_types=1);
namespace Shared\gRPC\Service\Client;
use Shared\gRPC\Attribute\ServiceClient;
use Shared\gRPC\Service\ServiceClientTrait;
use Shared\gRPC\Services\Auth\v1\AuthServiceInterface;
use Shared\gRPC\Services\Auth\v1\Request\ChangePasswordRequest;
@butschster
butschster / 3.8.0.md
Last active August 15, 2023 12:41
3.8.0.md

Improvements

1. Added instructions feature for scaffold generator

We are excited to announce a new feature, that enhances the scaffold generation process by providing clear and concise instructions on the next steps to be taken after generating various classes for your application.

With the Instructions feature, you can generate classes for the following components:

  • Bootloader
  • Command
  • Config
@butschster
butschster / EventBootloader.php
Last active January 25, 2022 20:40
Spiral Framework EventDispatcher
<?php
declare(strict_types=1);
namespace App\Bootloader;
use App\Event\EventHandler;
use App\Event\ShouldBeQueued;
use Spiral\Boot\Bootloader\Bootloader;
use Spiral\Core\Container;