Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR provides the initial implementation for the Gendo programming language with integration to a local BitNet server running an OpenAI‐compatible API.
- Implements a logging package with different verbosity levels.
- Integrates the OpenAI LLM interface and registers it within the runtime.
- Establishes the core engine to parse and process Gendo scripts and nodes.
Reviewed Changes
Copilot reviewed 18 out of 29 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| pkg/log/log.go | New logging functions for debug, info, and error reporting. |
| pkg/llm/openai/openai.go | OpenAI LLM integration including API key management and request handling. |
| pkg/llm/llm.go | Defines the LLM interface and registry. |
| internal/gendo/gendo_test.go | Unit tests for node processing ensuring expected prompt and input handling. |
| internal/gendo/gendo.go | Implements the script execution engine and processing chain for nodes. |
| examples/README.md | Documentation on script examples and configuration details. |
| cmd/gendo/main.go | Command-line entry point for running Gendo scripts. |
| README.md | Updated language specification for Gendo. |
| LICENSE | Updated license information. |
Files not reviewed (11)
- .cursor/rules/development-workflow.mdc: Language not supported
- .cursor/rules/llm-integration.mdc: Language not supported
- .cursor/rules/math-tool.mdc: Language not supported
- .cursor/rules/project-structure.mdc: Language not supported
- .cursor/rules/testing-requirements.mdc: Language not supported
- Makefile: Language not supported
- examples/calculator.gendo: Language not supported
- examples/file_processor.gendo: Language not supported
- examples/hello.gendo: Language not supported
- examples/random_story.gendo: Language not supported
- go.mod: Language not supported
gendo programming language.
gendo programming language.gendo programming language
gendo programming languagegendo: an LLM-based programming language
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull Request Overview
This pull request introduces the initial implementation of Gendo, an LLM-based programming language for orchestrating language model behavior through node-based pipelines. Key changes include a core LLM interface and registry (pkg/llm/llm.go), the main Gendo engine for processing nodes and script I/O (internal/gendo/gendo.go), and comprehensive tests and documentation updates that demonstrate tool integration and node chaining.
Reviewed Changes
Copilot reviewed 26 out of 38 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| pkg/llm/llm.go | Defines the LLM interface and registry for language model implementations. |
| internal/gendo/gendo_test.go | Introduces unit tests for node processing and prompt handling. |
| internal/gendo/gendo.go | Implements core processing logic for nodes, I/O, error handling, and routing. |
| examples/README.md | Provides example scripts and configuration guidelines for Gendo. |
| cmd/gendo/main.go | Adds the command-line interface to run Gendo scripts. |
| README.md | Updates the language specification and documentation for Gendo. |
| LICENSE | Updates the copyright information. |
| .github/copilot-instructions.md | Contains internal Copilot instructions for code review. |
Files not reviewed (12)
- .cursor/rules/development-workflow.mdc: Language not supported
- .cursor/rules/git-commit-practices.mdc: Language not supported
- .cursor/rules/llm-integration.mdc: Language not supported
- .cursor/rules/math-tool.mdc: Language not supported
- .cursor/rules/project-structure.mdc: Language not supported
- .cursor/rules/testing-requirements.mdc: Language not supported
- Makefile: Language not supported
- examples/calculator.gendo: Language not supported
- examples/file_processor.gendo: Language not supported
- examples/hello.gendo: Language not supported
- examples/random_story.gendo: Language not supported
- go.mod: Language not supported
| } | ||
|
|
||
| // Process through the chain of nodes defined in the script | ||
| for nodeID := 3; nodeID >= 1; nodeID-- { |
There was a problem hiding this comment.
[nitpick] Consider refactoring the hard-coded node ID loop into a more flexible mechanism (e.g., iterating based on dynamic node chaining order) to enhance scalability and maintainability.
This PR and branch is obsolete. Current work is done in the
gndrepository: https://github.com/hyperifyio/gnd/pullsThis pull request introduces the first working version of Gendo, a simple, node-based programming language designed to orchestrate LLM behavior through declarative flows. Gendo allows you to define how inputs are parsed, processed, and returned—entirely through structured prompt logic and tool integration.
✅ Included Example:
examples/calculator.gendoThis example demonstrates a minimal but fully functional program that turns natural language into a math result using an OpenAI-compatible LLM backend:
🧪 How to Run
This example runs with any OpenAI-compatible LLM backend. For local testing, we use Microsoft's BitNet:
Expected output:
🧠 Behind the Scenes
This Gendo program consists of:
3 < 0and1 < 3, with fallback to2!for all nodes🚀 BitNet Setup
You can run the BitNet LLM server locally like this:
No GPU is required. BitNet runs in approximately 2 GB of RAM.
Feedback is especially welcome on:
<and!)This release lays the foundation for building composable LLM-based applications with declarative logic.