Agent skill

Project Guidelines

by mirumee in mirumee/nimara-ecommerce

Guide for working with Nimara's layered monorepo architecture.

BSD-3-ClauseAuto-check passedDevelopment

Install Project Guidelines

skills CLI
$ npx skills add mirumee/nimara-ecommerce --skill project-guidelines -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install mirumee/nimara-ecommerce project-guidelines --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/mirumee/nimara-ecommerce.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/project-guidelines .claude/skills/project-guidelines && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
project-guidelines
GitHub stars
129
Token cost
~4.8k tokens
SKILL.md length
1,304 words
Files
3 (incl. references)
Skills in repo
12
Repo updated
First seen
Licence
BSD-3-Clause

At a glance

Guide for working with Nimara's layered monorepo architecture.

  • Works in 12 steps: Domain Layer (@nimara/domain) → Foundation Layer (@nimara/foundation) → Infrastructure Layer… → …
  • Adding new features
  • SKILL.md covers Quick Layer Reference, Package Layers Explained, Dependency Flow (CRITICAL) and Decision Tree: Where Does This…, plus 3 more sections
  • Calls pnpm and git

What it does

Project Guidelines is an agent skill from mirumee/nimara-ecommerce. Guide for working with Nimara's layered monorepo architecture. Use when adding new features, choosing which package to use, understanding data flow, or making architectural decisions. Covers domain/infrastructure/foundation/features layers and their responsibilities.

