MCPcopy Index your code
hub / github.com/VemtoOrg/vemto2

github.com/VemtoOrg/vemto2 @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
3,339 symbols 7,475 edges 586 files 205 documented · 6% updated 6mo ago★ 3442 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Welcome to Vemto ༄

Vemto is a desktop application focused on generating Laravel code, with several important features such as: editing and synchronizing the data schema (tables and models), generating migrations, models, factories, seeders, CRUD, API, and much more.

It also features an intelligent Schema editor that automatically creates tables and columns for relationships and detects the correct type of table columns.

Vemto showcase

▶️ WATCH - Vemto showcase video on Youtube

I'm delighted to announce that Vemto is now a fully open-source project, published under the MIT license.

A few months ago, I (Tiago Rodrigues, creator of Vemto), wrote a blog post explaining in detail why Vemto would become open-source.

At the time, I wasn't sure which license to use, but after talking to countless users and customers, I ended up opting for the MIT license.

It took me a while to prepare this repository, for personal reasons, but I finally managed to increase the number of tests to over 400, covering at least the most critical parts of the application, and I will continue adding more tests overtime.

I also managed to finish writing much of the internal development documentation.

I hope you enjoy it, and if you have any questions, please email me at contact@vemto.app.

By Tiago Rodrigues

Contact

  • contact@vemto.app
  • Discord Server
  • https://x.com/VemtoApp
  • https://vemto.app

How to install

I recommend using yarn to compile Vemto. So, the first step is to install all the dependencies:

yarn install

After that, install PHP Box (used to compile the PHP components):

composer global require humbug/box

Make sure to add Composer's /bin directory to your PATH so you can run Box globally (this is necessary to compile Vemto).

After that, access each of the PHP tools in src/php/apps and run the command:

composer install

inside their directories.

NOTE: It would be nice to automate this third step when running the development environment or when compiling the application in the future.

Finally, run Vemto in development mode with:

yarn dev:fast

Developer Documentation

Click here to view documentation on architecture, code style, and more.

How to contribute?

Currently, you can contribute in several ways.

  • Writing tests for classes that don't yet have them.
  • Fixing bugs you find.
  • Resolving open issues.
  • Improving our docs
  • Adding support for improvements like Filament 4, the new Laravel 12+ FrontEnd templates, etc.
  • If you have ideas for new features, please open a discussion here so we can discuss them.

The idea is that Vemto's next steps will focus on things like:

  • Writing documentation on how to use Vemto. Currently, we only have v1 documentation on the website.
  • Fixing most of the bugs, making it work with the vast majority of Laravel projects.
  • Implementing plugin support, as was the case in v1.
  • Adding support for more AI features, like generating a schema from a text description, etc.
  • Focusing on what Vemto is best at: the Schema Editor.

License

Vemto's source code is licensed under the MIT license.

Do I still need a license key?

Some features are only accessible to license keys holders, such as:

  • Ready-made builds
  • Auto-updates
  • Features that use Vemto's servers to function (such as AI, etc.)

However, license keys sales are currently paused, and only current license holders can access them.

If you have any questions, please contact me on contact@vemto.app.

What does Vemto mean?

The word Vemto comes from my native language (Portuguese), from the original Vento, which means wind. I named the software this way because of its main objective, which has always been speed in the development of Laravel applications.

Extension points exported contracts — how you extend this code

Component (Interface)
(no doc) [14 implementers]
src/common/models/page/components/interfaces/Component.ts
Error (Interface)
(no doc)
src/renderer/stores/useErrorsStore.ts
SchemaModel (Interface)
(no doc) [5 implementers]
src/common/models/composition/SchemaModel.ts
LicenseData (Interface)
(no doc)
src/renderer/services/LicenseHandler.ts
ProjectCodeGenerationSettings (Interface)
(no doc)
src/common/models/Project.ts
ProjectCreatorData (Interface)
(no doc)
src/renderer/services/project/ProjectCreator.ts
ScheduledSchemaCheck (Interface)
(no doc)
src/common/models/Project.ts
Window (Interface)
(no doc)
src/renderer/typings/electron.d.ts

Core symbols most depended-on inside this repo

createModel
called by 234
tests/base/TestHelper.js
createColumn
called by 224
tests/base/TestHelper.js
join
called by 170
src/common/util/PathUtil.ts
filter
called by 135
src/php/apps/schema-reader/classes/MigrationFilter.php
log
called by 124
src/php/common/Vemto.php
createTable
called by 112
tests/base/TestHelper.js
getProject
called by 99
tests/base/TestHelper.js
setRelationship
called by 91
src/common/models/services/relationships/Calculators/CalculateMorphRelationshipsData.ts

Shape

Method 2,372
Class 622
Function 296
Interface 29
Enum 20

Languages

TypeScript84%
PHP16%

Modules by API surface

src/common/models/Project.ts141 symbols
src/common/models/Table.ts117 symbols
src/common/models/Model.ts108 symbols
src/common/models/crud/Crud.ts93 symbols
src/common/models/Column.ts85 symbols
src/common/models/crud/Input.ts69 symbols
src/common/models/Relationship.ts59 symbols
src/common/models/Index.ts42 symbols
src/main/base/FileSystem.ts37 symbols
tests/base/TestHelper.js32 symbols
src/renderer/stores/useSchemaStore.ts29 symbols
src/common/models/services/relationships/Calculators/CalculateManyToManyRelationshipsData.ts29 symbols

Datastores touched

DB_DATABASEDatabase · 1 repos
REDIS_CACHE_DBDatabase · 1 repos
REDIS_DBDatabase · 1 repos
DB_CONNECTIONDatabase · 1 repos

For agents

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

⬇ download graph artifact