Skip to content
Agentmart
Submit a tool

architecture

Approved architecture contract for this Next.js app — one flat folder per feature, role-named files, T-prefixed types, and no Clean layering.

Skill by chonamdoo

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/chonamdoo-architecture-f7a6b2

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Approved architecture contract for this Next.js app — one flat folder per feature, role-named files, T-prefixed types, and no Clean layering. Apply it to every placement, dependency, and naming decision under src/.

Use cases: documents, frontend

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/architecture

What's inside

Skill name
architecture
Description
Approved architecture contract for this Next.js app — one flat folder per feature, role-named files, T-prefixed types, and no Clean layering. Apply it to every placement, dependency, and naming decision under src/.
License
MIT
Instructions
31 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Flat feature folders

This project deliberately does **not** use Clean Architecture layering. A feature is small enough
to read in one folder, so transport calls, payload mapping, business rules, and view state live
side by side. This contract replaces the profile's Clean roles wherever they differ.

## Placement

- Each feature owns exactly one flat folder `src/<feature>/` (for example `src/orders/`).
  A feature folder has no subdirectories.
- Never create `core/`, `domain/`, `data/`, `presentation/`, or `features/` directories anywhere
  under `src/`. There is no separate entity layer and no data layer.
- No repository interfaces, ports, adapters, use-case objects, or `class` declarations. Export plain
  functions; callers pass the transport function (`getJson(path)`) in as an argument.
- A feature folder never imports from another feature folder.

## Naming

- Files are named `<role>.<feature>.ts` (or `.tsx`), where the role is one lowercase word:
  `api.orders.ts`, `view.orders.ts`, `sort.orders.ts`.
- Declare types with `type`, never `interface`. Every exported type name starts with a capital `T`
  followed by the name in PascalCase: `TOrder`, `TOrderStatus`, `TOrdersView`. Non-exported local
  types follow the same rule.

## Review

A change that adds a layer directory, a repository/port abstraction, a class, a nested folder inside a
feature, a file outside the `<role>.<feature>.ts` pattern, or an exported type without the `T`
prefix does not follow this contract.

From chonamdoo/agent-flow, MIT.

More from chonamdoo/agent-flow

Signals

Stars
0
Forks
0
Open issues
21
Last commit (this folder)
Sep 30, 2026 (1 month ago)
Last release
Oct 21, 2026 (9 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from chonamdoo

Cite this page

architecture skill. Agent Mart. https://agentmart.dev/skills/chonamdoo-architecture-f7a6b2 (last updated 2026-10-24)