iTranslated by AI
Developing a Movable Type Plugin Using Devin AI's DeepWiki
This is my first post in a long time, not since the Advent Calendar.
My main work has been busy, so I haven't been able to output much, but things have finally settled down, so I spent my Golden Week verifying things and writing this blog post. (Though recently, AI has been writing my blog posts too, which is a huge help.)
I've started verifying autonomous AI software engineers and such, so I'm leaving this as a memo.
I've recently started using the autonomous AI software engineer "Devin AI's" DeepWiki to generate documentation for Movable Type, and I also tried using "Deep Research".
Movable Type has long been one of my favorite CMSs, but due to the hurdle of the Perl language and the fact that most of the information is outdated, the only way to create plugins was to read the source code of the core system itself.
So, I used the trending Devin's DeepWiki to have Devin generate documentation from the Movable Type core source code, pulled from the official GitHub repository!
This made the deep investigation of the source code overwhelmingly easier!

Until now, the only way to figure out what kind of architecture it had, what parts were understood, and what was added after updates, was to discover them through the source code.
Thanks to the creation of this Wiki, we now have architectural diagrams and can visualize dependencies, which will be useful for studying and research when creating plugins.
What is DeepWiki?
DeepWiki is a tool that analyzes a GitHub repository's codebase and automatically generates documentation. It visualizes the structure and dependencies of the code, helping developers understand it.
Since it is open source, it seems it can also be run locally.
How to use it
1. Preparing the repository
First, I specified the Movable Type GitHub repository and generated documentation using DeepWiki.
This resulted in the automatic generation of documents such as:
- System Overview
- Component Architecture
- Dependency Diagrams
- API Reference
The process is very simple, and since I was the very first to generate it, the documentation for Movable Type is already created.
Other repositories can also have documentation generated for free using the same method, so you can generate it for public, undocumented libraries.
Paid plans are required for private repositories.
- Access a specific repository: https://github.com/movabletype/movabletype
- Just change
github.comtodeepwiki. - If someone has already generated documentation, you can access it.
- If there is no documentation, enter the address and have it Indexed and crawled.
Documentation will be generated in a few minutes.

# Indexing in Progress
The indexing process typically takes 2-10 minutes to complete
Your repository is queued for indexing. You are number 545 in the queue.
You will have to wait for the Indexing crawl.
Depending on the time of day, it might take a few hours.
2. Utilizing Deep Research
Using Deep Research, you can analyze patterns and design techniques of existing Movable Type plugins.
This time, I used Deep Research to try and create a Movable Type plugin.
- Understanding the basic structure of a plugin
- Grasping common implementation patterns
- Discovering best practices
By using Deep Research, it can also teach you how to create Movable Type plugins.
When I asked in natural language, "I want to create a custom content field plugin for Movable Type," it taught me how to do it.
Deep Research performs static analysis based on the actual source code, so it can tell you what subroutines exist, including how to create plugins.
Whether you are a beginner or someone who has been making plugins for a while, you can immediately look up available functions.
3. What I created this time
For this test, I had it create a plugin with the prompt: "I want to create a custom plugin for content fields, specifically a calendar plugin with a period-based field."
- I asked, "I want to create a custom plugin for content fields, specifically a calendar plugin with a period-based field."
- The method to create it was generated.
- I copied and pasted the created code locally and placed the files.
- Checked operation.
- Repeated the process of asking questions again for errors or parts that didn't work well.
That was the general flow I followed.
At first, it looked good and seemed like it would work, but in reality, it didn't function correctly.
While Deep Research alone cannot resolve all the rules, it provided a base, allowing me to build a simple plugin in about an hour.


Generating the created plugin with Deep Wiki as well
I also used Deep Wiki to generate documentation for the repository of the plugin I created.
This helps reduce the time and effort spent on manually writing a README.
At the time of this article's publication, it was still generating.
What I learned
- DeepWiki significantly streamlines the understanding of complex codebases.
- Analysis of existing code through Deep Research is essential for high-quality plugin development.
- Automatically generated documentation is extremely useful as a development guideline.
Summary
I found that the combination of DeepWiki and Deep Research is an extremely powerful tool for plugin development on legacy systems like Movable Type.
By utilizing these tools, the following issues can be addressed:
- Reduced development time
- Improved code quality
- Enhanced documentation
- Document updates for changed code
With current technology, it cannot detect updates to the repository, so it seems necessary to generate it each time.
However, I feel that the opportunities to utilize Devin's DeepWiki for documentation of new products will continue to increase.
Discussion