flutter-agentic-starter CLAUDE.md

flutter-agentic-starter CLAUDE.md is an instructions file for coding agents from tsnAnh/flutter-agentic-starter. It costs 2,054 tokens per session, scanned A, original, MIT.

Repository instructions for flutter-agentic-starter, a Flutter project focused on software agents. They define responsibilities, workflows, development rules, documentation practices, and guidance associated with Andrej Karpathy.

In plain words
What is it for?
Use them when modifying flutter-agentic-starter to read its README and rules, choose needed skills, follow its development process, and report unresolved questions.
Why use it?
They tell a coding agent how to work in that repository and which files and rules to follow before making changes.

Instructions file

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/tsnanh/flutter-agentic-starter/claude-md
Clone the repo
git clone --depth 1 https://github.com/tsnAnh/flutter-agentic-starter

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for flutter-agentic-starter CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/tsnanh/flutter-agentic-starter/claude-md.svg)](https://agentmods.dev/instructions/tsnanh/flutter-agentic-starter/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/tsnanh/flutter-agentic-starter/claude-md"><img src="https://agentmods.dev/badge/instructions/tsnanh/flutter-agentic-starter/claude-md.svg" alt="Measured on agentmods" height="20"></a>
Per session 2,054 This file is loaded in full into every session.
When invoked 2,054 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.02054 $0.02054
Opus 5 $0.01027 $0.01027
Sonnet 5 $0.00411 $0.00411
Haiku 4.5 $0.00205 $0.00205

Measured 4d ago against content hash a33c3dab4b19, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

flutter-agentic-starter CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

CLAUDE.md · 142 lines

How it starts

The opening of the file, as written. The whole thing — 142 lines — stays where its author put it; the contents beside it link to each section on GitHub.

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Role & Responsibilities

Your role is to analyze user requirements, delegate tasks to appropriate sub-agents, and ensure cohesive delivery of features that meet specifications and architectural standards.

Workflows

  • Primary workflow: ./.claude/rules/primary-workflow.md
  • Development rules: ./.claude/rules/development-rules.md
  • Orchestration protocols: ./.claude/rules/orchestration-protocol.md
  • Documentation management: ./.claude/rules/documentation-management.md
  • And other workflows: ./.claude/rules/*

IMPORTANT: Analyze the skills catalog and activate the skills that are needed for the task during the process. IMPORTANT: You must follow strictly the development rules in ./.claude/rules/development-rules.md file. IMPORTANT: Before you plan or proceed any implementation, always read the ./README.md file first to get context. IMPORTANT: Sacrifice grammar for the sake of concision when writing reports. IMPORTANT: In reports, list any unresolved questions at the end, if any.

Karpathy Guidelines

Behavioral guidelines to reduce common LLM coding mistakes:

  • Think before coding. State assumptions, surface tradeoffs, ask when unclear.
  • Simplicity first. Minimum code that solves the requested behavior.
  • Surgical changes. Touch only files/lines needed, match existing style, clean up only your own unused code.
  • Goal-driven execution. Define success criteria and verify with concrete checks.

Hard Development Rules

  • Minimal focused edits are mandatory. Touch only files and lines required for requested behavior.
  • Do not rewrite, reformat, reorder, regenerate, or clean up unrelated code unless required.
  • Never manually edit build_runner generated files, including *.g.dart, *.freezed.dart, *.config.dart, or files marked GENERATED CODE - DO NOT MODIFY BY HAND.
  • For generated code changes, edit source files only, then run dart run build_runner build --delete-conflicting-outputs.
  • Avoid primitive obsession. Prefer existing SDK/package types, enums/enhanced enums, sealed classes, or small value objects over raw String, raw int, raw bool, and magic constants for finite or high-risk domain concepts. Parse wire primitives at boundaries; keep raw primitives only for open user text, raw JSON/generated/localized output, and simple IDs/keys without behavior.
  • Prefer maintained pub.dev packages before implementing reusable Flutter/Dart utilities, widgets, integrations, or helpers yourself.
  • Custom Flutter/Dart implementation requires a documented reason when a maintained pub.dev package is not used.
  • For Flutter source icons/images, find suitable existing internet assets instead of creating them yourself. Prefer SVG for icons/simple vectors, PNG/JPG for raster/photo use cases, and record source/license when adding assets.
  • Keep ephemeral widget-only UI state local with StatefulWidget/setState; use injectable feature view models with private Signal fields and public ReadonlySignal views for shared, persisted, business-critical, or asynchronous state.
  • Use SignalWidget for signal-driven screens and focused SignalBuilder boundaries when only a subtree should rebuild. Use AsyncState<T> for loading/data/error, computed for derived state, and batch when multiple writes must publish atomically.
  • Keep navigation, dialogs, and snackbars at the widget boundary. Explicitly dispose every effect, signal subscription, stream connection, and lifecycle observer owned by a long-lived object. Do not use .watch(context) or SignalsMixin.
  • Use SafeArea; honor text scaling and accessibility-aware MediaQuery.
  • Use LayoutBuilder for parent constraints and MediaQuery.sizeOf(context) for app-window size; avoid orientation or hardware type checks for top-level layout decisions.
  • On large screens, add useful panes/content instead of stretching widgets; center and constrain forms, text, and list rows with ConstrainedBox/max widths.
  • Use lazy builders for long lists/grids. Use GridView.builder or SliverGridDelegateWithMaxCrossAxisExtent for large feeds instead of wider list rows; avoid intrinsic layout passes in large scrolling surfaces.
  • Prefer width-adaptive navigation: compact NavigationBar/bottom nav, larger NavigationRail, drawer, or split shell.
  • Prefer canonical large-screen layouts when they fit: list-detail, feed, and supporting pane. Preserve selection/pane state across resize, rotation, fold, and unfold; compact widths show one pane with back behavior, expanded widths show panes together.
  • For foldables, do not lock orientation; use MediaQuery.displayFeatures/DisplayFeatureSubScreen when content must avoid hinges/folds. Use Flutter Display API only for the strict orientation-lock letterboxing exception.
  • Preserve scroll position with PageStorageKey where list identity should survive rotation, fold, or resize.
  • Custom controls need semantics, labels, focus traversal, keyboard activation, hover, and pointer support where relevant.
  • Use isolates/compute only for measured UI jank or clearly heavy JSON, media, database, or list-processing work.
  • Add restorationScopeId/restorationId for MaterialApp.router, GoRouter, and restorable pages when navigation state should survive OS process death.
  • New production user-facing strings go through ARB/localization unless the surrounding file is intentionally demo-only.
  • Prefer simple fakes over broad mocks; add widget/accessibility guideline tests for non-trivial UI.
  • For large-screen/adaptive UI changes, verify resizing, both orientations, physical keyboard, mouse/trackpad, and fold/unfold scenarios where possible.
  • Keep repo-owned source code files under 300 lines when practical; split focused concerns when it improves readability.

Read the full file on GitHub · 142 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 142 lines · 2,054 tokens per session scan A a33c3dab4b19

Subscribe to this mod's changes

flutter-agentic-starter CLAUDE.md is an instructions file published in the GitHub repository tsnAnh/flutter-agentic-starter (7 stars, last pushed 1mo ago), licensed MIT. It adds 2,054 tokens to every session, about $0.0103 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.