- [ ] User Interface
- [ ] Cleaner and more consistent outputs
- [ ] `ls-models`, `ls-chunks`, `ls-files`
- [ ] `build`
- [ ] `clone`
- [ ] Better error messages
- [ ] Better help messages and documents
- [ ] Search Optimization
- [ ] K-V database for an inverted index
- K: token, V: chunk_file
- [ ] Custom file format for chunk_index files
- [ ] More user-friendly commands
- [ ] `rag ls-bases`
- [ ] chunk viewers
- [ ] more options for `ls-chunks` and `ls-files`
- [ ] Pdf Reader
- pdf -> markdown, then markdown reader? I'm not sure...
- [ ] Formatter
- [ ] easy-to-share-ness
- [ ] `push` command
- [ ] ragit-hub
- [ ] Prompt Engineering
- [ ] More friendly interface for prompt engineering
- [ ] Make all the tests pass
- [ ] Faster `rag build`
- [ ] Parallel execution (in 1 machine)
- [ ] Run `rag build` on multiple machines, then run some kinda merge command to merge them into a single knowledge-base
- [ ] Cheaper `rag build`
- [ ] Batch api for `rag build` (openai, anthropic)
- [ ] ragit as a library
- [ ] Make `Index::single_turn` and `Index::multi_turn` return more metadata
- [ ] Sync with git
- [ ] `rag sync-git` adds the files in git's work tree to ragit's staging area. It also removes unnecessary files.