diff --git a/templates/console-full/.gitignore b/templates/console-full/.gitignore
index 8afd37e0b080dc2fe7b660b11a2f34256b86b54b..a76605e1aa0daff2183d993b09ad7b05584a4611 100644
--- a/templates/console-full/.gitignore
+++ b/templates/console-full/.gitignore
@@ -1,8 +1,17 @@
+# Files and directories created by pub
 .buildlog
-.DS_Store
-.idea
 .packages
+.project
 .pub/
 build/
-packages
-pubspec.lock
+**/packages/
+
+# Files created by dart2js
+*.js
+*.precompiled.js
+*.js.deps
+*.js.map
+*.info.json
+
+# Directory created by dartdoc
+doc/
diff --git a/templates/package-simple/.gitignore b/templates/package-simple/.gitignore
index 8afd37e0b080dc2fe7b660b11a2f34256b86b54b..71485cfe6e47184027207814b3fb596e66e63d38 100644
--- a/templates/package-simple/.gitignore
+++ b/templates/package-simple/.gitignore
@@ -1,8 +1,20 @@
+# Files and directories created by pub
 .buildlog
-.DS_Store
-.idea
 .packages
+.project
 .pub/
 build/
-packages
+**/packages/
+
+# Files created by dart2js
+*.js
+*.precompiled.js
+*.js.deps
+*.js.map
+*.info.json
+
+# Directory created by dartdoc
+doc/
+
+# This is a library package
 pubspec.lock
diff --git a/templates/server-appengine/.gitignore b/templates/server-appengine/.gitignore
index 4232a2f22906dd81c8008d50d9ca82ba0193d0fe..49ff95420630f1787a4ab99f854a07b3d6f82393 100644
--- a/templates/server-appengine/.gitignore
+++ b/templates/server-appengine/.gitignore
@@ -1,4 +1,17 @@
+# Files and directories created by pub
+.buildlog
 .packages
+.project
 .pub/
-packages
-pubspec.lock
+build/
+**/packages/
+
+# Files created by dart2js
+*.js
+*.precompiled.js
+*.js.deps
+*.js.map
+*.info.json
+
+# Directory created by dartdoc
+doc/
\ No newline at end of file
diff --git a/templates/server-shelf/.gitignore b/templates/server-shelf/.gitignore
index 8afd37e0b080dc2fe7b660b11a2f34256b86b54b..a76605e1aa0daff2183d993b09ad7b05584a4611 100644
--- a/templates/server-shelf/.gitignore
+++ b/templates/server-shelf/.gitignore
@@ -1,8 +1,17 @@
+# Files and directories created by pub
 .buildlog
-.DS_Store
-.idea
 .packages
+.project
 .pub/
 build/
-packages
-pubspec.lock
+**/packages/
+
+# Files created by dart2js
+*.js
+*.precompiled.js
+*.js.deps
+*.js.map
+*.info.json
+
+# Directory created by dartdoc
+doc/
diff --git a/templates/web-polymer/.gitignore b/templates/web-polymer/.gitignore
index 8afd37e0b080dc2fe7b660b11a2f34256b86b54b..a76605e1aa0daff2183d993b09ad7b05584a4611 100644
--- a/templates/web-polymer/.gitignore
+++ b/templates/web-polymer/.gitignore
@@ -1,8 +1,17 @@
+# Files and directories created by pub
 .buildlog
-.DS_Store
-.idea
 .packages
+.project
 .pub/
 build/
-packages
-pubspec.lock
+**/packages/
+
+# Files created by dart2js
+*.js
+*.precompiled.js
+*.js.deps
+*.js.map
+*.info.json
+
+# Directory created by dartdoc
+doc/
diff --git a/templates/web-simple/.gitignore b/templates/web-simple/.gitignore
index 8afd37e0b080dc2fe7b660b11a2f34256b86b54b..a76605e1aa0daff2183d993b09ad7b05584a4611 100644
--- a/templates/web-simple/.gitignore
+++ b/templates/web-simple/.gitignore
@@ -1,8 +1,17 @@
+# Files and directories created by pub
 .buildlog
-.DS_Store
-.idea
 .packages
+.project
 .pub/
 build/
-packages
-pubspec.lock
+**/packages/
+
+# Files created by dart2js
+*.js
+*.precompiled.js
+*.js.deps
+*.js.map
+*.info.json
+
+# Directory created by dartdoc
+doc/