Logic Simulator
This is a clone of 'Digital Logic Sim' from Sebastian Lague. But it's in command line.
What this will do
This is all about Logic Gate. It is possible to make all logic gates with AND gate and NOT gate. So this program will give these gates to user initially. Then the user will combine these and this program will show how user's combination will be runned.
CRUD System
To seperate & save projects, I will use filesystem. Which is abbriviated as "CRUD(Create, Read, Update, Delete)" Create project, Read project(print project status), Update project(add or delete entity(a wire or a input, output or a chip, etc.), Change Project Status(e.g. project name)), Delete project.
Command System
I will make this as same as Terminal or Shell or Command Line. Which has a format ‘command parameter...’ . Creating, reading, updating, deleting, and running project can be done here on surface area(I will call this 'surface area'). Surface area has to be differed with update area(explained below).
Updating Project(vim-like)
Even though Creating, reading, and deleting project are done on surface area, only updating project can be done in internal concole just for updating project.(called 'update area') Of course I don't know how to make vim-like editor, BUT I can make it more convenient. It'll look like this:
[project name] [version]
[input ports&name]
[[connect stat] [circuit name] [outputs&name]] ...
...
[outputs&connect stat]
:[command type]