iyi language ↗
← Back home

A good place to start.

A directory of the iyi ecosystem, inspired by the Ruby Toolbox.

What is in the directory?

The iyi standard library, and every iyi module on GitHub: a repository whose iyi.mod at its root names it, so that iyi get can fetch it.

Crystal shards

Crystal shards are not listed here, but iyi supports them: build your program with iyi build --crystal, and require a shard as in Crystal.

Find Crystal shards on Shardbox↗

Bring a shard over

iyi has a tool that rewrites a shard as iyi modules: iyi migrate src --out iyi --annotate --check writes the modules, compiles each one and names what is left for a person to finish, such as the types it could not work out.

We recommend doing the rest with an LLM as well: give it the shard, the migrated modules and what --check reports, and review what it writes. Then publish the module on GitHub, and it is listed here.

Honest data

Stars, forks, issues, contributors, version tags and the last push come from GitHub, as they were when the catalog was last imported. "Used by" counts the listed modules whose iyi.mod requires a module. Downloads are not counted: iyi get fetches from git, and nobody sees that.

Add your package

There is nothing to fill in or send: publish your module on GitHub, and the next import of the catalog finds it. It is listed when

  • the repository is public (an archived one is listed too: archived does not mean broken),
  • an iyi.mod at its root names the repository, as in module github.com/you/your-module so that iyi get can fetch it,
  • and it has the topic iyi, or GitHub's code search has seen its iyi.mod.

The page shows what the repository says about itself: its description, its license, its newest version tag such as v1.0.0, and a category from its topics, such as http, json, template, cli or time. Write those well, and your package reads well here.

Use packages with care

Packages are written and published by their own authors. iyipacks lists them as it finds them on GitHub: it does not review their code and is not responsible for what they contain or do. Read a package's source and check its license before you depend on it.

If a package is malicious or has a serious security problem, report it to GitHub ↗ and open an issue for iyipacks ↗. We take such a package off the directory.

Explore iyi ↗

THE FIRST PACKAGES. YOURS COULD BE NEXT.

Build something iyi.

Meet the language ↗