agentleFS
vaadinvaadin/flow/CLAUDE.md

flow

CLAUDE.md760 starsChanged 22 days agoApache-2.0View on GitHub

Vaadin Flow is the Java framework of Vaadin Platform for building modern web applications. This is a large, multi-module Maven project that combines server-side Java components with modern frontend tooling (Vite, TypeScript, React support). See guidelines/repository.md for the full module map and guidelines/architecture.md for how the pieces fit together. Always read CONVENTIONS.md in full when authoring or reviewing code, and before committing or opening a pull request — it is the canonical list of checkable conventions. Design and implementation guidelines…

  • Installs packages
  • In this repositoryOne other file it gives its agents.

The file

We split this CLAUDE.md into the rules it gives an agent

1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Always read CONVENTIONS.md in full when authoring or reviewing code, and before committing or opening a pull request — it is the canonical …

    line 38

≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
CLAUDE.md

CLAUDE.md

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

Repository Overview

Vaadin Flow is the Java framework of Vaadin Platform for building modern web applications. This is a large, multi-module Maven project that combines server-side Java components with modern frontend tooling (Vite, TypeScript, React support).

Technologies

  • Java 21+, Maven
  • Jakarta EE (not Java EE), Spring Boot 4 integration
  • Jackson for client-server JSON serialization
  • Vite for frontend builds, TypeScript for the client engine
  • JUnit and Mockito for unit tests, Vaadin TestBench for integration tests

Key Modules

  • flow-server: core server-side framework (state tree, Element, routing, DI)
  • flow-client: client-side TypeScript/JavaScript engine
  • flow-data: data binding and validation
  • flow-html-components: basic HTML component wrappers
  • flow-plugins: Maven and Gradle build plugins
  • flow-devloop-daemon: daemon for the vaadin-dev dev loop
  • flow-tests/: integration test suite
  • vaadin-spring: Spring Framework integration
  • vaadin-cdi: CDI integration
  • vaadin-quarkus: Quarkus extension

See guidelines/repository.md for the full module map and guidelines/architecture.md for how the pieces fit together.

Guidelines & Conventions

Always read CONVENTIONS.md in full when authoring or reviewing code, and before committing or opening a pull request — it is the canonical list of checkable conventions.

Design and implementation guidelines live in guidelines/. Read the chapters mapped in guidelines/overview.md selectively for the topics your work touches.

CONVENTIONS.md decides and guidelines/ explains: a rule is written once, in CONVENTIONS.md, and a chapter carries its reasoning and links to it. When you add or change guidance, follow the Conventions and Guidelines section of CONVENTIONS.md.

The commit message format, the PR description format and the expectations for opening a pull request are in the commit-and-pr skill (.claude/skills/commit-and-pr/SKILL.md), linked from the Commit & PR Hygiene section of CONVENTIONS.md.

Development Commands

Building and Testing

# Build entire project
mvn clean install

# Build without tests (faster)
mvn clean install -DskipTests

# Note: To run tests, omit -DskipTests entirely (not -DskipTests=false)

# Build specific module
mvn clean install -pl flow-server -am

# Run tests for specific module
mvn test -pl flow-server

# Run specific test class
mvn test -Dtest=JacksonCodecTest

# Run specific test method
mvn test -Dtest=JacksonCodecTest#testComplexTypeSerialization

# Run tests matching pattern
mvn test -Dtest="*Codec*Test"

# Run integration tests (automatically starts and stops server)
mvn verify -pl flow-tests/test-root-context

# Run single integration test
mvn verify -pl flow-tests/test-root-context -Dit.test=ExecJavaScriptIT

Code Quality

# Format code, must be run before every commit
mvn spotless:apply

# Check code formatting
mvn spotless:check

# Run checkstyle validation
mvn checkstyle:check

Frontend Development

# Frontend assets are managed by Maven plugins, and Vite dev mode is started
# automatically during development. Manual frontend build (rare):
cd flow-client && npm install && npm run build

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.