Skip to content

Instantly share code, notes, and snippets.

View diegohb's full-sized avatar

Diego Bustamante diegohb

  • Expert Vision Software
  • Gaithersburg, MD
View GitHub Profile

LLM Wiki

A pattern for building personal knowledge bases using LLMs.

This is an idea file, it is designed to be copy pasted to your own LLM Agent (e.g. OpenAI Codex, Claude Code, OpenCode / Pi, or etc.). Its goal is to communicate the high level idea, but your agent will build out the specifics in collaboration with you.

The core idea

Most people's experience with LLMs and documents looks like RAG: you upload a collection of files, the LLM retrieves relevant chunks at query time, and generates an answer. This works, but the LLM is rediscovering knowledge from scratch on every question. There's no accumulation. Ask a subtle question that requires synthesizing five documents, and the LLM has to find and piece together the relevant fragments every time. Nothing is built up. NotebookLM, ChatGPT file uploads, and most RAG systems work this way.

@johnlindquist
johnlindquist / opencode-plugins-guide.md
Created January 11, 2026 20:10
OpenCode Plugins Guide - Complete reference for writing plugins with hooks, custom tools, and event handling

OpenCode Plugins Guide

A comprehensive guide to writing plugins for OpenCode that extend agent behavior with hooks, custom tools, and event handling.

Quick Start

  1. Create a TypeScript file in .opencode/plugin/ (project) or ~/.config/opencode/plugin/ (global)
  2. Export a named plugin function
  3. Restart OpenCode

Opencode plugin development guide

Generated with LLM assistance on 2 Nov 2025 with minimal human verification.

Overview

Opencode plugins extend the functionality of the Opencode AI assistant by allowing you to add custom tools, authentication providers, event handlers, and hooks into the core system. This guide covers how to create, configure, and distribute plugins.

Source files:

@kameko
kameko / ExceptionListener.cs
Created April 30, 2021 23:11
ExceptionListener
namespace Your.Namespace.Here
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
public static class ExceptionListenerExtensions
@sohjsolwin
sohjsolwin / RebuildNugetReferences.ps1
Last active March 15, 2021 18:10
Powershell: Helpful Nuget Commands
get-project -All | foreach-object { If ($PSItem.ProjectName.Contains("\")) { $PSItem.ProjectName.SubString($PSItem.ProjectName.LastIndexOf("\")+1)} else { $PSItem.ProjectName } } | foreach-object { Add-BindingRedirect $PSItem}
@jamesfreeman959
jamesfreeman959 / keepawake.ps1
Last active August 17, 2026 04:01
A very simple PowerShell script to keep a Windows PC awake and make lync think the user is active on the keyboard
# Useful references:
#
# https://superuser.com/questions/992511/emulate-a-keyboard-button-via-the-command-line
# https://ss64.com/vb/sendkeys.html
# https://social.technet.microsoft.com/Forums/windowsserver/en-US/96b339e2-e9da-4802-a66d-be619aeb21ac/execute-function-one-time-in-every-10-mins-in-windows-powershell?forum=winserverpowershell
# https://learn-powershell.net/2013/02/08/powershell-and-events-object-events/
#
# Future enhancements - use events rather than an infinite loop
$wsh = New-Object -ComObject WScript.Shell
while (1) {
@ediblecode
ediblecode / package-json-build-number.ps1
Created August 23, 2017 07:22
Powershell script to parse a package.json version and use as the build number in TeamCity
$version = (Get-Content package.json) -join "`n" | ConvertFrom-Json | Select -ExpandProperty "version"
$buildCounter = "%build.counter%"
$buildNumber = "$version.$buildCounter"
Write-Host "##teamcity[buildNumber '$buildNumber']"
@y2k4life
y2k4life / app.html
Last active September 10, 2019 00:58
Aurelia Interger Range Validation Example in Documentatoin
<template>
<div>
<a href="http://aurelia.io/hub.html#/doc/article/aurelia/validation/latest/validation-basics/9" target="top">Documentation</a>
</div>
<form submit.delegate="submit()" novalidate autocomplete="off">
<!--<ul><li repeat.for="error of controller.errors">${error.message}</li></ul>-->
<div class="form-group">
<label class="control-label" for="volumeA">A) Integer Range Validation Example In Documentation</label>
<input type="text" class="form-control" id="volumeA" value.bind="volumeA & validate">
@ibratoev
ibratoev / updateTypings.js
Created August 25, 2016 11:58
JS script to update typings
#!/usr/bin/env node
// Script to update typings to their latest versions.
// Note that it should be executed in the folder where typings.json is.
const { exec, execSync } = require('child_process');
const path = require('path');
const typings = require(path.join(process.cwd(), 'typings.json'));
exec('typings ls', (error, _, stderr) => {
if (error) {
@cmendible
cmendible / VersionTelemetryInitializer.cs
Last active October 28, 2020 15:23
Application Insights Telemetry Initializer to send the application version and a custom "tags" property
namespace Insights
{
using System.Configuration;
using System.Linq;
using System.Reflection;
using Microsoft.ApplicationInsights.Channel;
using Microsoft.ApplicationInsights.Extensibility;
/// <summary>
/// Version TelemetryInitializer