How roktas/ellipses works
Ellipses is a static code-reuse tool: users configure provider repositories of named symbols, put inclusion directives in client files, then compile, update, or decompile those files. The client parses and expands directives, tracks generated content in a lock file, and writes changed sources; the server resolves symbol dependencies and reads their payload files. The graph also preserves server dump/validation and client validation surfaces. Relationships are limited to excerpted calls or README-documented behavior; unsampled CLI wiring is not inferred.
Main entry points: application.rb Client application · client/repository.rb Client repository · server/repository.rb Server repository · source.rb Client source
Components 19
Client workflow
- Client CLI
lib/ellipses/client/cli.rb - Client application
lib/ellipses/client/application.rb - Client source
lib/ellipses/client/source.rb - Client repository
lib/ellipses/client/repository.rb - Lock metadata
lib/ellipses/client/meta.rb - Lock file
lib/ellipses/client/meta_file.rb - Edit commands
lib/ellipses/client/commands
Provider repositories
- Provider source files
- Server CLI
lib/ellipses/server/cli.rb - Server application
lib/ellipses/server/application.rb - Server repository
lib/ellipses/server/repository.rb - Symbol resolver
lib/ellipses/server/symbols.rb - Provider metadata
lib/ellipses/server/meta.rb - Provider config file
lib/ellipses/server/meta_file.rb
Shared processing
- Directive parser
lib/ellipses/client/parser.rb - Directive model
lib/ellipses/client/directive.rb - Line processing
lib/ellipses/client/lines.rb - Shared support
lib/ellipses/support
Other components
- Developer
Connections 28
- Developer → Client CLI: runs commands
- Client CLI → Client application: invokes workflow
- Client application → Client repository: registers sources
lib/ellipses/client/application.rb - Client application → Client repository: recompiles sources
lib/ellipses/client/application.rb - Client application → Client repository: saves state
lib/ellipses/client/application.rb - Client application → Lock file: writes lock file
lib/ellipses/client/application.rb - Client repository → Client source: loads sources
lib/ellipses/client/repository.rb - Client source → Directive parser: parses directives
- Directive parser → Directive model: creates directives
- Client source → Line processing: processes lines
- Client repository → Lock metadata: dumps registrations
lib/ellipses/client/repository.rb - Client application → Lock file: loads lock state
lib/ellipses/client/application.rb - Client application → Edit commands: supports edit operations
- Developer → Client application: initializes client
- Developer → Client application: compiles files
- Developer → Client application: updates files
- Developer → Client application: decompiles files
- Developer → Client application: validates client
- Developer → Server CLI: runs server tools
- Server CLI → Server application: requests dump
- Server application → Server repository: loads repository
lib/ellipses/server/application.rb - Server application → Server repository: resolves requested symbols
lib/ellipses/server/application.rb - Server repository → Symbol resolver: walks dependencies
lib/ellipses/server/repository.rb - Symbol resolver → Provider source files: reads payloads
lib/ellipses/server/symbols.rb - Server repository → Provider config file: reads configuration
lib/ellipses/server/repository.rb - Provider config file → Provider metadata: parses metadata
- Developer → Provider source files: authors symbols
- Client application → Shared support: uses shared utilities