diff --git a/qml.wiki b/qml.wiki
new file mode 100644
index 0000000..8bb3594
--- /dev/null
+++ b/qml.wiki
@@ -0,0 +1,157 @@
+[[tags: egg]]
+[[toc:]]
+== qml
+A Chicken wrapper for DOtherSide
+
+=== Module: (qml core)
+A library to simplify usage of QML user interfaces from Chicken.
+
+== Enums
+
+=== Usage
+
+When a method requires an enum value, it can be handed to it using the enum's procedure plus the enum value keyword. Example:
+
+
+(qt-connection-type auto:)
+
+
+(qevent-loop-process-event-flag val)
+QEventLoopProcessEventFlag flags. Available values: process-all-events:, exclude-user-input-events:, process-exclude-socket-notifiers:, and process-all-events-wait-for-more-events:.
+
+(qt-connection-type val)
+QConnectionType flags. Available values: auto:, direct:, queued:, blocking:, and unique:.
+
+(qquick-view-resize-mode val)
+QQuickViewResizeMode flags. Available values: side-view-to-root-object:, and size-root-object-to-view:.
+
+(qitem-data-role val)
+QItemDataRole flags. Available values: display:, decoration:, edit:, tool-tip:, status-tip:, whats-this:, font:, text-alignment:, background:, foreground:, check-state:, accessible-text:, accessible-description:, size-hint:, and initial-sort-order:.
+
+(qt-orientation val)
+QOrientation flags. Available values: horizontal:, and vertical:.
+
+== Helpers
+
+(application-dir-path) → the application dir path
+(process-events (flag ))
+Runs the QML event processing once until all queued events are processed.
+
+(process-events-timed (flag ) (timed ))
+Runs the QML event processing until all queued events are processed or the timeout has run out.
+
+(gui-application-create)
+Initializes the QGuiApplication.
+
+(gui-application-exec)
+Executes the QGuiApplication. WARNING: This will block the Chicken process!
+
+(gui-application-quit)
+Quits the QGuiApplication.
+
+(gui-application-delete)
+Deletes the QGuiApplication.
+
+(qapplication-create)
+Initializes the QApplication.
+
+(qapplication-exec)
+Executes the QApplication. WARNING: This will block the Chicken process!
+
+(qapplication-quit)
+Quits the QApplication.
+
+(qapplication-delete)
+Deletes the QApplication.
+
+(qquickstyle-set-style style)
+Sets the QQuickStyle, see https://doc.qt.io/qt-5/qquickstyle.html#setStyle for details.
+
+(qquickstyle-set-fallback-style style)
+Sets the fallback style with QQuickStyle, see https://doc.qt.io/qt-5/qquickstyle.html#setFallbackStyle for details.
+
+== Classes
+
+===
+
+A base class you can't directly use yourself, but it provides facilities like a refcounter to delete the companion pointer once it is not needed anymore.
+
+===
+
+This class is used to pass and return value types to and from Qt, and offers a decent range of possible types.
+
+(new-QVariant) →
+Creates a blank QVariant with no content.
+
+(qvariant (val )) →
+Creates a QVariant with an integer.
+
+; val : The integer to store
+
+(qvariant (val )) →
+Creates a QVariant with a boolean.
+
+; val : The boolean to store
+
+(qvariant (val )) →
+Creates a QVariant with a string.
+
+; val : The string to store
+
+(qvariant (val )) →
+Creates a QVariant with a QObject.
+
+; val : The QObject to store
+
+(qvariant (val )) →
+Creates a QVariant with a float.
+
+; val : The float to store
+
+(set (qv ) (val )) → void
+Sets the QVariant value to the specified integer.
+
+; qv : The QVariant to modify
+; val : The integer to store
+
+(set (qv ) (val )) → void
+Sets the QVariant value to the specified boolean.
+
+; qv : The QVariant to modify
+; val : The booleant o store
+
+(set (qv ) (val )) → void
+Sets the QVariant value to the specified float.
+
+; qv : The QVariant to modify
+; val : The float to store
+
+(set (qv ) (val )) → void
+Sets the QVariant value to the specified string.
+
+; qv : The QVariant to modify
+; val : The string to store
+
+(set (qv ) (val )) → void
+Sets the QVariant value to the specified QObject.
+
+; qv : The QVariant to modify
+; val : The QObject to store
+
+(to (qv ) (target )) → target format
+Extracts the QVariant's value.
+
+; qv : The QVariant to read
+; target : The target format; available are integer:, boolean:, string:, flonum:, and qobject:
+
+(is-null? (qv )) → boolean
+Checks if the QVariant's value is null.
+
+; qv : The QVariant to check
+
+=== Author
+Daniel Ziltener
+
+=== License
+LGPLv3
+
diff --git a/scripts/gen-doc.sh b/scripts/gen-doc.sh
index 7a8e23b..5a22d53 100755
--- a/scripts/gen-doc.sh
+++ b/scripts/gen-doc.sh
@@ -1,2 +1,2 @@
#!/bin/sh
-chalk -m ./qml.core.scm > readme.wiki
+chalk -m ./qml.core.scm > qml.wiki