diff --git a/runtime/spell/sw/main.aap b/runtime/spell/sw/main.aap
new file mode 100644
index 0000000..ef47585
--- /dev/null
+++ b/runtime/spell/sw/main.aap
@@ -0,0 +1,79 @@
+# Aap recipe for Kiswahili Vim spell files.
+
+# Use a freshly compiled Vim if it exists.
+@if os.path.exists('../../../src/vim'):
+    VIM = ../../../src/vim
+@else:
+    :progsearch VIM vim
+
+SPELLDIR = ..
+FILES    = sw_KE.aff sw_KE.dic
+
+all: $SPELLDIR/sw.latin1.spl $SPELLDIR/sw.utf-8.spl ../README_sw.txt
+
+# I don't have a Kiswahili locale, use the Dutch one instead.
+$SPELLDIR/sw.latin1.spl : $FILES
+        :sys env LANG=nl_NL.ISO8859-1
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/sw sw_KE" -c q
+
+$SPELLDIR/sw.utf-8.spl : $FILES
+        :sys env LANG=nl_NL.UTF-8
+		$VIM -u NONE -e -c "mkspell! $SPELLDIR/sw sw_KE" -c q
+
+../README_sw.txt : README_sw_KE.txt
+        :copy $source $target
+
+#
+# Fetching the files from OpenOffice.org.
+#
+OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries
+:attr {fetch = $OODIR/%file%} sw_KE.zip
+
+# The files don't depend on the .zip file so that we can delete it.
+# Only download the zip file if the targets don't exist.
+sw_KE.aff sw_KE.dic: {buildcheck=}
+        :assertpkg unzip patch
+        :fetch sw_KE.zip
+        :sys $UNZIP sw_KE.zip
+        :delete sw_KE.zip
+        @if not os.path.exists('sw_KE.orig.aff'):
+            :copy sw_KE.aff sw_KE.orig.aff
+        @if not os.path.exists('sw_KE.orig.dic'):
+            :copy sw_KE.dic sw_KE.orig.dic
+        @if os.path.exists('sw_KE.diff'):
+            :sys patch <sw_KE.diff
+
+
+# Generate diff files, so that others can get the OpenOffice files and apply
+# the diffs to get the Vim versions.
+
+diff:
+        :assertpkg diff
+        :sys {force} diff -a -C 1 sw_KE.orig.aff sw_KE.aff >sw_KE.diff
+        :sys {force} diff -a -C 1 sw_KE.orig.dic sw_KE.dic >>sw_KE.diff
+
+
+# Check for updated OpenOffice spell files.  When there are changes the
+# ".new.aff" and ".new.dic" files are left behind for manual inspection.
+
+check:
+        :assertpkg unzip diff
+        :fetch sw_KE.zip
+        :mkdir tmp
+        :cd tmp
+        @try:
+            @import stat
+            :sys $UNZIP ../sw_KE.zip
+            :sys {force} diff ../sw_KE.orig.aff sw_KE.aff >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy sw_KE.aff ../sw_KE.new.aff
+            :sys {force} diff ../sw_KE.orig.dic sw_KE.dic >d
+            @if os.stat('d')[stat.ST_SIZE] > 0:
+                :copy sw_KE.dic ../sw_KE.new.dic
+        @finally:
+            :cd ..
+            :delete {r}{f}{q} tmp
+            :delete sw_KE.zip
+
+
+# vim: set sts=4 sw=4 :
