| Crates.io | vibequest |
| lib.rs | vibequest |
| version | 0.1.13 |
| created_at | 2025-10-05 15:40:27.476315+00 |
| updated_at | 2025-10-22 19:46:43.119678+00 |
| description | A vibe-coded scripting language focused on developer happiness with a REPL implementation in Rust |
| homepage | |
| repository | https://github.com/lolsborn/quest |
| max_upload_size | |
| id | 1869180 |
| size | 52,175,645 |
A vibe-coded scripting language focused on developer happiness with a REPL implementation in Rust.
Everything in Quest is an object (including primitives like numbers and booleans), and all operations are method calls. Quest aims to make programming intuitive and enjoyable with clear syntax and powerful built-in capabilities.
Quest has a lot of features inspired by different languages that include:
use, namespace isolationInstall the latest stable release from crates.io:
cargo install vibequest
The quest command will be available after installation:
quest # Start the REPL (standard library auto-extracts to ~/.quest/lib on first run)
quest path/to/script.q # Run a script
Note: On first run, Quest automatically extracts its standard library to ~/.quest/lib/. You can customize the stdlib by editing files in this directory.
git clone https://github.com/lolsborn/quest.git
cd quest
cargo build --release
./target/release/quest
quest
quest path/to/script.q
# Run full test suite
quest test
# Run specific test file
quest test test/web/web_test.q
Quest includes comprehensive profiling tools for performance analysis:
# CPU profiling (with samply)
./scripts/profile-cpu.sh
# Memory profiling (with dhat)
./scripts/profile-memory.sh
# Generate flame graphs
./scripts/profile-flamegraph.sh
See docs/PROFILING.md for detailed profiling instructions.
puts("Hello, World!")
let name = "Alice"
let age = 30
fun greet(name)
"Hello, " .. name
end
puts(greet(name))
type Person
name: str
age: num?
fun greet()
"Hello, I'm " .. self.name
end
end
let alice = Person.new(name: "Alice", age: 30)
puts(alice.greet())
Quest includes a comprehensive standard library with modules for:
View full standard library documentation
Quest provides rich built-in types, all with comprehensive method support:
Every type supports method calls. For example:
let x = 42
x.plus(8) # => 50
let s = "hello"
s.upper() # => "HELLO"
let arr = [1, 2, 3]
arr.map(fun(x) x * 2 end) # => [2, 4, 6]
Quest includes a comprehensive testing framework with automatic test discovery:
use "std/test" as test
test.module("Math Operations")
test.describe("Addition", fun ()
test.it("adds two numbers", fun ()
test.assert_eq(2.plus(2), 4)
end)
end)
Run tests with tag filtering for fast/slow tests, integration tests, and more.
📖 quest.bitsetters.com - Complete language documentation, tutorials, and API reference
Additional resources:
Quest is a personal project focused on exploring language design and implementation. If you're interested in similar projects or have feedback, feel free to open an issue.
See LICENSE
Steven Osborn