MCPcopy Index your code
hub / github.com/deref/exo

github.com/deref/exo @2021.11.16

Chat with this repo
repository ↗ · DeepWiki ↗ · release 2021.11.16 ↗ · + Follow
1,750 symbols 4,751 edges 348 files 96 documented · 5% updated 3y ago2021.11.16 · 2021-11-16★ 41952 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

exo: a process manager & log viewer for dev

exo- prefix – external; from outside.

The Exo GUI

Features

  • Procfile and Docker Compose compatible process manager.
  • Terminal commands and browser-based-GUI for all functionality.
  • Multiplexed, colorizing log tailing. Toggle visibility of individual logs.
  • Dynamic process supervision: create, start, stop, restart, delete.

Getting Started

Install Exo:

curl -sL https://exo.deref.io/install | bash

If you prefer manual installation, see the install docs for details, including uninstall instructions.

Navigate to your code directory and then launch the Exo gui:

exo gui

To use exo as a drop-in replacement for foreman or docker-compose, use run instead:

exo run

This will work automatically with your Procfile, compose.yaml, or similarly named manifest files. The run command also accepts an explicit filename, if you have multiple configurations to choose from.

For more, checkout the Exo documentation, watch some videos or consult the builtin help by running exo help.


Support

Feel free to open an issue, start a discussion, or pop-in to our #exo Slack channel.

Telemetry

exo collects limited and anonymous telemetry data by default. This behavior can be disabled by adding the following setting to your exo config (located at ~/.exo/config.toml by default):

[telemetry]
disable: true

Extension points exported contracts — how you extend this code

Interpolator (Interface)
(no doc) [42 implementers]
internal/providers/docker/compose/interpolate.go
Analyzer (Interface)
(no doc) [6 implementers]
internal/manifest/exohcl/analysis.go
Process (Interface)
(no doc) [5 implementers]
internal/core/api/workspace.go
Source (Interface)
(no doc) [5 implementers]
internal/environment/environment.go
Named (Interface)
(no doc) [4 implementers]
internal/josh/model/package.go
Node (Interface)
(no doc) [4 implementers]
internal/deps/graph.go
Atom (Interface)
Atom are uncoordinated, atomic reference cells. Inspired by . [1 implementers]
internal/util/atom/atom.go
Telemetry (Interface)
(no doc) [2 implementers]
internal/telemetry/telemetry.go

Core symbols most depended-on inside this repo

MakeString
called by 193
internal/providers/docker/compose/string.go
testYAML
called by 84
internal/providers/docker/compose/testutil.go
Invoke
called by 80
internal/josh/client/client.go
AddMethod
called by 80
internal/josh/server/methods.go
WithValue
called by 48
internal/providers/docker/compose/string.go
Fatalf
called by 47
internal/util/cmdutil/cmdutil.go
Infof
called by 42
internal/util/logging/logger.go
list
called by 42
gui/script/gen-theme.ts

Shape

Method 748
Function 544
Struct 362
Interface 67
TypeAlias 24
FuncType 3
Class 2

Languages

Go89%
TypeScript11%
Python1%

Modules by API surface

internal/core/api/workspace.go123 symbols
gui/src/lib/api.ts113 symbols
internal/core/api/kernel.go57 symbols
internal/core/server/workspace.go49 symbols
internal/core/client/workspace.go47 symbols
internal/deps/graph.go31 symbols
internal/core/state/api/store.go31 symbols
internal/manifest/exohcl/hclgen/ast.go26 symbols
internal/providers/docker/compose/project.go25 symbols
internal/providers/docker/compose/ports.go20 symbols
internal/core/state/statefile/statefile.go20 symbols
internal/task/runtime.go19 symbols

For agents

$ claude mcp add exo \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact