mcpField
E
engram-project-structure

engram-project-structure

github.com/gentleman-programmingDevelopment7.7k71 installsUpdated today
Repository

About engram-project-structure

A project-structure skill for contributors deciding where code and files belong. It provides placement rules for dashboard, server, and storage changes, along with file-creation guidance and anti-patterns.

Key features

  1. 01Domain-based code placement
  2. 02Dashboard template and asset locations
  3. 03Guidance for routes and database changes
  4. 04Rules for UI components and generated files
  5. 05Architecture anti-pattern guidance

Use cases

  1. 01Choosing a package for new behavior
  2. 02Adding a route with focused tests
  3. 03Creating a dashboard page or partial
  4. 04Keeping persistence logic out of handlers

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/gentleman-programming/engram --skill engram-project-structure

After installing, type/engram-project-structurein Claude Code to confirm it loaded.

Details

From the project README

When to Use

Use this skill when:

  • Creating a new package, file, or directory
  • Deciding where code belongs
  • Adding tests, templates, assets, or docs

Placement Rules

  1. Put behavior near its domain, not near the caller that happens to use it.
  2. Keep templates in internal/cloud/dashboard/*.templ and generated files checked in.
  3. Keep dashboard styling in internal/cloud/dashboard/static/styles.css unless a new static asset is clearly needed.
  4. Put HTTP handlers in server packages, not in store packages.
  5. Put persistence queries in store/cloudstore, not in handlers.

File Creation Rules

  • New route -> handler + tests in dashboard/server package
  • New DB behavior -> store/cloudstore code + focused tests
  • New UI partial/page -> templ component + generated _templ.go
  • New contributor guidance -> update docs/catalog in same change

Anti-Patterns

  • Do not mix SQL, HTML, and transport logic in one file.
  • Do not create utility packages for one-off helpers.
  • Do not add package layers unless they remove real coupling.

Comments

Markdown supported