Skip to content

Conversation

@isegal
Copy link

@isegal isegal commented Jan 18, 2026

This is a work-in-progress PR that moves src/core into a separate package called xterm_core that does not depend on Flutter. This allows using xterm in pure dart (headless mode). This is useful for client-server environments, it can also be used to develop terminal-based AI agents in dart.

Note: There are no logic changes in this PR. It merely moves all of the core files into the separate package, defines a new pubspec and updates the imports.

I have succesfully tested this on iOS with the example app.

Next steps: we can create a new repository for xterm_core, a pub.dev package and move the contents of xterm_core/ there. If you like, I can set up the new repository and transfer the ownership to you. Once the package is set up I can update this PR to add the dependency.

@xtyxtyx xtyxtyx self-assigned this Jan 21, 2026
@xtyxtyx
Copy link
Member

xtyxtyx commented Jan 21, 2026

Hi, thanks for the PR! For splitting the package, I recommend using pub workspaces.

With workspaces, we can have a single repo with a directory structure like this:

packages/
  xterm/
  xterm_core/

This approach avoids path dependencies while still allowing both packages to be developed together, without having to temporarily update import paths for local development.

If you have any questions or alternative ideas feel free to reply and I'd be glad to help~

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants