Index: packages/plugin/README.md |
diff --git a/packages/plugin/README.md b/packages/plugin/README.md |
new file mode 100755 |
index 0000000000000000000000000000000000000000..3d5c0624e99310a130ad6ea86f89155cbe17063a |
--- /dev/null |
+++ b/packages/plugin/README.md |
@@ -0,0 +1,33 @@ |
+# plugin |
+ |
+Support for building plugins in Dart. |
+ |
+This project defines a simple framework for defining plugins. A _plugin_ is the |
+unit of extensibility for a host application. |
+ |
+An _extension point_ represents one way of extending the host application. For |
+example, a file viewer application might define an extension point to allow |
+viewers for new file types to be added to the application. |
+ |
+The host application must provide at least one extension point that plugins can |
+extend. Every extension point must have a unique name associated with it, and |
+should specify the type of the objects that will be accepted as extensions. In |
+the example above, the extension point might require that all extensions |
+implement the interface FileViewer. |
+ |
+Any plugin can define extension points that other plugins can extend. The host |
+application contributes its own extension point(s) by defining a plugin. |
+ |
+An _extension_ is an object that a plugin associates with a particular extension |
+point. To continue the example, a plugin that supports the viewing of .gif files |
+would create an instance of GifFileViewer, a class that implements FileViewer. |
+ |
+The framework in this package then connects the defined extensions with the |
+defined extension points so that the separately contributed plugins can |
+coordinate to accomplish the larger goal. |
+ |
+## Features and bugs |
+ |
+Please file feature requests and bugs at the [issue tracker][tracker]. |
+ |
+[tracker]: https://github.com/dart-lang/plugin/issues |