@obsfx/oversee 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +37 -2
- package/bin/oversee.js +32 -0
- package/package.json +25 -4
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Ömercan Balandı
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,38 @@
|
|
|
1
|
-
# Temporary Holding Version
|
|
2
1
|
|
|
3
|
-
|
|
2
|
+
# oversee
|
|
3
|
+
|
|
4
|
+
<img src="https://raw.githubusercontent.com/obsfx/oversee/refs/heads/assets/oversee.png" alt="oversee" width="200"/>
|
|
5
|
+
|
|
6
|
+
## What is this tool about?
|
|
7
|
+
|
|
8
|
+
As of October 2026, when I'm writing this README, after using Opus 5.5, I've become convinced that writing code manually has largely become an old-fashioned practice. These tools are faster than us and sometimes even smarter. They can go through an entire codebase using bash tools much faster than we can by manually reading code, and on top of that, they can complete well-specified tasks in much less time. It's not hard to see this from the work I've done over almost the last year.
|
|
9
|
+
|
|
10
|
+
However, as a human, I still want to stay in the loop while developing tasks and products delegated to agents, especially at points where human intervention is still needed. The biggest reason for this is the concept of [**Cognitive Debt**, which Simon Willison](https://simonwillison.net/2026/Feb/15/cognitive-debt/) also talks about. I've noticed that if things get out of hand and I no longer understand what's going on under the hood, even at a high level, I start having difficulty making decisions about the product's next steps and future. Also, not correcting an agent at an early stage can lead to much bigger problems, like a snowball effect. One thing is certain: I used to experience these problems much more frequently with earlier versions of Opus with 200k context windows, and things are much better now. Still, I feel the need to read the output to avoid `Cognitive Debt`.
|
|
11
|
+
|
|
12
|
+
That's exactly what **oversee** is for. What it does is very simple: it basically brings the GitHub PR experience to your local environment. Through a web-based UI, you can add **comments**, complete your **review**, and pass it to your agent through its CLI. This tool came out of my desire to have the same PR experience you'd have with a coworker, but locally, before pushing any code.
|
|
13
|
+
|
|
14
|
+
**oversee** is a diff viewer and line annotation tool. I also refer to it as a **Human Intervention Interface**. It's written in Go and React. The UI is embedded into the Go binary. It also has LSP support for a few languages.
|
|
15
|
+
|
|
16
|
+
## Installation
|
|
17
|
+
|
|
18
|
+
1. You can install **oversee** globally through npm.
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
npm i -g @obsfx/oversee
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
2. Or you can download standalone executables from the `releases` section.
|
|
25
|
+
|
|
26
|
+
## How to Use
|
|
27
|
+
|
|
28
|
+
1. Run `oversee init` in the codebase where you want to use it. This command will create a `.oversee` directory where we store the review data. For persistence, the entire history is saved in a SQLite database inside this directory.
|
|
29
|
+
2. Then run `oversee serve` to start the UI.
|
|
30
|
+
3. After adding your comments, all you need to do is tell your agent that you have comments in `oversee`. Your agent is smart enough to figure out the rest.
|
|
31
|
+
|
|
32
|
+
**But to make things easier, you can install the oversee skill.**
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
npx skills add obsfx/oversee
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Then use the `/oversee-address` skill inside your agent, and it will take care of the rest.
|
package/bin/oversee.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
'use strict'
|
|
3
|
+
|
|
4
|
+
const { spawnSync } = require('node:child_process')
|
|
5
|
+
|
|
6
|
+
const platformPackage = `@obsfx/oversee-${process.platform}-${process.arch}`
|
|
7
|
+
const executable = process.platform === 'win32' ? 'oversee.exe' : 'oversee'
|
|
8
|
+
|
|
9
|
+
let binaryPath
|
|
10
|
+
try {
|
|
11
|
+
binaryPath = require.resolve(`${platformPackage}/bin/${executable}`)
|
|
12
|
+
} catch {
|
|
13
|
+
console.error(
|
|
14
|
+
`oversee: no prebuilt binary for ${process.platform}-${process.arch}.\n` +
|
|
15
|
+
`The optional dependency ${platformPackage} is missing. Reinstall without --no-optional, ` +
|
|
16
|
+
'or check that your platform is supported.',
|
|
17
|
+
)
|
|
18
|
+
process.exit(1)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const result = spawnSync(binaryPath, process.argv.slice(2), { stdio: 'inherit' })
|
|
22
|
+
|
|
23
|
+
if (result.error) {
|
|
24
|
+
console.error(`oversee: failed to start ${binaryPath}: ${result.error.message}`)
|
|
25
|
+
process.exit(1)
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (result.signal) {
|
|
29
|
+
process.kill(process.pid, result.signal)
|
|
30
|
+
} else {
|
|
31
|
+
process.exit(result.status ?? 1)
|
|
32
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@obsfx/oversee",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Diff review and line annotation for git repositories, with a CLI for AI agents.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/obsfx/oversee.git"
|
|
9
|
+
},
|
|
10
|
+
"bin": {
|
|
11
|
+
"oversee": "bin/oversee.js"
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"bin"
|
|
15
|
+
],
|
|
16
|
+
"engines": {
|
|
17
|
+
"node": ">=18"
|
|
18
|
+
},
|
|
19
|
+
"optionalDependencies": {
|
|
20
|
+
"@obsfx/oversee-darwin-arm64": "0.1.0",
|
|
21
|
+
"@obsfx/oversee-darwin-x64": "0.1.0",
|
|
22
|
+
"@obsfx/oversee-linux-arm64": "0.1.0",
|
|
23
|
+
"@obsfx/oversee-linux-x64": "0.1.0",
|
|
24
|
+
"@obsfx/oversee-win32-arm64": "0.1.0",
|
|
25
|
+
"@obsfx/oversee-win32-x64": "0.1.0"
|
|
26
|
+
}
|
|
27
|
+
}
|