Skip to content

Instantly share code, notes, and snippets.

@plainionist
plainionist / no-reflection.fsx
Created June 16, 2026 19:20
Architectural fitness function to prevent reflection in tests
namespace Bake.Tasks.ArchitectureFitness
open System
open System.IO
module AF015 =
let private relative root path = Path.GetRelativePath(root, path)
let private reflectionPatterns = [|
@plainionist
plainionist / retrospective-skill.md
Created June 16, 2026 12:53
agent skill for retrospective in a team of 3 agents
name retrospective
user-invocable true
description Run a team retrospective on recent cycles and produce one concise, focused improvement report: where each lesson belongs (knowledge base / skills / agent instructions), which tools to improve or add (shell / bake / arch-fitness), tool output & performance fixes, and the top time/token effort drivers. Keywords: retrospective, retro, lessons learned, improvement report, effort drivers, tool effectiveness.

Retrospective

Gather the whole team's experience since the last retro and produce one concise, focused, prioritized improvement report. Analysis only — make no changes; each accepted item becomes its

@plainionist
plainionist / file_watcher.rs
Created February 25, 2024 15:57
Observes a folder and uploads all files if anything changes in that folder
use notify::{Config, RecommendedWatcher, RecursiveMode, Watcher};
use reqwest::blocking::{multipart, Client};
use std::fs;
use std::path::Path;
fn main() {
let path = std::env::args().nth(1).expect("Argument 1 needs to be a path");
println!("Watching {path}");
@plainionist
plainionist / nsdepcop-config.xml
Created October 6, 2022 05:42
NsDepCop example rule file
<NsDepCopConfig IsEnabled="true" ChildCanDependOnParentImplicitly="true">
<Allowed From="*" To="System.*" />
<Allowed From="App.BusinessLogic.*" To="App.Domain.*" />
<Allowed From="App.Infrastructure.*" To="App.BusinessLogic.*" />
<Allowed From="App.Infrastructure.*" To="App.Persistance.*" />
</NsDepCopConfig>
@plainionist
plainionist / UnitTestAssembliesMustNotBeReferenced.cs
Created October 6, 2022 05:40
Code analyzer preventing test assemblies from being referenced
[DiagnosticAnalyzer(LanguageNames.CSharp)]
public class UnitTestAssembliesMustNotBeReferenced : DiagnosticAnalyzer
{
public const string DiagnosticId = "Architecture";
private static DiagnosticDescriptor Descriptor { get; } =
new DiagnosticDescriptor("AR0001",
"UnitTest assemblies must not be referenced by other assemblies",
"The assembly '{0}' references the unit test assembly: {1}",
category: "Architecture",