Skip to content

Instantly share code, notes, and snippets.

View fcoury's full-sized avatar

Felipe Coury fcoury

View GitHub Profile
@fcoury
fcoury / atuin-capture-cwd.sh
Created November 16, 2025 16:54 — forked from johnlindquist/atuin-capture-cwd.sh
Cursor + Atuin Integration: Automatically save Cursor AI shell commands to Atuin history with directory scoping
#!/bin/bash
# Read the JSON input from stdin
input=$(cat)
# Extract the cwd from the JSON
if command -v jq &> /dev/null; then
cwd=$(echo "$input" | jq -r '.cwd')
# If cwd is empty or null, use workspace_roots[0] as fallback
if [ -z "$cwd" ] || [ "$cwd" == "null" ]; then
@fcoury
fcoury / agent.md
Created October 17, 2025 13:08 — forked from steipete/agent.md
Agent rules for git
  • Delete unused or obsolete files when your changes make them irrelevant (refactors, feature removals, etc.), and revert files only when the change is yours or explicitly requested. If a git operation leaves you unsure about other agents' in-flight work, stop and coordinate instead of deleting.
  • Before attempting to delete a file to resolve a local type/lint failure, stop and ask the user. Other agents are often editing adjacent files; deleting their work to silence an error is never acceptable without explicit approval.
  • NEVER edit .env or any environment variable files—only the user may change them.
  • Coordinate with other agents before removing their in-progress edits—don't revert or delete work you didn't author unless everyone agrees.
  • Moving/renaming and restoring files is allowed.
  • ABSOLUTELY NEVER run destructive git operations (e.g., git reset --hard, rm, git checkout/git restore to an older commit) unless the user gives an explicit, written instruction in this conversation. Treat t
@fcoury
fcoury / spec.md
Created August 19, 2025 19:40 — forked from CypherpunkSamurai/spec.md
Kiro AI System Prompt

System Prompt

Identity

You are Kiro, an AI assistant and IDE built to assist developers.

When users ask about Kiro, respond with information about yourself in first person.

You are managed by an autonomous process which takes your output, performs the actions you requested, and is supervised by a human user.

You talk like a human, not like a bot. You reflect the user's input style in your responses.

Building Your Own MCP Server for Claude Code

This guide will walk you through creating a custom MCP (Model Context Protocol) server that integrates with Claude Code, allowing you to extend Claude's capabilities with external tools, APIs, or even other AI models.

What is MCP?

MCP (Model Context Protocol) is a protocol that allows Claude to communicate with external servers to access tools and capabilities beyond its built-in features. Think of it as a plugin system for Claude.

Prerequisites

@fcoury
fcoury / etc-nixos
Created January 12, 2024 16:22 — forked from p-alik/etc-nixos
NixOS config on Dell XPS 13 Plus 9320
# /etc/nixos/configuration.nix
{ config, pkgs, ... }:
{
imports =
[
./hardware-configuration.nix
];
boot.loader.systemd-boot.enable = true;
@fcoury
fcoury / xps_9320.nix
Created January 12, 2024 04:19 — forked from notgne2/xps_9320.nix
It Just Works ™️
{
config,
pkgs,
lib,
inputs,
...
}: let
ipu6-camera-bin = with pkgs;
stdenv.mkDerivation rec {
pname = "ipu6-camera-bin";
@fcoury
fcoury / from-init.lua-to-default.nix.md
Created January 7, 2024 02:11 — forked from nat-418/from-init.lua-to-default.nix.md
Advanced Neovim configuration with Nix and Home Manager

From init.lua to default.nix

In a previous post I explained how to manage Neovim plugins with Nix and Home Manager. In this post I want to go further and show how to migrate Neovim configuration from ~/.config/nvim to ~/.config/home-manager entirely. The end result will be to split our Neovim setup into multiple modules that colocate plugin sourcing and configuration.

If you haven't read the post linked above, do so now. We will assume the

@fcoury
fcoury / nix-home-manager-neovim-setup.md
Created January 7, 2024 01:35 — forked from nat-418/nix-home-manager-neovim-setup.md
Manage Neovim plugins (and more!) with Nix and Home Manager

Manage Neovim plugins (and more!) with Nix and Home Manager

Highly extensible software like Emacs, Vim, and Neovim tend to grow their own package managers. A software developer, for example, might want to install editor plugins that hook into a particular programming language's linter or language server. The programmer's text editor is therefore extended to support managing additional software to extend the text editor. If this loop continues for too long, the programmer's editor becomes more delicate and complex. The remedy for this problem is to manage software using dedicated tools apart

@fcoury
fcoury / Cargo.toml
Created August 10, 2023 18:45 — forked from vchernetskyi993/Cargo.toml
Rust - Single testcontainer for multiple test functions
[package]
name = "testcontainers-sample"
version = "0.1.0"
edition = "2021"
[dev-dependencies]
async_once = "0.2.6"
aws-sdk-s3 = "0.28.0"
ctor = "0.2.4"
lazy_static = "1.4.0"
@fcoury
fcoury / rust-cross-compile-openssl.md
Last active February 6, 2023 14:42 — forked from marirs/rust-cross-compile-openssl
Rust OpenSSL Cross Compile for Linux on Mac M1

Install the toolchain

brew tap SergioBenitez/osxct
brew install x86_64-unknown-linux-gnu

this should get installed in:

/opt/homebrew/Cellar/x86_64-unknown-linux-gnu/

Installing the macOS OpenSSL - if not already installed