We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.

This lesson's interactive features are locked, please to keep using them

The Unix Philosophy

Coding agents work best in projects aligned with the Unix philosophy: small tools that do one thing well, accept text input, and produce text output.

Fifty years later, text-in, text-out is still the cutting-edge interface for software engineering.

Sci-fi led us to believe AI would be binary-in, binary-out. After all, 1s and 0s are "the native language of computers". Maybe... but they're not the native language of large language models (LLMs) that are trained on cringe Reddit posts and bad GitHub code. LLMs "think" (kinda) the same way humans do.

Agent-friendly projects have:

  • Robust test suites
  • Strictly enforced styles, formatting, and (ideally) static typing
  • Well-organized file structures
  • Clear and consistent naming conventions
  • Well-written code and a sane architecture

Vibe-Coding Makes Agent-Hostile Projects

Ironically, the fastest way to make a project "agent-hostile" is to give a non-technical vibe-coder push access for a few hours. Slop begets slop. The better the project architecture is, the easier it is for an agent to work well. Once slop gets into the repo, agents will happily proliferate those bad patterns until the codebase becomes nearly unmaintainable.

Assignment

Have OpenCode find Sloperator's development commands and fix its formatting.

    • Running a .slop program
    • Running tests
    • Formatting the code
    • Linting the code
    • Type-checking the code

Tell OpenCode to run and submit the CLI tests from the project root.