diff --git a/lib/kamerling/repos.rb b/lib/kamerling/repos.rb
index <HASH>..<HASH> 100644
--- a/lib/kamerling/repos.rb
+++ b/lib/kamerling/repos.rb
@@ -8,6 +8,7 @@ module Kamerling class Repos
 
     def << object
       repos[object.class] << object
+      self
     end
 
     def [] klass
diff --git a/spec/kamerling/repos_spec.rb b/spec/kamerling/repos_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/kamerling/repos_spec.rb
+++ b/spec/kamerling/repos_spec.rb
@@ -7,6 +7,13 @@ module Kamerling describe Repos do
       Repos.<< object = Object.new
       repo.must_have_received :<<, [object]
     end
+
+    it 'can be chained' do
+      Repos.repos = { String => str = fake(:repo), Symbol => sym = fake(:repo) }
+      Repos << 'str' << :sym
+      str.must_have_received :<<, ['str']
+      sym.must_have_received :<<, [:sym]
+    end
   end
 
   describe '.[]' do
Repos.<<: allow chaining