diff --git a/roslibjs/roslibjs-tests.ts b/roslibjs/roslibjs-tests.ts
new file mode 100644
index 000000000..607973443
--- /dev/null
+++ b/roslibjs/roslibjs-tests.ts
@@ -0,0 +1,13 @@
+///
+
+var ros = new ROSLIB.Ros({url: "http://localhost:9090"});
+
+ros.on('error', function(event) {
+ //do nothing
+});
+
+var service = new ROSLIB.Service({
+ ros: ros,
+ name: '/service_name',
+ serviceType: 'service_type'
+});
\ No newline at end of file
diff --git a/roslibjs/roslibjs.d.ts b/roslibjs/roslibjs.d.ts
new file mode 100644
index 000000000..4614deb92
--- /dev/null
+++ b/roslibjs/roslibjs.d.ts
@@ -0,0 +1,24 @@
+// Type definitions for roslib.js
+// Project: http://wiki.ros.org/roslibjs
+// Definitions by: Stefan Profanter
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+declare module ROSLIB {
+ export class Ros {
+ constructor(data: {
+ url: string
+ });
+
+ on(eventName: string, callback: (event: any) => void);
+ connect(url: string);
+ }
+
+
+ export class Service {
+ constructor(data: {
+ ros: Ros,
+ name: string,
+ serviceType: string
+ });
+ }
+}
\ No newline at end of file