Skip to content

ForkBench/Inseki-Core

Repository files navigation

logo

Inseki - Project Discovery Tool

📗 Table of Contents

📖 Inseki

Inseki is an Open-Source tool designed for discovering and analyzing project structures within a disk. It scans directories and represents the structure of each project in JSON format.

👷‍ It is currently under development and is not yet ready for production use.

This project is now working ! You can use it to scan your disk and see the results.

🛠 Built With

Tech Stack

The project is built using the following technology:

Back-End

(back to top)

Key Features

  • 🚀 Scan directories to discover project structures
  • 🗂 Represent project structures in JSON format

(back to top)

💻 Getting Started

To get a local copy up and running, follow these steps.

Prerequisites

In order to run this project you need:

Setup

Clone this repository to your desired folder:

  cd my-folder
  git clone [email protected]:ForkBench/Inseki-Core.git

Build

Build the project using the following command:

  go build

To run it, execute the following command:

  ./inseki-core

You'll have to put structures into ~/.inseki directory to see the results.

Development

To run the project, execute the following command:

  go run .

(back to top)

Example

A config :

File located at : ~/.inseki/.insekiignore to avoid some folders.

node_modules
.bun
.local
.git
.idea
.vscode
pkg
libraries

File located at : ~/.inseki/structures/C-programming/projects.json to define some C projects.

{
    "name": "*",
    "isDirectory": true,
    "children": [
        {
            "name": "src",
            "isDirectory": true,
            "children": [
                {
                    "name": "*.c",
                    "isDirectory": false
                }
            ]
        },
        {
            "name": "lib",
            "isDirectory": true,
            "children": [
                {
                    "name": "*.h",
                    "isDirectory": false
                }
            ]
        }
    ]
}

Example of output :

$ go run .
Number of structures analysed: 3
Number of files analysed: 13739
Filepath: .../courses/S1/C/TP-Temp/TP1 - Outils/Part2/teZZt.h, Structure: lab.json
Filepath: .../revisions-c/Exercice/Tri insertion/main.h, Structure: lab.json
Filepath: .../revisions-c/Exercice/Tri insertion/main.c, Structure: lab.json
Filepath: .../courses/S1/C/TP-Temp/TP1 - Outils/Part2/exemple.c, Structure: lab.json
...

(back to top)

🔭 Future and Current Features

  • Add a structure library for common project types
  • Add go routines for faster scanning
  • Add a way to ignore some folders
  • Add advanced filtering options for project discovery
  • Implement a graphical interface for easier interaction
  • Remove multiple scan of files (if a project is composed with n files, it will scan and validate n times)
  • Test more the project

(back to top)

📝 License

This project is GNU licensed.

(back to top)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published