MCPcopy Index your code
hub / github.com/Autonomy-Logic/openplc-editor

github.com/Autonomy-Logic/openplc-editor @v4.2.8

Chat with this repo
repository ↗ · DeepWiki ↗ · release v4.2.8 ↗ · + Follow
8,581 symbols 19,416 edges 1,435 files 1,213 documented · 14% updated 1d agov4.2.8 · 2026-07-04★ 32344 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Open PLC Editor - IDE

GitHub stars GitHub issues

draft-cover

Running a preview version

In order to run the development version, clone the repository, and install dependencies via npm, you need network access.

You'll need the following tools:

Step by step

  • Clone the repository locally and go to the project folder.
git clone https://github.com/Autonomy-Logic/openplc-editor.git

cd openplc-editor
  • Install the dependencies
npm install
  • Run the development script
npm run dev

Releasing a New Version

The project uses GitHub Actions to automatically build and release new versions for all supported platforms (macOS, Windows, and Linux) in both x64 and ARM64 architectures.

Creating a Release

To create a new release, simply create and push a new tag with the version number:

git tag v4.2.0
git push origin v4.2.0

This will automatically: 1. Build the application for all platforms (macOS, Windows, Linux) and architectures (x64, ARM64) 2. Sign and notarize the macOS builds 3. Create a GitHub Release with all artifacts attached 4. Generate release notes based on commits since the last release

Version Naming

  • Use semantic versioning: vMAJOR.MINOR.PATCH (e.g., v4.2.0)
  • For pre-releases, add a suffix: v4.2.0-beta, v4.2.0-alpha, or v4.2.0-rc1
  • Pre-release tags will be marked as pre-releases on GitHub

Manual Workflow Trigger

You can also trigger the build workflow manually from the GitHub Actions tab without creating a release. This is useful for testing builds:

  1. Go to Actions > Build and Release
  2. Click "Run workflow"
  3. Optionally specify a version number
  4. Click "Run workflow"

Note: Manual triggers will build all artifacts but won't create a GitHub Release (releases are only created when pushing a tag).

Documentation

Please go to the repository wiki page to get instruction about the project.

Project Management

Go to project management page to see the current state of the project.

Issues

Go to issues page to view the current state of issues in the project.

Extension points exported contracts — how you extend this code

DebugTransport (Interface)
(no doc) [7 implementers]
src/backend/shared/debug/types.ts
IpcProjectData (Interface)
Shape of the project data expected by the editor's IPC bridge.
src/middleware/adapters/editor/compiler-adapter.ts
SdoObjectGroup (Interface)
* A group of SDO entries sharing the same parent object (index + objectName).
src/frontend/components/_features/[workspace]/editor/device/ethercat/components/sdo-parameters-table.tsx
DarwinMenuItemConstructorOptions (Interface)
* Wip: Interface for mac machines menu.
src/main/menu.ts
CustomTypeOptions (Interface)
(no doc)
src/i18next.d.ts
IProjectRecentHistoryEntry (Interface)
(no doc)
src/types/IPC/project-service/project-recent-history.ts
LayerRule (Interface)
(no doc)
src/__architecture__/validate.ts
ToolEntry (Interface)
(no doc)
scripts/download-binaries.ts

Core symbols most depended-on inside this repo

push
called by 918
resources/sources/avr-libstdcpp/include/bits/stl_queue.h
find
called by 761
resources/sources/avr-libstdcpp/include/bits/stl_set.h
move
called by 673
resources/sources/avr-libstdcpp/include/bits/stl_algobase.h
cn
called by 545
src/frontend/utils/cn.ts
get
called by 326
resources/sources/avr-libstdcpp/include/bits/unique_ptr.h
end
called by 228
resources/sources/avr-libstdcpp/include/bits/range_access.h
begin
called by 187
resources/sources/avr-libstdcpp/include/bits/range_access.h
slice
called by 176
resources/sources/avr-libstdcpp/include/bits/slice_array.h

Shape

Function 4,339
Method 2,451
Class 1,149
Interface 629
Enum 13

Languages

TypeScript51%
C++47%
C2%
Python1%

Modules by API surface

resources/sources/avr-libstdcpp/include/bits/random.h368 symbols
resources/sources/avr-libstdcpp/include/bits/ranges_algo.h163 symbols
resources/sources/avr-libstdcpp/include/bits/hashtable_policy.h154 symbols
resources/sources/avr-libstdcpp/include/bits/valarray_before.h150 symbols
resources/sources/avr-libstdcpp/include/bits/atomic_base.h149 symbols
resources/sources/avr-libstdcpp/include/bits/stl_function.h146 symbols
resources/sources/avr-libstdcpp/include/bits/stl_algo.h139 symbols
resources/sources/avr-libstdcpp/include/bits/boost_concept_check.h126 symbols
resources/sources/avr-libstdcpp/include/bits/stl_tree.h118 symbols
resources/sources/avr-libstdcpp/include/bits/stl_iterator.h103 symbols
src/middleware/shared/ports/types.ts89 symbols
resources/sources/avr-libstdcpp/include/bits/stl_bvector.h85 symbols

For agents

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

⬇ download graph artifact

Ask about this repo answers extend the page