Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions walking-skeleton/README-empty.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,25 @@ The application is then available at http://localhost:8080. The `-m` option sets
application uses up to 75% of it for the Java heap, which holds the UI state of all users, so adjust the limit to fit
your application.

## Agentic Development

If you develop with an AI coding agent, such as Claude Code or Codex, enable the Vaadin Dev Loop. It lets the agent make
its changes live in the running application with a single command, and tells it whether they took effect, without
restarting the application or checking screenshots. To enable it, run:

```bash
./mvnw vaadin:install-dev-cli
```

This installs the Dev Loop CLI into `.vaadin/`, and skills that teach your agent how to use it into `.agents/skills/` and
`.claude/skills/`. Commit these files with the rest of the project, and run the command again after upgrading Vaadin.

The Dev Loop needs to own the application process, so start the application with `.vaadin/vaadin-dev start` instead of
`./mvnw` or your IDE.

The Dev Loop is a preview feature. To learn more, including how to give your agent access to the Vaadin documentation,
see the [Dev Loop tutorial](https://vaadin.com/docs/v25/building-apps/agentic-development/dev-loop-tutorial).

## Getting Started

The [Quick Start](https://vaadin.com/docs/v25/getting-started/quick-start) tutorial helps you get started with Vaadin in
Expand Down
25 changes: 23 additions & 2 deletions walking-skeleton/README-flow.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ src
│ │ ├── Task.java
│ │ ├── TaskRepository.java
│ │ └── TaskService.java
│ └── Application.java
│ ├── Application.java
│ └── AppShell.java
├── main/resources
│ ├── META-INF
│ │ └── resources
Expand All @@ -38,7 +39,8 @@ src
```

The main entry point into the application is `Application.java`. This class contains the `main()` method that starts up
the Spring Boot application.
the Spring Boot application. The Vaadin-specific configuration, such as stylesheets and server push, is in
`AppShell.java`.

The project follows a *feature-based package structure*, organizing code by *functional units* rather than traditional
architectural layers. It includes two feature packages: `base` and `examplefeature`.
Expand All @@ -59,6 +61,25 @@ You can also start the application from the command line by running:
./mvnw
```

## Agentic Development

If you develop with an AI coding agent, such as Claude Code or Codex, enable the Vaadin Dev Loop. It lets the agent make
its changes live in the running application with a single command, and tells it whether they took effect, without
restarting the application or checking screenshots. To enable it, run:

```bash
./mvnw vaadin:install-dev-cli
```

This installs the Dev Loop CLI into `.vaadin/`, and skills that teach your agent how to use it into `.agents/skills/` and
`.claude/skills/`. Commit these files with the rest of the project, and run the command again after upgrading Vaadin.

The Dev Loop needs to own the application process, so start the application with `.vaadin/vaadin-dev start` instead of
`./mvnw` or your IDE.

The Dev Loop is a preview feature. To learn more, including how to give your agent access to the Vaadin documentation,
see the [Dev Loop tutorial](https://vaadin.com/docs/v25/building-apps/agentic-development/dev-loop-tutorial).

## Building for Production

To build the application in production mode, run:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.example.application;

import com.vaadin.flow.component.dependency.StyleSheet;
import com.vaadin.flow.component.page.AppShellConfigurator;
import com.vaadin.flow.component.page.Push;
import com.vaadin.flow.theme.aura.Aura;

@StyleSheet(Aura.STYLESHEET)
@StyleSheet("styles.css") // Your custom styles
@Push
public class AppShell implements AppShellConfigurator {
}
Original file line number Diff line number Diff line change
@@ -1,18 +1,10 @@
package com.example.application;

import com.vaadin.flow.theme.aura.Aura;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

import com.vaadin.flow.component.dependency.StyleSheet;
import com.vaadin.flow.component.page.AppShellConfigurator;
import com.vaadin.flow.component.page.Push;

@SpringBootApplication
@StyleSheet(Aura.STYLESHEET)
@StyleSheet("styles.css") // Your custom styles
@Push
public class Application implements AppShellConfigurator {
public class Application {

public static void main(String[] args) {
SpringApplication.run(Application.class, args);
Expand Down
Loading