VERSE
94c8af7b1d
feat: AI suggestion ( #34 )
...
## Feat
* feat(ai): add AI suggestion engine, context gathering, and ghost text
overlay (`v0.3.0`)
## Security & Perf
* fix(ai): restrict background `--help` execution to a hardcoded command
allowlist to prevent RCE
* fix(root): defer context cancellation in goroutine to prevent resource
leaks
* perf(ai): implement LRU eviction and maximum size limit for
`ProviderCache`
* perf(ai): truncate command context output
(`CommandContextProvider.Gather`) to 1000 characters to save tokens
## Bug Fixes
* fix(ai): add mutex synchronization and thread-safe snapshotting to
`AIEngine.RegisterProvider` and `GatherDynamicContext`
* fix(ai): return a copy of fresh `Suggestion` in `AIEngine.Suggest` to
prevent cache mutation
* fix(ai): use length-prefixed encoding in `EnvSnapshot.Hash` to prevent
delimiter collisions
* fix(ai): skip variable assignment lines containing `=` when extracting
Makefile targets
* fix(runner): check `scanner.Err()` and return `nil` on scan errors in
justfile generator
* test(ci): rename `git commit` to `git checkout` in overlay test to
resolve CI `typos` false positive
2026-07-11 15:17:14 +07:00
VERSE
ebde9ba68f
refactor(commands): separate commands and its core into two folders ( #32 )
...
- I think it would be better if one for commands only, one for the spec
handling core logic so people won't be confused by the core logic inside
the commands folder (cleaner I guess)
- Regen docs
2026-07-05 11:27:30 +07:00
VERSE
ffa336196a
chore: use go fix to enhance codebase ( #29 )
...
This pull request modernizes the codebase by adopting Go 1.21+ features, including built-in functions like min and max, standard library iterators such as strings.SplitSeq and strings.FieldsSeq, utility functions like maps.Copy and slices.Contains, and string manipulation helpers like strings.Cut and strings.CutPrefix. Feedback is provided on a test file where the usage of strings.Builder can be further optimized to avoid unnecessary string allocations during concatenation.
`go fix -diff ./...`
2026-07-04 19:44:38 +07:00
VERSE
4ca744983c
fix(wrapper): allow left/right movement after up arrow history recall ( #24 )
2026-07-03 13:45:18 +07:00
VERSE
ca9d30af9c
fix: data race and overlay bugs ( #20 )
...
- redundant ghost text
- prompt deletion bug on overlay
- overlay bug on the non-exists commands
<img width="1152" height="221" alt="image"
src="https://github.com/user-attachments/assets/29ef0c1f-4cd8-4e36-960f-352010fc3bd1 "
/>
<img width="1275" height="470" alt="image"
src="https://github.com/user-attachments/assets/aa765110-f9fa-49c8-94f2-767a827f5e5f "
/>
<img width="2517" height="152" alt="image"
src="https://github.com/user-attachments/assets/47a6668f-fb01-46be-9ad2-2c50c283f175 "
/>
2026-07-03 12:29:42 +07:00
VERSE
ea82216dc9
style(ui): redesign new menu ( #18 )
...
- 2 mode classic (the old one) and modern
a2a17cab3a4bdf27abd2a956f9d53a0c4a685909
- add icon 3a11c7a6beb1dcf11e89977f380376fdea9fba89
- fix some bugs
2026-07-03 11:50:35 +07:00
VERSE
8f89c15e72
perf: prevent memory leak, data race and speed up ComputeCursorCol processing ( #15 )
...
- fix(wrapper): memory leak and data race
(https://github.com/versenilvis/IRIS/commit/4361febfc92858f34ff2a2b77df8298addbefa75 )
- perf(overlay):speed up ComputeCursorCol processing
(https://github.com/versenilvis/IRIS/commit/918b067cfc9f71c4fa52e1573865ab3612acb7d8 )
2026-07-02 16:53:42 +07:00
VERSE
c7960aac46
fix(ui): menu deboucing ( #14 )
...
Fixed menu keep moving/debouncing while move up/down
2026-07-02 15:41:44 +07:00
VERSE
f37f0681ce
feat: better debugger ( #13 )
...
- create centralized structured logger with rotation
(https://github.com/versenilvis/IRIS/commit/96ad7c95ef0f7a9957b1bbf70bb6c8da3ce28b2e )
- update core lookup and utils to use new logger
(https://github.com/versenilvis/IRIS/commit/8b74b5a9cdc1828cff8c6d0bdaaccbe31da7a00a )
- add log startup metadata and propagate reload flags
(https://github.com/versenilvis/IRIS/commit/31208aa91a58e9e09abbf5497c314f5c961a58e2 )
- add log key interceptions and pty events
(https://github.com/versenilvis/IRIS/commit/91ccb92835dd16ee70bf630fe0f267aad93c9db0 )
- add test for logger 221a40c893b75e6215787163cd751a4c1cb6c1d8
- secure reload arguments file path to prevent symlink attacks
(https://github.com/versenilvis/IRIS/pull/13/commits/c3eabfda451230e52cb71f0c2a556687f839bd3f )
- close log file on reinitialization to prevent descriptor leak
(https://github.com/versenilvis/IRIS/pull/13/commits/a57d2c9be107a8c6200cf7046cc85b2f58667dce )
2026-07-01 20:09:38 +07:00
VERSE
aca3d1670c
fix: better suggestion and overlay movement on key presses ( #12 )
...
- support history suggestions for aliases
https://github.com/versenilvis/IRIS/commit/0ae25d05ce0faf8ff2eeee9aa3fbb5889d9ad511
- merge spec and history results
(https://github.com/versenilvis/IRIS/commit/315c94f12bb689ad6b39b1f0ce5e0bdef71f38d5 )
- add 25ms pty throttle and optimize ctrl+l
(https://github.com/versenilvis/IRIS/commit/1e603d74c208be00f6b2cb79a628416455711c3a )
- align suggestion menu to col 1
(https://github.com/versenilvis/IRIS/commit/e307b210849af65276e93e1cff8895f3b54937ff )
- resolve zsh ipc fd mismatch and generate autocomplete hooks
(https://github.com/versenilvis/IRIS/pull/12/commits/2199607fad8122ec441ff4b99e562ca62bd948ff )
- fix: eliminate prompt duplication and freeze UI movement during menu
navigation
https://github.com/versenilvis/IRIS/pull/12/commits/6783989a49f0a68d01bad542588983a5c7b597a2
2026-07-01 16:11:38 +07:00
VERSE
a2972f61f1
chore(commands): more commands for suggestions ( #10 )
...
## What's new
- color completion message command green
https://github.com/versenilvis/IRIS/pull/10/commits/6e141f5e6909fad1ec42725cce38d51729acf399
- new flat command folder structure
https://github.com/versenilvis/IRIS/pull/10/commits/87026a854a529ec5d5baed967d5f7a7f0085a24b
- fix some linter problems
https://github.com/versenilvis/IRIS/pull/10/commits/536de790cefda912f50bf4022e40ce2b965db2e2
- fix some gemini fix suggestions
2026-06-23 10:27:26 +07:00
VERSE
3d76a3ee88
feat: toml config support ( #9 )
...
## What's new
- TOML config support
- add config init command to justfile
https://github.com/versenilvis/IRIS/pull/9/commits/a5bb6c23d74ca73385b3590d2eb275ce6429906b
- add copy binary file to local bin on reload
https://github.com/versenilvis/IRIS/pull/9/commits/4da3acdbc58c28f20fa0021d15fec82823ba392b
- init config on setup
https://github.com/versenilvis/IRIS/pull/9/commits/fb48b6bb832f38e24fab9211d92858bab9a58a07
## Fix
- add lsof to support macos because /proc filesystem is Linux-specific
and does not exist on macOS 0439d829573864fcf902fc4127f7d45384bfab01
- git push doesnt suggest current branch, fix
https://github.com/versenilvis/IRIS/pull/9/commits/b498532b401b764a4a1a2c70b3cb44b7caf72320
- use timeout context for lsof command in reload handler
https://github.com/versenilvis/IRIS/pull/9/commits/1a2baee951e6538a729da12aedfe53960e51102d
2026-05-30 22:05:06 +07:00
VERSE
8556fa626a
fix: correct nightly tag, fix tmux startup, full-word suggestions only, and keep current dir on reload ( #8 )
...
- correct nightly release tag name
989b61eefb212c18ca04b2121b382f19f86e39c2
- iris not start in tmux 0fef95430b6a1877810e3a4ffd8aa658f75c542c
- suggestions only show on full word typing
f29cbfd74a2d90371f8f369e6f8e7419f979da38
- keep current dir on reload instead of return home dir
a923e78f52a95e06587aff6856a6a81319b38e84
2026-05-30 20:56:43 +07:00
VERSE
bf67e50ea6
Feat: crash log ( #7 )
...
Merged #6
- crash log (db0e1be9a02f70927124f9f3563df5e9dee3a764)
- perf(watchdog): limit buffer size and optimize crash substring search (https://github.com/versenilvis/IRIS/pull/7/commits/7725434fedf8b32929dc0d71e1256fda13cfdfca )
- refactor(crash): use dynamic buffer for stack trace capture (https://github.com/versenilvis/IRIS/pull/7/commits/07809a4330a1236471e8dae0e83afd4323a4c83a )
2026-05-23 23:32:36 +07:00
verse91
07b7d19347
fix: typo
2026-05-10 01:37:39 +07:00
verse91
e9f4b77276
chore(wrapper): add background update
2026-05-10 00:53:39 +07:00
verse91
c76541258a
fix: all issues by golangci-lint
2026-05-09 23:49:33 +07:00
verse91
17f33ff480
feat: all tests
2026-05-09 23:18:08 +07:00
verse91
7af4d56572
chore: improve UX
2026-04-29 19:45:37 +07:00
verse91
3c8eca3a62
feat: up/down arrow key now can choose last commands
2026-04-29 19:35:02 +07:00
verse91
23e5b13f6d
feat: show preview command when using arrow keys
2026-04-27 16:22:10 +07:00
verse91
cea2a7bee7
feat: detect another command is running to stop iris
2026-04-27 16:06:00 +07:00
verse91
d2909d93aa
fix: wrong suggestion on chmod command
2026-04-27 15:03:21 +07:00
verse91
27c7b97326
fix(ghost text): key reading loop conflict
2026-04-19 12:52:16 +07:00
verse91
ff8874fefc
feat(wrapper): disable ghost text when using arrow keys
2026-04-19 12:44:33 +07:00
verse91
edab802026
feat(overlay): ghost text
2026-04-19 12:27:50 +07:00
verse91
c7106f9fc2
feat(wrapper): continue last mode
2026-04-19 11:00:32 +07:00
verse91
c798673069
fix(wrapper): up/down arrow hide menu
2026-04-19 09:59:53 +07:00
verse91
7c11a3a620
feat: now pressing space show alias as full command
2026-04-19 09:55:31 +07:00
verse91
db8b6ec91b
refactor(root): seperate into small files
2026-04-16 00:05:49 +07:00