Vibe coded projects (various ports)

I have found that vibe coding works best to port from well tested and maintained work from other languages that we are missing.

I have been working on a lot of ports lately and they seem to be working correctly

My latest is crig, an llm agent builder with multiple providers, a port of rust rig,

require “crig”

embedding_model = Crig::Providers::OpenAI::Client.from_env
.embedding_model(“text-embedding-3-large”)

documents = Crig::Embeddings::EmbeddingsBuilder.new(embedding_model)
.simple_document(“doc0”, “Crystal is a compiled language.”)
.simple_document(“doc1”, “Rig is a library for LLM applications.”)
.build

store = Crig::InMemoryVectorStore(Crig::SimpleDocument)
.builder
.documents_with_id_f(documents) { |document| document.id }
.build

request = Crig::VectorSearchRequest.builder
.query(“What is Crystal?”)
.samples(1)
.build

pp store.index(embedding_model).top_n_results(request)

Current provider surface in src/crig/providers includes:

  • OpenAI
  • Anthropic
  • Azure OpenAI
  • Cohere
  • DeepSeek
  • Galadriel
  • Gemini
  • Groq
  • Hugging Face
  • Hyperbolic
  • Mira
  • Mistral
  • Moonshot
  • Ollama
  • OpenRouter
  • Perplexity
  • Together
  • VoyageAI
  • xAI
  • Xiaomi

I also ported multiple repos from the golang bubbetea ecosystem,

starting with bubbletea.cr, a faithful port of bubbletea, which pulls in a lot of different dependencies that I had to port, and off of this is huh.cr which can be used for cli forms and prompts. bubbletea uses lipgloss for styling and so does huh.

All of these are complete and working. What I am still trying to finish is a port of apache pdfbox, pdfbox, it can read and write pdfs but it is not done.