diff --git a/gulp-ng-annotate/gulp-ng-annotate-tests.ts b/gulp-ng-annotate/gulp-ng-annotate-tests.ts
new file mode 100644
index 000000000..ef6e69600
--- /dev/null
+++ b/gulp-ng-annotate/gulp-ng-annotate-tests.ts
@@ -0,0 +1,17 @@
+///
+///
+
+import ngAnnotate = require('gulp-ng-annotate');
+import gulp = require('gulp');
+
+gulp.task('default', function () {
+ return gulp.src('src/app.js')
+ .pipe(ngAnnotate())
+ .pipe(gulp.dest('dist'));
+});
+
+ngAnnotate({
+ remove: true,
+ add: true,
+ single_quotes: true
+});
diff --git a/gulp-ng-annotate/gulp-ng-annotate.d.ts b/gulp-ng-annotate/gulp-ng-annotate.d.ts
new file mode 100644
index 000000000..8f25aeebb
--- /dev/null
+++ b/gulp-ng-annotate/gulp-ng-annotate.d.ts
@@ -0,0 +1,61 @@
+// Type definitions for gulp-ng-annotate
+// Project: https://github.com/Kagami/gulp-ng-annotate
+// Definitions by: Qubo
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+///
+
+declare module "gulp-ng-annotate" {
+
+ namespace ngAnnotate {
+ interface NgAnnotate {
+ (option?: Option): NodeJS.ReadWriteStream;
+ }
+
+ //TODO: Should be on ng-annotate module
+ interface Option {
+ /**
+ * Add annotations where non-existing
+ */
+ add?: boolean;
+ /**
+ * Remove all existing annotations
+ */
+ remove?: boolean;
+ /**
+ * List optional matchers
+ */
+ list?: boolean;
+ /**
+ * Restrict matching further or to expand matching
+ */
+ regexp?: string;
+ /**
+ * Enable optional matcher
+ */
+ enable?: boolean;
+ /**
+ * Output '$scope' instead of "$scope".
+ */
+ single_quotes?: boolean;
+ /**
+ * Rename providers (services, factories, controllers, etc.) with a new name when declared and referenced through annotation
+ */
+ rename?: RenameOption[];
+ /**
+ * Load a user plugin with the provided path
+ */
+ plugin?: any[];
+ }
+
+ interface RenameOption {
+ from: string;
+ to: string;
+ }
+ }
+
+ var ngAnnotate: ngAnnotate.NgAnnotate;
+
+ export = ngAnnotate;
+}
+