Skip to content

Instantly share code, notes, and snippets.

View pedrovasconcellos's full-sized avatar

Pedro Vasconcellos pedrovasconcellos

View GitHub Profile
@pedrovasconcellos
pedrovasconcellos / CLEAN_ARCHITECTURE.md
Last active November 1, 2025 09:21
Clean Architecture Memory Bank

Clean Architecture Memory Bank

TL;DR

  • Clean Architecture keeps business rules independent from delivery so changes in frameworks never break core logic.
  • Dependencies flow inward: frameworks → adapters → application → domain.
  • Use cases expose gateways (ports); adapters implement them; frameworks wire everything together under cmd/ entrypoints.
  • Always decide between Quick vs Task workflow (see docs/AGENT_INSTRUCTIONS.md) based on the layer surface area you touch.

Core Principles

  • Separation of concerns: Domain logic lives in entities/value objects; use cases orchestrate; adapters translate boundaries; frameworks provide tooling only.
@pedrovasconcellos
pedrovasconcellos / WHAT_IS_A_MEMORY_BANK_PTBR.md
Last active November 3, 2025 04:44
O que é um Memory Bank?

Para que serve o Memory Bank?

São checklists que servem como guias de verificação para garantir que alterações realizadas pela inteligência artificial (IA) no código respeitem os padrões definidos e workflows do projeto, reduzindo erros e mantendo a consistência.

1. Antes de implementar

Propósito

@pedrovasconcellos
pedrovasconcellos / EXAMPLE_TYPESCRIPT_CLEAN_ARCHITECTURE.md
Created November 1, 2025 09:35
Example of clean architecture using TypeScript.

Layer Mapping

1. domain/internal/domain (Go)

Innermost layer — pure business rules.

// domain/entities/Order.ts
export class Order {
  private id: string;
  private customerId: string;
@pedrovasconcellos
pedrovasconcellos / WHAT_IS_A_MEMORY_BANK.md
Created November 3, 2025 04:47
What is a Memory Bank?

What Is the Memory Bank For?

They are checklists that serve as verification guides to ensure that changes carried out by artificial intelligence (AI) in the code respect the defined standards and workflows of the project, reducing errors and maintaining consistency.

1. Before implementing

Purpose