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.md. 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.md. 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.
Pre-built releases are available for MacOS, Linux, and Windows. The following formats are available:
- MacOS -
dmg
,zip
- Linux -
deb
(Debian-based, e.g. Ubuntu),rpm
(RedHat-based, e.g. Fedora) - Windows -
exe
,nupkg
(Squirrel.Windows target)
Downloads: https://nomatic.dev/synectic
- Install Node.js.
- Install Yarn Package Manager.
- Clone this repository:
git clone git@github.com:EPICLab/synectic.git
- Move into the project root directory:
cd synectic
- Install project dependencies (
npm
/npx
can also be used, butyarn
is preferred):yarn install
- Build and run Synectic IDE:
yarn start
Follow the instructions in Install section to install dependencies. Once installed, all of the following commands can be used from within the project root directory:
yarn start
- build and executes Synectic from the application directory (when running, typers
to terminate and restart Synectic)yarn package
- packages the Synectic application into a platform specific format and puts the results in theout/
directoryyarn make
- make distributables for the Synectic application based on the forge configyarn publish
- attempts to make the Synectic application and then publish it to the publish targets defined in the forge configyarn lint
- runs static analysis for TypeScript and JavaScript code to conform to linting rulesyarn clean
- removes all previous build output, packaging, and distribution files (.webpack/
andout/
)
Installation is required; see CLI for installation instructions. The following commands can be used from within the project root directory:
yarn test
- executes Jest with React Testing Library
Installation is required; see CLI for installation instructions. The following commands can be used from within the project root directory:
yarn lint
- executes ESLint and evalutes againsteslint:recommended
,@typescript-eslint/recommended
,react-hooks/recommended
, andjsdoc/recommended
rules
Installation is required; see CLI for installation instructions. The following commands can be used from within the project root directory:
yarn release
- executesyarn version
plugin to initiate a major semver version bump, generate a new version.js usinggenversion
, stage and commit all relevant version files, generate a new annotated Git tag, and atomically push changes to the remote repository to trigger GitHub Actions.
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).
- Nicholas Nelson (@nelsonni)
- Andrea Tongsak (@andrealit)
- Jett Seale (@jettseale)
- Brandon Dring (@El_Dringo_Brannde)
- Marjan Adeli (@Marjan-Adeli)
- Hayden Coffey (@hcoffey1)
- Lauren Gastineau (@laurengastineau)
- Samarendra Hedaoo (@knightsamar)