Its SKILL.md is about 4.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/architecture-examples.md` and `references/dependency-management.md`).

It sits in Development, covering Monorepo tooling. It works with React, GraphQL, shadcn/ui and Next.js. The repository describes itself as: Headless, composable ecommerce storefront built with Next.js, Typescript, and shadcn/ui. The licence is BSD-3-Clause.

When your agent uses it

  • Adding new features
  • Choosing which package to use
  • Understanding data flow
  • Making architectural decisions

Example prompts

  • “/project-guidelines”

Workflow steps

12 steps, taken from the step headings in SKILL.md.

  1. Domain Layer (@nimara/domain)
  2. Foundation Layer (@nimara/foundation)
  3. Infrastructure Layer (@nimara/infrastructure)
  4. Features Layer (@nimara/features)
  5. UI Layer (@nimara/ui)
  6. Keep Domain Pure
  7. Use Result Pattern in Infrastructure
  8. Consume Infrastructure in Features
  9. Server Actions Belong in App or Features
  10. Avoid Circular Dependencies
  11. Options Object Over Positional Params
  12. Use-cases Return a Callable

What it can do on your machine

Read from SKILL.md and the folder at commit b883dec. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • pnpm
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use pnpm and git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Project Guidelines loads about 4.8k tokens when it runs, and up to ~6k if it reads all its reference files. Until then it costs about 72 tokens; SKILL.md has 1,304 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~72
When it runs · the whole SKILL.md, loaded when a task matches
~4.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from mirumee/nimara-ecommerce at commit b883dec, republished under its BSD-3-Clause licence (© mirumee). 1,304 words, ~4,817 tokens.

Download SKILL.mdSave it as .claude/skills/project-guidelines/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
project-guidelines
description
Guide for working with Nimara's layered monorepo architecture. Use when adding new features, choosing which package to use, understanding data flow, or making architectural decisions. Covers domain/infrastructure/foundation/features layers and their responsibilities.

Nimara Project Guidelines & Architecture

This skill helps you navigate Nimara's layered monorepo architecture and make correct decisions about where code belongs and how layers interact.

Quick Layer Reference

apps/                          # User-facing applications
├── storefront/                # Next.js customer-facing storefront
├── marketplace/               # Vendor dashboard, ledger, payouts
├── stripe/                    # Stripe payment integration app
└── automated-tests/           # CodeceptJS E2E tests

packages/                      # Shared, reusable code
├── domain/                    # Pure business logic (no framework deps)
├── infrastructure/            # External integrations (APIs, GraphQL)
├── foundation/                # Utilities, hooks, helpers
├── features/                  # Feature implementations (UI + logic)
├── ui/                        # Shared UI components (Shadcn-style)
└── config/                    # Shared configs (Tailwind, ESLint, etc.)

Package Layers Explained

1. Domain Layer (@nimara/domain)

Responsibility: Pure business logic, types, constants, entities—zero external dependencies.

What belongs here:

  • TypeScript types and interfaces (Product, Order, User, etc.)
  • Enums and constants (PaymentStatus, OrderStatus, etc.)
  • DTOs (Data Transfer Objects) for serialization
  • Pure utility functions with no side effects
  • Error types and Result<T, E> pattern
  • Business rules and validators

What does NOT belong here:

  • Framework imports (React, Next.js, Node APIs)
  • External API clients (Saleor, ButterCMS)
  • Database operations
  • HTTP requests
  • Environment variables

Example structure:

packages/domain/
├── objects/
│   ├── Result.ts          # Result<T, E> type
│   └── Product.ts         # Product entity
├── types/
│   ├── Cart.types.ts
│   └── Order.types.ts
├── constants/
│   ├── paymentStatus.ts
│   └── orderStatus.ts
└── validators/
    └── emailValidator.ts

Key rule: Domain is a leaf package—it imports nothing from other Nimara packages.


2. Foundation Layer (@nimara/foundation)

Responsibility: Core utilities, React hooks, helpers—framework-aware but integration-agnostic.

What belongs here:

  • React hooks (useLocalStorage, usePagination, etc.)
  • Utility functions (formatPrice, formatDate, slugify, etc.)
  • Constants and helpers used across apps
  • Custom error classes
  • Shared adapters for third-party libraries
  • Shared type utilities and helpers

What does NOT belong here:

  • Feature-specific logic (belongs in features or infrastructure)
  • API clients or external integrations
  • UI components (those go in ui)
  • App-specific configurations

Example structure:

packages/foundation/
├── hooks/
│   ├── usePagination.ts
│   └── useLocalStorage.ts
├── utils/
│   ├── formatPrice.ts
│   ├── formatDate.ts
│   └── slugify.ts
└── types/
    └── common.types.ts

Key rule: Foundation is a leaf package—it depends only on domain.


3. Infrastructure Layer (@nimara/infrastructure)

Responsibility: External integrations (Saleor, ButterCMS, Algolia, Stripe, etc.) and GraphQL operations.

What belongs here:

  • GraphQL queries and mutations (.graphql files + generated types)
  • External API clients and service adapters
  • Data providers (Saleor product provider, CMS provider, etc.)
  • Serializers and transformers (raw API response → domain types)
  • Use-cases that coordinate infrastructure calls
  • Result-based error handling for external operations

What does NOT belong here:

  • React components
  • UI logic
  • App-specific routing
  • Server Actions (those live in apps)

Example structure:

packages/infrastructure/
├── saleor/
│   ├── queries/
│   │   ├── GetProducts.graphql
│   │   └── GetProducts.generated.ts
│   ├── mutations/
│   │   └── AddToCart.graphql
│   ├── client.ts           # Saleor client config
│   └── providers/
│       └── ProductProvider.ts
├── butter-cms/
│   ├── client.ts
│   └── providers/
│       └── PageProvider.ts
├── algolia/
│   ├── client.ts
│   └── search.ts
└── use-cases/
    ├── getProduct.ts
    ├── searchProducts.ts
    └── addToCart.ts

Key rule: Infrastructure depends on domain + foundation. Services in infrastructure should return Result<T, E> for operations that can fail.


4. Features Layer (@nimara/features)

Responsibility: Feature implementations—combining UI, state, and business logic into cohesive features.

What belongs here:

  • Feature-specific React components
  • Feature state management (Context, hooks)
  • Feature-specific Server Actions
  • Feature forms and validation
  • Feature-specific utilities
  • Feature documentation

What does NOT belong here:

  • Shared UI primitives (those go in ui)
  • Core utilities (those go in foundation)
  • Business logic (that's domain)

Example structure:

packages/features/
├── checkout/
│   ├── Checkout.tsx
│   ├── CheckoutProvider.tsx
│   ├── useCheckout.ts
│   ├── checkoutFormSchema.ts
│   └── _actions/
│       └── completeCheckout.ts
├── product-search/
│   ├── ProductSearch.tsx
│   ├── SearchFilters.tsx
│   └── useProductSearch.ts
└── user-account/
    ├── AccountSettings.tsx
    ├── useUserProfile.ts
    └── _actions/
        └── updateProfile.ts

Key rule: Features depends on all packages (domain, foundation, infrastructure, ui). This is the only layer that depends on everything.


5. UI Layer (@nimara/ui)

Responsibility: Reusable UI components and design system—presentational, not business logic.

What belongs here:

  • UI primitives (Button, Input, Card, Modal, etc.)
  • Form components
  • Layout components
  • Icons and SVGs
  • Design tokens and theme utilities
  • Shared styles and Tailwind extensions

What does NOT belong here:

  • Business logic
  • Feature-specific components
  • State management
  • Server Actions

Example structure:

packages/ui/
├── components/
│   ├── Button.tsx
│   ├── Input.tsx
│   ├── Modal.tsx
│   ├── Card.tsx
│   └── Form/
│       ├── FormField.tsx
│       └── FormError.tsx
├── icons/
│   ├── ChevronDown.tsx
│   └── ShoppingCart.tsx
├── layouts/
│   ├── Container.tsx
│   └── Grid.tsx
└── theme/
    └── colors.ts

Key rule: UI is a leaf package or minimal-dependency—imports only domain and foundation if needed.


Dependency Flow (CRITICAL)

The dependency direction is unidirectional:

domain (leaf)
   ↑
foundation (leaf)
   ↑
infrastructure ─┐
   ↑             │
   └─ domain    │
   └─ foundation│
                ├→ features
   ui (leaf)    │
   ↑            │
ui ─────────────┘
   ↑
   └─ domain, foundation

apps (storefront, stripe)
   ↑
   └─ features, infrastructure, ui, foundation, domain

In practice:

  • Apps import from: features, infrastructure, ui, foundation, domain
  • Features import from: infrastructure, ui, foundation, domain (all packages!)
  • Infrastructure imports from: domain, foundation
  • Foundation imports from: domain only
  • Domain imports from: nothing (pure business logic)
  • UI imports from: domain, foundation (minimal)

What NEVER happens:

  • ❌ Domain imports anything else
  • ❌ Infra imports from Features, UI, or apps
  • ❌ Foundation imports from Infra, Features, or UI
  • ❌ Apps import from other apps

Decision Tree: Where Does This Code Belong?

Question 1: Is it pure business logic (no framework, no API calls)?
  • Yes → domain
    • Type definitions, constants, validators
  • No → Next question
Question 2: Is it a utility/helper function or React hook?
  • Yes → foundation
    • Helper functions, hooks, adapters
  • No → Next question
Question 3: Is it an external API integration or GraphQL operation?
  • Yes → infrastructure
    • API clients, GraphQL, data providers
  • No → Next question
Question 4: Is it a reusable UI component (no business logic)?
  • Yes → ui
    • Buttons, inputs, modals, layouts
  • No → Next question
Question 5: Is it a feature combining UI + logic?
  • Yes → features
    • Checkout form, product search, account settings
  • No → It's app-specific → Put in apps/storefront/ or apps/stripe/

Common Scenarios

Scenario 1: Add a new payment method integration
  1. Domain: Add payment type/status constants

    typescript
    // packages/domain/constants/paymentStatus.ts
    export const PAYMENT_METHODS = {
      CREDIT_CARD: "credit_card",
      DIGITAL_WALLET: "digital_wallet",
    } as const;
  2. Infrastructure: Create the payment provider + GraphQL mutations

    packages/infrastructure/payments/
    ├── mutations/CreatePayment.graphql
    ├── mutations/CreatePayment.generated.ts
    └── providers/PaymentProvider.ts
  3. Features: Create the payment form component

    packages/features/payment-form/
    ├── PaymentForm.tsx
    └── usePayment.ts
  4. App: Use in checkout page

    typescript
    // apps/storefront/src/app/[locale]/(checkout)/payment/page.tsx
    import { PaymentForm } from '@nimara/features';
    export default function PaymentPage() {
      return <PaymentForm />;
    }
Scenario 2: Add a utility function
  1. Check if it's domain logic (pure business rules): If yes → domain
  2. Check if it's a helper used across features: If yes → foundation
  3. If feature-specific: Keep it in the feature folder

Dependency Management (CRITICAL)

RULE: NEVER automatically install new dependencies. ALWAYS require explicit user approval first.

Why This Matters
  • Dependencies affect bundle size, security, and maintenance burden
  • Each package adds complexity and potential conflicts
  • Alternatives exist and should be evaluated first
  • Team should agree on tech choices
Show full SKILL.md (540 more words)Show less
Approval Workflow
  1. Identify the need — You need a library for a feature
  2. Ask for approval — List the dependency and explain why
  3. Provide alternatives — Show other options the user could consider
  4. Wait for confirmation — User must explicitly approve
  5. Install after approval — Only then run pnpm add or pnpm add -D
Template for Asking Approval
I need to add a new dependency to [package-name]:

Package: library-name
Version: X.Y.Z
Purpose: Brief description of what it's used for

Reasons to choose this:
- Reason 1
- Reason 2

Alternatives considered:
- Alternative 1 (pros/cons)
- Alternative 2 (pros/cons)

Where it will be used:
- packages/infrastructure/...
- apps/storefront/...

Should I proceed with installation?
Examples

❌ WRONG: Automatically installing

bash
pnpm add lodash-es
# Package added without asking!

✅ RIGHT: Asking for approval first

I need to add `zod` to `@nimara/domain` for schema validation.

Reasons:
- Runtime validation with TypeScript integration
- Already used in the project
- Lightweight (~8kb gzipped)

Alternatives:
- io-ts (more complex, better for complex validations)
- joi (heavier, more features)

Should I add zod to packages/domain/package.json?
When You DO Have Approval

Once the user approves, proceed:

bash
# Navigate to the correct package
cd packages/domain

# Install the dependency
pnpm add zod

# Or dev dependency
pnpm add -D vitest

# Verify it was added to package.json
git diff package.json
Common Dependency Scenarios
Scenario 1: Adding a UI component library

Ask for approval because:

  • Affects bundle size significantly
  • May introduce styling conflicts
  • Should be evaluated for design system alignment

Before adding:

Should I add shadcn-ui@next to packages/ui?
- Already used in the project
- Gives access to pre-built accessible components
- Can be customized with Tailwind

Approve? (yes/no)
Scenario 2: Adding a validation library

Ask for approval because:

  • Core architectural decision
  • Affects how data is validated across the app
  • Should align with existing patterns

Before adding:

Should I add zod to @nimara/domain?
- Runtime validation with TS types
- Lightweight and performant
- Already partially used in infrastructure

Approve? (yes/no)
Scenario 3: Adding a utility library

Ask for approval because:

  • Can often be replaced with native JS/TS
  • Adds to dependency tree
  • May have better alternatives

Before adding:

Should I add date-fns to @nimara/foundation?
- For date formatting and manipulation
- More tree-shakeable than moment.js
- Smaller bundle than other alternatives

Approve? (yes/no)
Exception: Dependencies Already in Project

If a dependency is already installed and used elsewhere in the project, you don't need approval to use it in a new package—but you still cannot install it without asking.

✅ OK to use: "I'll use the existing zod dependency"
❌ NOT OK: "I'll add zod" (without asking)
Verifying Installation

After installing, always verify:

bash
# Check package.json was updated
cat packages/your-package/package.json | grep "dependency-name"

# Verify pnpm.lock was updated
git diff pnpm.lock | head -20

# Ensure it's in the right place (dependencies vs devDependencies)
Adding to Package.json Directly

If you're editing package.json manually (not recommended), still ask first:

I need to add "zod": "^3.22.0" to packages/domain/package.json

Should I proceed? (yes/no)
Monorepo Dependency Rules

Root workspace:

  • Only devDependencies (turbo, prettier, eslint, etc.)
  • Version management tools

App/package package.json:

  • Only dependencies that app/package actually uses
  • No "just in case" dependencies

Shared packages:

  • Careful about adding to @nimara/domain (it should be minimal)
  • Infrastructure can have more dependencies (it talks to APIs)
  • Foundation utilities should be lightweight

Architecture Best Practices

1. Keep Domain Pure
  • Domain should be the most stable, reusable layer
  • No framework, no external dependencies
  • Easy to test, easy to share
2. Use Result Pattern in Infrastructure
typescript
// packages/infrastructure/saleor/products/getProduct.ts
import { Result } from "@nimara/domain/objects/Result";

export async function getProduct(id: string): Promise<Result<Product, Error>> {
  try {
    const product = await saleorClient.getProduct(id);
    return { ok: true, data: product };
  } catch (error) {
    return { ok: false, error };
  }
}
3. Consume Infrastructure in Features
typescript
// packages/features/product-detail/useProduct.ts
import { getProduct } from "@nimara/infrastructure/saleor/products";

export function useProduct(id: string) {
  const [result, setResult] = useState<Result<Product, Error>>({ ok: false });
  // ...
  useEffect(() => {
    getProduct(id).then(setResult);
  }, [id]);
  return result;
}
4. Server Actions Belong in App or Features
typescript
// packages/features/checkout/_actions/completeCheckout.ts
"use server";

import { completeCheckoutUseCase } from "@nimara/infrastructure";

export async function completeCheckout(data: CheckoutData) {
  const result = await completeCheckoutUseCase(data);
  if (!result.ok) return { error: result.error };
  revalidatePath("/orders");
  return { success: true };
}
5. Avoid Circular Dependencies
  • Feature A imports from Infrastructure ✅
  • Infrastructure should NOT import from Feature A ❌
  • If you need circular data flow, use Context or lift state
6. Options Object Over Positional Params

A function/factory taking more than one argument accepts a single options object, not positional params — more readable at the call site and easy to extend without breaking callers.

typescript
// ❌ positional
export const clientEntryPoint = (context: Context, appName: string) => { … };
clientEntryPoint(context, "handler");

// ✅ options object
export const clientEntryPoint = ({
  appName,
  context,
}: {
  appName: string;
  context: Context;
}) => { … };
clientEntryPoint({ context, appName: "handler" });

A single argument stays positional (getOperationName(document)).

7. Use-cases Return a Callable

A single-operation use-case returns the callable directly — no { execute } wrapper (that's ceremony). Reserve method objects for genuine multi-operation services (joseAuthService, appConfigService).

typescript
// ✅ callable use-case
export const installSaleorAppUseCase =
  (deps): InstallSaleorAppUseCase =>
  async (input) => { … };
container.get("installAppUseCase")(input);

Common Gotchas

Gotcha 1: Putting API client logic in domain
typescript
// ❌ WRONG: domain should not have external deps
// packages/domain/services/ProductService.ts
import axios from "axios";
export function getProduct(id: string) {
  return axios.get(`/api/products/${id}`);
}

// ✅ RIGHT: move to infrastructure
// packages/infrastructure/saleor/products/getProduct.ts
Gotcha 2: Importing Features from Infrastructure
typescript
// ❌ WRONG: Creates circular dependency
// packages/infrastructure/use-cases/checkout.ts
import { CheckoutForm } from "@nimara/features";

// ✅ RIGHT: Infrastructure provides data, features consume it
Gotcha 3: App-specific code in shared packages
typescript
// ❌ WRONG: This is storefront-specific
// packages/features/StorefrontHeader.tsx

// ✅ RIGHT: Keep in app
// apps/storefront/src/components/StorefrontHeader.tsx
Gotcha 4: UI components with business logic
typescript
// ❌ WRONG: Business logic in UI
// packages/ui/ProductCard.tsx
const ProductCard = ({ productId }) => {
  const product = await fetchProduct(productId); // ❌
  return <div>{product.name}</div>;
};

// ✅ RIGHT: UI receives data as prop
// packages/ui/ProductCard.tsx
const ProductCard = ({ product }: { product: Product }) => {
  return <div>{product.name}</div>;
};

When Adding a New Feature

Follow this checklist:

  1. Create domain types (if new entity type)

    • packages/domain/types/YourEntity.types.ts
    • Add to domain constants if needed
  2. Add infrastructure integration (if external API call)

    • packages/infrastructure/your-provider/
    • Create GraphQL queries if Saleor
    • Implement Result-based error handling
  3. Create feature package

    • packages/features/your-feature/
    • Implement components and hooks
    • Add Server Actions if mutations
  4. Use in app

    • Import from @nimara/features
    • Wire up in routing/layouts
  5. Add tests

    • Unit tests in each package
    • E2E tests in apps/automated-tests

Resources

  • Global rules and monorepo layout: See the root CLAUDE.md
  • Layer and dependency rules: See .claude/rules/architecture.md
  • Architecture examples: See references/architecture-examples.md
  • Dependency procedures: See references/dependency-management.md

© mirumee, BSD-3-Clause. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in .claude/skills/project-guidelines of mirumee/nimara-ecommerce.

  • SKILL.md
  • references/architecture-examples.md
  • references/dependency-management.md

Open the folder on GitHubat commit b883dec

Compare with similar skills

Project Guidelines next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Project Guidelines compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Project Guidelines this skillmirumee/nimara-ecommerce129—~4.8kAutomated safety check: PassBSD-3-Clause
Dependabot Alerts Updatelivesession/xyd114—~2kAutomated safety check: PassMIT
Databuddydatabuddy-analytics/Databuddy1.2k—~2kAutomated safety check: PassAGPL-3.0
Finish Extensions Featuresenchabot-opensource/monorepo114—~554Automated safety check: PassGPL-3.0
Senior Fullstackdavila7/claude-code-templates32k7 repos~1.1kAutomated safety check: NotesMIT
LobeHub Project Maplobehub/lobehub83k—~1.8kAutomated safety check: PassCustom licence

Similar skills

  • Automatically fetch and fix Dependabot security alerts by querying GitHub REST API for open alerts, identifying vulnerable packages, researching secure versions, and updating package.json files…

    114 GitHub stars~2k tokensUpdated 15 days ago
    DevelopmentAuto-check passed
  • Databuddy

    databuddy-analytics/Databuddy

    Help external users integrate Databuddy into their own apps.

    1.2k GitHub stars~2k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Finish Extensions Feature

    senchabot-opensource/monorepo

    A skill your agent uses when completing a new feature or making a user-facing change in the apps/extensions workspace to ensure no required files or configurations are forgotten.

    114 GitHub stars~554 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Senior Fullstack

    davila7/claude-code-templates

    Comprehensive fullstack development skill for building complete web applications with React, Next.js, Node.js, GraphQL, and PostgreSQL.

    32k GitHub starsUsed in 7 repos~1.1k tokens
    DevelopmentAuto-check: notes
  • LobeHub Project Map

    lobehub/lobehub

    A map of the LobeHub open-source repository: tech stack, monorepo layout, where each code layer lives and who owns apps, packages and src.

    83k GitHub stars~1.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Scaffold Project

    Marve10s/Better-Fullstack

    Scaffold a new app, API, backend, fullstack project, mobile app, polyglot service, monorepo, or starter with Better Fullstack.

    752 GitHub stars~716 tokensUpdated today
    DevelopmentAuto-check passed

More from mirumee/nimara-ecommerce

All 12 skills in this repo
  • Prd Modeling

    mirumee/nimara-ecommerce

    A skill your agent uses when creating, rewriting, refining, or stress-testing a Product Requirements Document (PRD), including turning an initiative or feature brief into product requirements.

    129 GitHub stars~824 tokensUpdated 2 days ago
    Auto-check passed
  • Rfc Modeling

    mirumee/nimara-ecommerce

    A skill your agent uses when designing, drafting, refining, or stress-testing an RFC for an approved PRD, including requests for a design doc, solution design, or how to build it.

    129 GitHub stars~920 tokensUpdated 2 days ago
    Auto-check passed
  • Ucp Agent

    mirumee/nimara-ecommerce

    Operate Nimara's UCP REST commerce API. An agent skill from mirumee/nimara-ecommerce.

    129 GitHub stars~1k tokensUpdated 2 days ago
    Auto-check passed
  • Show Me

    mirumee/nimara-ecommerce

    Help the user understand the current topic visually with concise diagrams, code-shape sketches, and focused HTML artifacts.

    129 GitHub starsUsed in 7 repos~809 tokens
    Auto-check passed
  • Bug Retest Triage

    mirumee/nimara-ecommerce

    Retest a reported defect on the live Nimara board (Jira project MS, board 74) and give it an evidence-backed verdict — still reproduces → Open, fixed → Done, blocked → leave In testing and ask.

    129 GitHub stars~888 tokensUpdated 2 days ago
    Auto-check passed
  • Explore

    mirumee/nimara-ecommerce

    Ways to explore llm-wiki and answer from it. An agent skill from mirumee/nimara-ecommerce.

    129 GitHub stars~436 tokensUpdated 2 days ago
    Auto-check passed

Categories

Questions about Project Guidelines

What does Project Guidelines do?

Guide for working with Nimara's layered monorepo architecture. Project Guidelines is an agent skill from mirumee/nimara-ecommerce. Guide for working with Nimara's layered monorepo architecture.

When should I use Project Guidelines?

Project Guidelines fits situations like: adding new features; choosing which package to use; understanding data flow; making architectural decisions.

How do I install Project Guidelines in Claude Code?

Run `npx skills add mirumee/nimara-ecommerce --skill project-guidelines -a claude-code`. Or copy the skill folder (.claude/skills/project-guidelines in mirumee/nimara-ecommerce) into .claude/skills/project-guidelines in your project. Claude Code loads it when a task matches its description.

How do I install Project Guidelines in Codex?

Run `npx skills add mirumee/nimara-ecommerce --skill project-guidelines -a codex`. Or copy the skill folder (.claude/skills/project-guidelines in mirumee/nimara-ecommerce) into .agents/skills/project-guidelines in your project. Codex loads it when a task matches its description.

Can I use Project Guidelines in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mirumee/nimara-ecommerce --skill project-guidelines -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/project-guidelines, .gemini/skills/project-guidelines, .github/skills/project-guidelines and .opencode/skills/project-guidelines in your project.

What does Project Guidelines need to run?

Going by SKILL.md and its folder, Project Guidelines needs the command-line tools its instructions call (pnpm and git).

Does Project Guidelines access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Project Guidelines safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Project Guidelines use?

Project Guidelines is published under the BSD-3-Clause licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Project Guidelines use?

About 4.8k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.2k tokens, read only when the agent opens those files.

What are the alternatives to Project Guidelines?

Skills that share tags, products or a category with Project Guidelines: Dependabot Alerts Update (livesession/xyd, 114 stars), Databuddy (databuddy-analytics/Databuddy, 1.2k stars), Finish Extensions Feature (senchabot-opensource/monorepo, 114 stars) and Senior Fullstack (davila7/claude-code-templates, 32k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Project Guidelines?

mirumee (a GitHub organization) maintains it in mirumee/nimara-ecommerce, which has 129 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 6, 2026.

Source: mirumee/nimara-ecommerce on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.