Create bild skill

t-324·WorkTask·
·
·
·Omni/Bild/Skill.md
Created1 month ago·Updated1 month ago

Description

Edit

Summary

Create a skill for using bild and managing dependencies in the omnirepo.

Source Material

From Omni/Bild/README.md:

  • Universal build tool for Haskell/Python/Nix
  • Dependency pinning system (Sources.json, niv)
  • Adding Python/Haskell/system packages
  • Common errors and fixes

From AGENTS.md:

  • "attribute 'foo' missing" means dep not whitelisted

Skill Content

---
name: bild
description: Build tool usage and dependency management. Use when building, adding dependencies, or fixing build errors.
---

# Bild

`bild` is the universal build tool. It builds and tests everything in the repo.

## Common Commands

\`\`\`bash
bild Omni/Task.hs           # Build a namespace
bild --test Omni/Task.hs    # Build and run tests
bild --plan Omni/Task.hs    # Analyze without building
\`\`\`

Output goes to `_/bin/`:
\`\`\`bash
bild Omni/Task.hs
_/bin/task --help
\`\`\`

## Adding Dependencies

### Python (in nixpkgs)
Just add the dep comment:
\`\`\`python
# : dep requests
import requests
\`\`\`

### Haskell (in nixpkgs)
Add to `Omni/Bild/Deps/Haskell.nix` whitelist:
\`\`\`nix
[
  "aeson"
  "your-package"  # alphabetically
]
\`\`\`

### Not in nixpkgs
1. `deps add owner/repo -n package-name`
2. Set `"auto-override": false` in Sources.json
3. Create derivation in `Omni/Bild/Deps/`

## Common Errors

### "attribute 'foo' missing"
The Haskell package isn't whitelisted. Add it to `Omni/Bild/Deps/Haskell.nix`.

### Python import not found
Check package name: `nix-env -qaP -A nixpkgs.python312Packages | grep <name>`

### Timeout during build
Use `bild --time 0 <namespace>` for no timeout.

## Lint and Type Check

\`\`\`bash
lint Omni/Task.hs              # Lint
lint --fix Omni/Task.py        # Lint and auto-fix
typecheck.sh Omni/Example.py   # Type check Python
\`\`\`

Deliverables

  • [ ] Omni/Bild/Skill.md
  • [ ] Test with actual build scenarios

Timeline (2)

🔄[human]Open → InProgress1 month ago
🔄[human]InProgress → Done1 month ago