Replies: 5 comments
-
|
This actually make sense, since the project has moved from using the python and node runners to executables, it will be best to drop the node runner and just bundle the executable Perfectly making it synced and a source of truth without having to deal with multiple language dependencies |
Beta Was this translation helpful? Give feedback.
-
Target Architecture
npm BehaviorThe npm package will :
Node:
Python Packaging
Distribution
Both paths expose the same CLI behavior. |
Beta Was this translation helpful? Give feedback.
-
Migration Plan
Risks
Success Criteriawhat “done” means:
|
Beta Was this translation helpful? Give feedback.
-
Execution & Pipeline DesignThis system is not two implementations. It is one core system with two distribution layers. Python is the source of truth. Everything else depends on it. Core Principle
Execution Flow
Node does not transform output. It only forwards it. Binary Distribution PipelineThe system ships as a multi-target build: Python core packaged as a standalone executable per OS Node package acts as a launcher and installer Build pipeline:
Source of Truth
Command PipelineCommands are unified and passed directly: init
any future flags Flow:
Configuration PipelineSingle config system: Priority order:
Rules:
Provider & Model PipelinePython owns provider abstraction Supported providers:
Pipeline:
Local Execution Pipeline For local directories:
Node does not touch local paths beyond passing input. Failure Handling PipelineFailures are handled inside Python:
Node:
Release Pipeline Single version system:
CI pipeline:
Versioning & Compatibility
No independent versioning. Key Guarantees
Hard BoundaryNode is infrastructure. Python is product. No exceptions. |
Beta Was this translation helpful? Give feedback.
-
|
Decision finalized and implemented. Python is now the only core runtime. Node no longer contains any implementation logic. It acts strictly as a thin launcher that resolves and executes the bundled Python binary. The full execution pipeline is now:
Binary distribution is in place:
All core logic duplication between Node and Python has been removed. Versioning is unified across npm and PyPI. Docs, CLI behavior, and release pipeline have been updated to reflect this architecture. Legacy Node runtime has been removed from execution and isolated in This is no longer a dual-runtime system. Python is the product. Closes #208 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
ExplainThisRepo is currently implemented and distributed through two ecosystems:
Python CLI →
explain_this_repo/Node.js CLI →
node_version/Both implement overlapping functionality and are maintained in ecosystem feature parity.
Current Structure
"explain_this_repo/"→ Python implementation"node_version/"→ TypeScript implementationCurrent Behavior
Features are implemented in both ecosystems
Problem
Maintaining two implementations introduces:
Direction
The Python implementation will be treated as the source of truth and will be the core implementation
The Node.js implementation will be refactored to act as a distribution layer for npm users, without duplicating core logic.
Purpose of this discussion
This discussion documents the current architecture and the planned direction of the project.
Feedback on potential risks or edge cases is welcome.
Beta Was this translation helpful? Give feedback.
All reactions