Skip to content
This repository was archived by the owner on Mar 21, 2026. It is now read-only.

yyovil/tandem-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go Project Template

A minimal Go project template with Nix devShell and direnv integration, featuring automated initialization.

Features

  • 🚀 Go 1.25.1 ready
  • ❄️ Nix flakes for reproducible development environment
  • 🔧 direnv for automatic environment loading
  • 📦 Pre-configured with essential Go tools (gopls, gotools, goreleaser)
  • 🤖 Automated initialization script for quick project setup

Prerequisites

Enable Nix Flakes

Add to ~/.config/nix/nix.conf (or /etc/nix/nix.conf):

experimental-features = nix-command flakes

Getting Started

1. Use This Template

Click the "Use this template" button on GitHub or clone this repository:

git clone {yourRepoUrl}
cd {yourProjectName}
bash scripts/init.sh {yourModuleName}

2. Verify Setup

go list

Project Structure

.
├── .envrc              # direnv configuration
├── .gitignore          # Git ignore rules
├── flake.nix           # Nix flake for development environment
├── flake.lock          # Locked dependencies
├── go.mod              # Go module file
├── go.sum              # Go dependencies checksums
├── main.go             # Main application file
└── pkgs/               # Additional packages directory

Development

Available Tools

The Nix development shell includes:

  • go - Go compiler and toolchain
  • gopls - Go language server
  • gotools - Additional Go tools
  • goreleaser - Release automation tool

Building

go build -o bin/app .

Running

go run main.go

Testing

go test ./...

Environment Variables

The development environment sets:

  • GOROOT - Points to the Nix-managed Go installation
  • GOPATH - Set to .go in the project directory
  • GOBIN - Set to .go/bin for installed binaries
  • PATH - Updated to include $GOPATH/bin

Customization

Modifying the Nix Environment

Edit flake.nix to add or remove packages in the buildInputs section:

buildInputs = with pkgs; [ 
  go 
  gopls 
  gotools 
  goreleaser
  # Add more packages here
];

CI/CD

This template is ready for GitHub Actions or other CI/CD pipelines. The Nix flake ensures consistent builds across different environments.

License

Specify your license here.

About

A MCP Server for enhancing penetration testing capabilities of your AI Agent.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors