MCPcopy Index your code
hub / github.com/culvertsoft/mgen

github.com/culvertsoft/mgen @0.2.5

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.2.5 ↗ · + Follow
1,604 symbols 3,634 edges 194 files 909 documented · 57%

Browse by type

Functions 1,402 Types & classes 202
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

MGen

You've ended up at the MGen github repository! This is where you can download the MGen source and learn how to build it.

Click here instead to find out what MGen is and how to use it


Building MGen

If you're not satisfied with downloading pre-built libraries, this section briefly explains how you build MGen from source.

Build Requirements (Build): * Java JDK >= 1.7 * Python 2.x>=2.7 or 3 * SBT >= 1.3.5 * Doit

Build Requirements (Test): * same as above + * CMAKE >= 2.8 * MSVC>=2005 or g++>=4 or Clang. (should work with any c++98 compiler) * msbuild (if using MSVC)

Build Instructions: * clone the repo * 'doit target' or 'doit list'

Output will be placed inside each mgen-component's target/ directory (e.g. mgen-api/target/).

License

MGen is released under the MIT license.

Extension points exported contracts — how you extend this code

FieldVisitor (Interface)
Base interface of all MGen object visitors. It is used to visit MGen objects and their fields. All generated MGen classe [4 …
mgen-javalib/src/main/java/se/culvertsoft/mgen/javapack/serialization/FieldVisitor.java
Parser (Interface)
Interface for all IDL parsers. You can either use one of the parsers supplied with mgen or write your own that implement [4 …
mgen-api/src/main/java/se/culvertsoft/mgen/api/plugins/Parser.java
Reader (Interface)
Interface for all MGen object readers. This interface is use to facilitate "reverse visitation" of an object. That is vi [3 …
mgen-javalib/src/main/java/se/culvertsoft/mgen/javapack/serialization/Reader.java
Generator (Interface)
Interface for all source code generators. Users can derive from this class to generate code in their own language and/or [2 …
mgen-api/src/main/java/se/culvertsoft/mgen/api/plugins/Generator.java
MGenEnum (Interface)
Interface that all MGen generated enums implement. Used primarily by readers and writers for serialization.
mgen-javalib/src/main/java/se/culvertsoft/mgen/javapack/classes/MGenEnum.java
BinaryTypeTag (Interface)
Single byte type tags used by the MGen BinaryWriter and BinaryReader for indicating what data to write/read. One tag exi
mgen-api/src/main/java/se/culvertsoft/mgen/api/model/BinaryTypeTag.java
Ctor (Interface)
An interface that represents a way to default construct an instance of an MGen class. Registered in class registries to
mgen-javalib/src/main/java/se/culvertsoft/mgen/javapack/classes/Ctor.java

Core symbols most depended-on inside this repo

Shape

Method 1,141
Function 261
Class 185
Enum 10
Interface 7

Languages

Java50%
C++37%
TypeScript9%
Python4%

Modules by API surface

mgen-cpplib/src/main/cpp/mgen/ext/rapidjson/document.h65 symbols
mgen-javalib/src/main/java/se/culvertsoft/mgen/javapack/serialization/BinaryReader.java60 symbols
mgen-javalib/src/main/java/se/culvertsoft/mgen/javapack/serialization/BinaryWriter.java57 symbols
mgen-javalib/src/main/java/se/culvertsoft/mgen/javapack/serialization/JsonReader.java50 symbols
mgen-cpplib/src/test/cpp/include/tut/tut_exception.hpp44 symbols
mgen-cpplib/src/main/cpp/mgen/ext/rapidjson/rapidjson.h39 symbols
mgen-javalib/src/main/java/se/culvertsoft/mgen/javapack/serialization/JsonWriter.java33 symbols
buildutil.py33 symbols
mgen-cpplib/src/test/cpp/include/tut/tut.hpp32 symbols
mgen-cpplib/src/main/cpp/mgen/ext/rapidjson/reader.h32 symbols
mgen-api/src/main/java/se/culvertsoft/mgen/api/model/ClassType.java32 symbols
mgen-cpplib/src/test/cpp/include/tut/tut_runner.hpp29 symbols

For agents

$ claude mcp add mgen \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page