# Eat Your Greens (EYG) > EYG is an immutable functional language with structural typing and managed effects. > Agents can use EYG instead of scripting languages with unmanaged effects. > Every side effect (file access, network, process execution) is explicit and can be limited by explicit policies. > This makes EYG a compelling scripting environment for autonomous execution. ## Getting start Install the EYG CLI. ``` curl -fsSL https://eyg.run/install | bash ``` Validate the CLI is installed. ``` eyg eval -c '!int_add(1, 1)' ``` See available commands by running help command. ``` eyg help ``` ## Write EYG programs Check the [EYG syntax guide](https://eyg.run/guides/eyg-syntax-guide.md) before writing any programs ## Packages Officially supported eyg packages can be found in the [source repo](https://github.com/CrowdHailer/eyg-lang/tree/main/eyg_packages) ## Start here Use this file as a curated map of the EYG website and source materials. Prefer Markdown guide URLs ending in `.md` for compact machine-readable context. - [Homepage](https://eyg.run/): Project overview and interactive examples. - [Documentation](https://eyg.run/documentation): Browser-based language and structural editor documentation. - [Editor](https://eyg.run/editor): Browser workspace for editing and running EYG programs. - [Guides](https://eyg.run/guides): Guide index for installation, syntax, effects, embedding and file operations. - [Roadmap](https://eyg.run/roadmap): Current project direction and implementation priorities. ## Source - [Source repository](https://github.com/CrowdHailer/eyg-lang): Language definition, implementation, website, package hub and package sources. - [IR and evaluation spec](https://github.com/CrowdHailer/eyg-lang/tree/main/spec): Stable JSON spec and evaluation fixtures for implementers. ## Guides - [Writing tests with aok](https://eyg.run/guides/writing-tests-with-aok.md): Write tests for EYG packages using the aok test package. - [Writing scripts](https://eyg.run/guides/writing-scripts.md): Write scripts to run on your computer. - [vimeo](https://eyg.run/guides/vimeo.md): Work with the Vimeo API to manage videos. - [tavily](https://eyg.run/guides/tavily.md): Work with the Tavily API to perform web searches and retrieve data. - [EYG syntax guide](https://eyg.run/guides/eyg-syntax-guide.md): Syntax reference for the EYG text representation. - [ollama](https://eyg.run/guides/ollama.md): Manage a running ollama instance; start stop and list active models - [netlify](https://eyg.run/guides/netlify.md): Work with the Netlify API to manage sites and deployments. - [modifying text files](https://eyg.run/guides/modifying-text-files.md): How to write, append to, and patch file contents using the edit module. - [Managing signatories](https://eyg.run/guides/managing-signatories.md): Create, inspect, protect, and use signatories with the EYG CLI. - [locate me](https://eyg.run/guides/locate-me.md): When a user makes a location specific query (what is the weather tomorrow) or asks for anything relative to their location. - [json](https://eyg.run/guides/json.md): Encode, decode and parse JSON strings with EYG. - [install a prebuilt binary](https://eyg.run/guides/install-a-prebuilt-binary.md): How to install the eyg CLI from a prebuilt binary. - [install from source](https://eyg.run/guides/install-from-source.md): How to compile and install the eyg CLI from source. - [http fetch](https://eyg.run/guides/http-fetch.md): Create and dispatch HTTP requests. - [github](https://eyg.run/guides/github.md): Work with the GitHub API to manage repositories, issues, and other resources. - [File resolution](https://eyg.run/guides/file-resolution.md): How EYG resolves imports and filesystem paths in CLI programs. - [explore the file system](https://eyg.run/guides/explore-the-file-system.md): How to list directory contents, find files and read file contents. - [Embedding EYG in Gleam programs](https://eyg.run/guides/embedding-eyg-in-gleam-programs.md): How to use EYG as an embedded scripting language in Gleam. - [dnsimple](https://eyg.run/guides/dnsimple.md): Work with the DNSimple API to manage domains and integrations. - [CLI effects reference](https://eyg.run/guides/cli-effects-reference.md): Reference for effects implemented by the eyg CLI . - [Builtins reference](https://eyg.run/guides/builtins-reference.md): Reference of every builtin function defined. - [Effect access policies](https://eyg.run/guides/effect-access-policies.md): Add policies for calling side effects with the overlay access package. ## Optional - [News](https://eyg.run/news): Development updates, talks, podcasts and newsletter archive. - [GitHub issues](https://github.com/CrowdHailer/eyg-lang/issues): Ask questions, report bugs or propose improvements. - [CrowdHailer on X](https://x.com/CrowdHailer): Project author updates. Prefer Bsky - [CrowdHailer on Bsky](https://bsky.app/profile/crowdhailer.bsky.social): Project author updates.