diff --git a/src/main/java/com/googlesource/gerrit/plugins/cookbook/HelloWorldAction.java b/src/main/java/com/googlesource/gerrit/plugins/cookbook/HelloProjectAction.java
similarity index 77%
copy from src/main/java/com/googlesource/gerrit/plugins/cookbook/HelloWorldAction.java
copy to src/main/java/com/googlesource/gerrit/plugins/cookbook/HelloProjectAction.java
index 29bc4de..e977113 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/cookbook/HelloWorldAction.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/cookbook/HelloProjectAction.java
@@ -20,12 +20,12 @@
 import com.google.gerrit.extensions.webui.UiAction;
 import com.google.gerrit.server.CurrentUser;
 import com.google.gerrit.server.IdentifiedUser;
-import com.google.gerrit.server.change.RevisionResource;
+import com.google.gerrit.server.project.ProjectResource;
 import com.google.inject.Inject;
 import com.google.inject.Provider;
 
-class HelloWorldAction implements UiAction<RevisionResource>,
-    RestModifyView<RevisionResource, HelloWorldAction.Input> {
+class HelloProjectAction implements UiAction<ProjectResource>,
+    RestModifyView<ProjectResource, HelloProjectAction.Input> {
 
   private Provider<CurrentUser> user;
 
@@ -35,27 +35,26 @@
   }
 
   @Inject
-  HelloWorldAction(Provider<CurrentUser> user) {
+  HelloProjectAction(Provider<CurrentUser> user) {
     this.user = user;
   }
 
   @Override
-  public String apply(RevisionResource rev, Input input) {
+  public String apply(ProjectResource rsrc, Input input) {
     final String greeting = input.french
         ? "Bonjour"
         : "Hello";
-    return String.format("%s %s from change %s, patch set %d!",
+    return String.format("%s %s from project %s!",
         greeting,
         Strings.isNullOrEmpty(input.message)
             ? Objects.firstNonNull(user.get().getUserName(), "world")
             : input.message,
-        rev.getChange().getId().toString(),
-        rev.getPatchSet().getPatchSetId());
+        rsrc.getName());
   }
 
   @Override
   public Description getDescription(
-      RevisionResource resource) {
+      ProjectResource resource) {
     return new Description()
         .setLabel("Say hello")
         .setTitle("Say hello in different languages")
diff --git a/src/main/java/com/googlesource/gerrit/plugins/cookbook/HelloWorldAction.java b/src/main/java/com/googlesource/gerrit/plugins/cookbook/HelloRevisionAction.java
similarity index 91%
rename from src/main/java/com/googlesource/gerrit/plugins/cookbook/HelloWorldAction.java
rename to src/main/java/com/googlesource/gerrit/plugins/cookbook/HelloRevisionAction.java
index 29bc4de..21182ed 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/cookbook/HelloWorldAction.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/cookbook/HelloRevisionAction.java
@@ -24,8 +24,8 @@
 import com.google.inject.Inject;
 import com.google.inject.Provider;
 
-class HelloWorldAction implements UiAction<RevisionResource>,
-    RestModifyView<RevisionResource, HelloWorldAction.Input> {
+class HelloRevisionAction implements UiAction<RevisionResource>,
+    RestModifyView<RevisionResource, HelloRevisionAction.Input> {
 
   private Provider<CurrentUser> user;
 
@@ -35,7 +35,7 @@
   }
 
   @Inject
-  HelloWorldAction(Provider<CurrentUser> user) {
+  HelloRevisionAction(Provider<CurrentUser> user) {
     this.user = user;
   }
 
diff --git a/src/main/java/com/googlesource/gerrit/plugins/cookbook/HttpModule.java b/src/main/java/com/googlesource/gerrit/plugins/cookbook/HttpModule.java
index 4a43732..6504563 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/cookbook/HttpModule.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/cookbook/HttpModule.java
@@ -24,6 +24,8 @@
   protected void configureServlets() {
     serve("/say-hello/*").with(HelloWorldServlet.class);
     DynamicSet.bind(binder(), WebUiPlugin.class)
-        .toInstance(new JavaScriptPlugin("hello.js"));
+        .toInstance(new JavaScriptPlugin("hello-project.js"));
+    DynamicSet.bind(binder(), WebUiPlugin.class)
+        .toInstance(new JavaScriptPlugin("hello-revision.js"));
   }
 }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/cookbook/Module.java b/src/main/java/com/googlesource/gerrit/plugins/cookbook/Module.java
index 211850c..8591acf 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/cookbook/Module.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/cookbook/Module.java
@@ -15,6 +15,7 @@
 package com.googlesource.gerrit.plugins.cookbook;
 
 import static com.google.gerrit.server.change.RevisionResource.REVISION_KIND;
+import static com.google.gerrit.server.project.ProjectResource.PROJECT_KIND;
 
 import com.google.gerrit.extensions.registration.DynamicSet;
 import com.google.gerrit.extensions.restapi.RestApiModule;
@@ -30,7 +31,8 @@
     install(new RestApiModule() {
       @Override
       protected void configure() {
-        post(REVISION_KIND, "say-hello").to(HelloWorldAction.class);
+        post(REVISION_KIND, "hello-revision").to(HelloRevisionAction.class);
+        post(PROJECT_KIND, "hello-project").to(HelloProjectAction.class);
       }
     });
   }
diff --git a/src/main/resources/Documentation/rest-api-hello.md b/src/main/resources/Documentation/rest-api-hello-project.md
similarity index 66%
copy from src/main/resources/Documentation/rest-api-hello.md
copy to src/main/resources/Documentation/rest-api-hello-project.md
index a31f4ce..baff966 100644
--- a/src/main/resources/Documentation/rest-api-hello.md
+++ b/src/main/resources/Documentation/rest-api-hello-project.md
@@ -1,13 +1,13 @@
-cookbook-plugin hello
-=====================
+cookbook-plugin hello-project
+=============================
 
 NAME
 ----
-say-hello - Print our "Hello <user>!" message
+hello-project - Print our "Hello <user>!" message
 
 SYNOPSIS
 --------
->     POST /changes/{change-id}/revisions/{revision-id}/cookbook-plugin~say-hello
+>     POST /projects/{project-name}/cookbook-plugin~hello-project
 
 DESCRIPTION
 -----------
@@ -31,16 +31,16 @@
 
 Have the server say Hello to the user
 
->     curl -X POST --digest --user joe:secret http://host:port/a/changes/1/revisions/1/cookbook~say-hello
-> "Hello joe from change 1, patch set 1!"
+>     curl -X POST --digest --user joe:secret http://host:port/a/projects/foo/cookbook~hello-project
+> "Hello joe from project foo!"
 
 Have the server say Bonjour to François
 
 >     curl -X POST -H "Content-Type: application/json" \
 >       -d '{message: "François", french: true}' \
 >       --digest --user joe:secret \
->       http://host:port/a/changes/1/revisions/1/cookbook~say-hello
-> "Bonjour François from change 1, patch set 1!"
+>       http://host:port/a/projects/foo/cookbook~hello-project
+> "Bonjour François from project foo!"
 
 SEE ALSO
 --------
diff --git a/src/main/resources/Documentation/rest-api-hello.md b/src/main/resources/Documentation/rest-api-hello-revision.md
similarity index 77%
rename from src/main/resources/Documentation/rest-api-hello.md
rename to src/main/resources/Documentation/rest-api-hello-revision.md
index a31f4ce..e0228d8 100644
--- a/src/main/resources/Documentation/rest-api-hello.md
+++ b/src/main/resources/Documentation/rest-api-hello-revision.md
@@ -1,13 +1,13 @@
-cookbook-plugin hello
-=====================
+cookbook-plugin hello-revision
+==============================
 
 NAME
 ----
-say-hello - Print our "Hello <user>!" message
+hello-revision - Print our "Hello <user>!" message
 
 SYNOPSIS
 --------
->     POST /changes/{change-id}/revisions/{revision-id}/cookbook-plugin~say-hello
+>     POST /changes/{change-id}/revisions/{revision-id}/cookbook-plugin~hello-revision
 
 DESCRIPTION
 -----------
@@ -31,7 +31,7 @@
 
 Have the server say Hello to the user
 
->     curl -X POST --digest --user joe:secret http://host:port/a/changes/1/revisions/1/cookbook~say-hello
+>     curl -X POST --digest --user joe:secret http://host:port/a/changes/1/revisions/1/cookbook~hello-revision
 > "Hello joe from change 1, patch set 1!"
 
 Have the server say Bonjour to François
@@ -39,7 +39,7 @@
 >     curl -X POST -H "Content-Type: application/json" \
 >       -d '{message: "François", french: true}' \
 >       --digest --user joe:secret \
->       http://host:port/a/changes/1/revisions/1/cookbook~say-hello
+>       http://host:port/a/changes/1/revisions/1/cookbook~hello-revision
 > "Bonjour François from change 1, patch set 1!"
 
 SEE ALSO
diff --git a/src/main/resources/static/hello.js b/src/main/resources/static/hello-project.js
similarity index 91%
rename from src/main/resources/static/hello.js
rename to src/main/resources/static/hello-project.js
index 91b082c..6a2f67d 100644
--- a/src/main/resources/static/hello.js
+++ b/src/main/resources/static/hello-project.js
@@ -13,7 +13,7 @@
 // limitations under the License.
 
 Gerrit.install(function(self) {
-    function onSayHello(c) {
+    function onSayHelloProject(c) {
       var f = c.textfield();
       var t = c.checkbox();
       var b = c.button('Say hello', {onclick: function(){
@@ -33,5 +33,5 @@
         b));
       f.focus();
     }
-    self.onAction('revision', 'say-hello', onSayHello);
+    self.onAction('project', 'hello-project', onSayHelloProject);
   });
diff --git a/src/main/resources/static/hello.js b/src/main/resources/static/hello-revision.js
similarity index 90%
copy from src/main/resources/static/hello.js
copy to src/main/resources/static/hello-revision.js
index 91b082c..22ae6cf 100644
--- a/src/main/resources/static/hello.js
+++ b/src/main/resources/static/hello-revision.js
@@ -13,7 +13,7 @@
 // limitations under the License.
 
 Gerrit.install(function(self) {
-    function onSayHello(c) {
+    function onSayHelloRevision(c) {
       var f = c.textfield();
       var t = c.checkbox();
       var b = c.button('Say hello', {onclick: function(){
@@ -33,5 +33,5 @@
         b));
       f.focus();
     }
-    self.onAction('revision', 'say-hello', onSayHello);
+    self.onAction('revision', 'hello-revision', onSayHelloRevision);
   });
