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.
- commit-and-prSkill
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
- Very specific: line 38
Always read CONVENTIONS.md in full when authoring or reviewing code, and before committing or opening a pull request — it is the canonical …
≈ “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.
Files
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 engineflow-data: data binding and validationflow-html-components: basic HTML component wrappersflow-plugins: Maven and Gradle build pluginsflow-devloop-daemon: daemon for thevaadin-devdev loopflow-tests/: integration test suitevaadin-spring: Spring Framework integrationvaadin-cdi: CDI integrationvaadin-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=ExecJavaScriptITCode Quality
# Format code, must be run before every commit
mvn spotless:apply
# Check code formatting
mvn spotless:check
# Run checkstyle validation
mvn checkstyle:checkFrontend 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 buildDoes 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
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.

