8000 GitHub - EPICLab/synectic at gh-workflows
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Cards-based IDE for research into context-aware, heuristic problem-solving development tools.

License

Notifications You must be signed in to change notification settings

EPICLab/synectic

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Synectic Integrated Development Environment

GitHub Workflow Status GitHub GitHub release (with filter)

Electron.js NodeJS Vite React Redux MUI

Synectics is a problem solving methodology that stimulates thought processes of which the subject may be unaware (Wikipedia). Synectic IDE is a fundamentally different type of IDE, focused on supporting a human-oriented view of problem solving in software development. Synectic promotes context-specific functionality that compliments and enhances human cognition, memory, and reasoning. As a research prototype, this software has no expressed warranty or guarantees and should be treated as experimental software.

The rationale and principles that guide the design of Synectic can be found in DESIGN. The complete set of programming languages, tools, bundlers, packagers, frameworks, and plugins included in Synectic, along with the configuration requirements, can be found in ARCHITECTURE. Synectic is released under an MIT license, which can be found in LICENSE.

Versioning within this project adheres to the rules of Semantic Versioning 2.0.0.

Usage

Prerequisites

Synectic requires the host system to have Git installed and available in order to natively execute git commands (version 2.5+ is recommended for git worktree support).

Installation

macOS Linux Windows

⚠️ Warning: Every operating system uses code signing to establish stable identities for programs that don't change when new versions are released, and to secure the software update process. Windows and macOS additionally use signing as a way to block malware.

This is experimental research software, and is not intended for use in production environments. As such, we are not able to purchase signing keys for Windows and macOS. This means that you will see a warning when installing Synectic on Windows and macOS. You will need to click through the warning to install Synectic. If you are not comfortable with this, please do not install Synectic.

See the Installation Guide for guidance on using unsigned builds of Synectic.

Development

Source Installation

To install Synectic from source, use the following steps:

  1. Install Node.js.

  2. Install Yarn Package Manager (npm/npx can also be used, but yarn is preferred).

  3. Clone this repository:

    git clone git@github.com:EPICLab/synectic.git
  4. Move into the project root directory:

    cd synectic
  5. Install project dependencies:

    yarn install
  6. Build and start Synectic:

    yarn start

CLI

Make sure to follow the Source Installation instructions before using the CLI. The following commands can be used from within the project root directory:

  • yarn start - The command will build the main process, preload scripts and renderer source code, and start the Electron app to preview.
  • yarn dev - The command will build the main process and preload scripts source code, and start a dev server for the renderer, and finally start the Electron app.
  • yarn build - The command will build the main process, preload scripts and renderer source code. Usually before packaging the Electron application, you need to execute this command.
  • yarn bundle - The command will execute the same steps as yarn build, but afterwards will call the Conveyor site task to generate the online update repository along with a static download page.
  • yarn format - The command formats all files supported by Prettier in the current directory and its subdirectories.
  • yarn clean - The command will delete the out directory, which is generated by the yarn start and yarn build commands.

Project Structure

We use the recommended project structure of the electron-vite project, which means that the following convention is used:

.
├──src
│  ├──main
│  │  ├──index.ts
│  │  └──...
│  ├──preload     # git native wrappers
│  │  ├──index.ts
│  │  └──...
│  └──renderer    # react components
│     ├──src
│     ├──index.html
│     └──...
├──electron.vite.config.ts
├──package.json
├──types
└──...

The only deviation is the inclusion of a top-level types directory, which contains TypeScript type definitions for the project. The src directory contains the source code of the project, and the electron.vite.config.ts file contains the configuration for the electron-vite bundler. The package.json file contains the project metadata and the scripts used to build and run the project.

When the yarn start or yarn build commands are executed, the out directory is generated. However, if the yarn dev command is executed there will be no out/renderer directory generated, and instead the src/renderer directory will be used directly (to allow fast HMR during development). The output structure will look like this:

.
├──out
│  ├──main
│  │  ├──index.js
│  │  └──...
│  ├──preload
│  │  ├──index.js
│  │  └──...
│  └──renderer
│     ├──assets/
│     ├──index.html
│     └──...
├──src
├──electron.vite.config.ts
├──package.json
├──types
└──...

Releases

Installation is required; see CLI for installation instructions. The following commands can be used from within the project root directory:

Contributors

We welcome contributions to this open source project on Github. When contributing, please follow the Contributing Code Guide. Also, any new contributors should include a commit that updates this README.md document to include your name and a link to your GitHub profile page (unless you wish to be anonymous).

Contributors1

Footnotes

  1. Contributor images made with contrib.rocks.

0