# Jentalk IDE
## ∃|>○« - Discover the Language of Collaboration

Welcome to the Jentalk IDE, an innovative development environment designed to facilitate the creation, visualization, and debugging of Jentalk language expressions. Jentalk, a language of symbols and modifiers, captures the essence of entities and their interactions in a unique and expressive way.

<img width="1191" alt="IMG_9549" src="https://github.com/jenkinsm13/jentalk/assets/100166407/8ee36557-6350-4783-a3e7-38087b4f2b75">

## Features
- **Syntax Highlighting**: Color-coded feedback for Jentalk primitives and modifiers to enhance readability and ease of understanding.
- **Auto-completion**: Intelligent suggestions for Jentalk tokens to streamline the coding process.
- **Debugging Tools**: Step through your Jentalk expressions with breakpoints, step-over, and execution tracing.
- **Visualization Components**: Generate graphical representations of reasoning graphs and trees of thought to visualize the structure of Jentalk expressions.
- **Customizable Editor**: A text editor that supports custom font sizes and styles tailored to your preferences.

## Installation
To set up the Jentalk IDE on your local machine, clone this repository and ensure you have Python installed. The IDE relies on Tkinter for the GUI, which is included in standard Python distributions.

```
git clone https://github.com/jenkinsm13/jentalk.git
cd Jentalk
```

## Usage
Run the Jentalk IDE by executing the main script:

```
python jentalk_ide.py
```

Once the IDE is running, you can create new Jentalk files, open existing ones, and save your work. Use the toolbar buttons or the menu options to manage your files.

## Keyboard Commands
The Jentalk IDE provides a set of keyboard commands to enhance the user experience:

- **Generate Tree of Thought Graph**: Press Ctrl+t to visualize the current text as a tree diagram.
- **Generate Reasoning Graph**: Press Ctrl+r to create a reasoning graph from the Jentalk expressions.
- **Set Breakpoint**: Use the command from the Tools menu to set a breakpoint for debugging.
- **Resume Execution**: Use the command from the Tools menu to resume execution from a breakpoint.

## Known Issues
- **Syntax Highlighting**: The syntax highlighting feature is not fully reliable and may not correctly highlight all Jentalk tokens.
- **Auto-completion**: The auto-completion functionality is currently not functioning as expected. It may not provide the correct suggestions or could cause errors.
- **PDF Labels**: The labels in the generated PDF outputs for the visualization graphs are not as detailed as they should be. The high-level categories are listed, while the intention is to list the exact token or its attached English modifier.

<img width="904" alt="IMG_6552" src="https://github.com/jenkinsm13/jentalk/assets/100166407/e7ca24c8-619c-4635-8874-b7adb4c31553">

We are actively working to address these issues and improve the IDE. If you encounter any bugs or have suggestions for enhancements, please open an issue on the GitHub repository.

# Using Jentalk Symbols and AI Integration
## Typing Jentalk Symbols
To type Jentalk symbols, you can use the online keyboard available at [Jentalk Keyboard](https://jentalk.org/keyboard.html). This tool allows you to input Jentalk symbols directly and then copy and paste them into the Jentalk IDE. This is particularly useful for composing complex expressions or for users who are not yet familiar with the Jentalk symbol set.

## Enhanced AI Integration in Jentalk IDE

The Jentalk IDE is on a trajectory to incorporate an AI chatbot directly within its environment, aiming to revolutionize the way users interact with the Jentalk language. The ultimate goal is to have an integrated AI that can assist with writing, reasoning, and visualizing Jentalk expressions in real-time. While this feature is under development, we have devised an interim method to harness the power of AI for Jentalk.

### Current Method for AI Utilization

For now, the best approach to integrate AI with Jentalk is to provide your chosen AI chatbot with the specialized starting prompt available in the `AI_STARTING_PROMPT.txt` file within the repository. This prompt is meticulously crafted to instruct the AI in the fundamentals of Jentalk and to guide it in constructing tree-of-thought logic with interconnected Jentalk symbols.

Here's how you can use AI with Jentalk:

1. **Teach the AI**: Present the starting prompt to the AI chatbot to familiarize it with Jentalk's unique symbolic language and the concept of tree-of-thought logic.
2. **Engage in Reasoning**: Request the AI to perform reasoning tasks using Jentalk symbols to link related ideas, forming a coherent tree of thought.
3. **Generate and Copy the Tree**: Once the AI outputs a tree of thought, copy this structured reasoning directly from the chatbot's response.
4. **Visualize in the IDE**: Paste the AI-generated tree into the Jentalk IDE and utilize its visualization tools to generate diagrams, allowing you to explore the intricate web of logic and relationships.

## Jentalk-Expert Chatbot

We are delighted to introduce the Jentalk-Expert chatbot, a specialized AI designed to assist with Jentalk language queries and to demonstrate the Tree of Thought reasoning process. This chatbot is an embodiment of the Jentalk IDE's principles, providing an interactive way to explore the language's capabilities and to receive guidance on using the IDE effectively.

### Engage with Jentalk-Expert

The Jentalk-Expert chatbot is available on Poe, a platform that allows for dynamic conversations with various AI models. You can have back-and-forth discussions with the Jentalk-Expert, ask questions about the Jentalk language, and get instant answers.

To experience a sample conversation with the Jentalk-Expert and see it in action, visit the shared conversation:

[Sample Chat with Jentalk-Expert](https://poe.com/s/K9HjeKOnjmLGKPPRQtPf)

### Access the Bot Directly

For a direct interaction with the Jentalk-Expert, you can visit the bot's page on Poe:

[Jentalk-Expert on Poe](https://poe.com/Jentalk-Expert)

### How to Use Jentalk-Expert

- **Initiate a Conversation**: Start by presenting a scenario or a problem you wish to explore using Jentalk symbols.
- **Ask for Examples**: Request specific examples of Tree of Thought reasoning to understand how Jentalk structures complex logic.
- **Explore Jentalk Syntax**: Inquire about the syntax and semantics of Jentalk to deepen your understanding of the language.

The Jentalk-Expert is an excellent resource for both beginners and experienced users of the Jentalk IDE, providing a unique opportunity to enhance your understanding of symbolic logic in an interactive manner.
### Future Vision

As we continue to develop the Jentalk IDE, we envision a seamless integration where the AI chatbot becomes an intrinsic part of the IDE's toolkit. This will enable users to:

- **Interact with the AI**: Directly ask questions and receive guidance in Jentalk within the IDE.
- **Automate Reasoning**: Use the AI to automatically generate trees of thought based on user input or code.
- **Visualize on the Fly**: Instantly visualize the AI's reasoning as interactive diagrams that can be manipulated and explored within the IDE.

The integration of AI into the Jentalk IDE is not just about enhancing functionality; it's about expanding the horizons of linguistic expression and computational reasoning. Stay tuned for updates as we bring this vision to life.

## Contributing
Contributions to the Jentalk IDE are welcome! Please read the CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

## License
This project is licensed under the MIT License - see the LICENSE.md file for details.

## Call to Action
Join us in exploring the profound implications of Jentalk language and in pushing the boundaries of linguistic expression within the realm of software development.
