PassAGE/SETUP.md
fraggle 3552db50c2 Initial commit: PassAGE password manager
- AGE encryption with master password model
- Core commands: init, show, insert, edit, generate, rm, mv, cp, find, grep, ls
- Git integration for version control
- Clipboard support (X11 and Wayland)
- Secure password generation
- Backup and restore functionality
- Comprehensive security features
- Complete documentation
2026-01-11 18:48:01 -04:00

3.1 KiB

Repository Setup Guide

For Contributors: This guide helps you set up the PassAGE repository for git.

Note: This is for developers setting up the repository. End users should see INSTALL.md.

Initial Git Setup

# Initialize git repository
git init

# Add all files (respects .gitignore)
git add .

# Create initial commit
git commit -m "Initial commit: PassAGE password manager"

# Add remote repository (replace with your actual repo URL)
git remote add origin https://git.fraggle.lol/fraggle/PassAGE.git

# Push to remote
git push -u origin main

What Gets Committed

Source Files (Committed)

  • All .go files (source code)
  • go.mod and go.sum (dependency management)
  • Makefile (build configuration)
  • passage.1.md (manpage source)
  • All .md documentation files

Excluded Files (.gitignore)

  • passage (compiled binary)
  • passage.1 (compiled manpage)
  • Build artifacts
  • IDE files
  • Test coverage files

Verifying Build Readiness

Before pushing, verify the repository can build on a clean system:

# Clean everything
make clean
rm -rf vendor/

# Verify dependencies
go mod verify
go mod tidy

# Test build
go build -o passage .

# Test installation
make install-user

# Clean up
make clean

CI/CD Setup

The repository includes a GitHub Actions workflow (.github/workflows/build.yml) that:

  • Tests builds on Linux, macOS, and Windows
  • Tests with multiple Go versions
  • Verifies dependencies
  • Builds release binaries

This will run automatically on push/PR.

Repository Structure

passage/
├── .gitignore              # Git ignore rules
├── .github/
│   └── workflows/
│       └── build.yml       # CI/CD workflow
├── *.go                    # Source code files
├── go.mod                  # Go module definition
├── go.sum                  # Dependency checksums
├── Makefile                # Build and install targets
├── passage.1.md            # Manpage source
├── README.md               # Main documentation
├── INSTALL.md              # Installation guide
├── CONTRIBUTING.md         # Contribution guidelines
├── SECURITY.md             # Security documentation
└── CHANGELOG.md            # Version history

Next Steps

  1. Repository URLs are already configured:

    • All documentation points to https://git.fraggle.lol/fraggle/PassAGE
    • Update GitHub Actions workflow if using GitHub instead
  2. Create GitHub repository:

    • Create a new repository on GitHub
    • Don't initialize with README (we already have one)
  3. Push code:

    git push -u origin main
    
  4. Set up releases:

    • Create tags for versions: git tag v0.1.0
    • Push tags: git push --tags
    • GitHub Actions will build release binaries

Building on Any System

The repository is designed to build on any system with:

  • Go 1.21+ installed
  • Standard Unix tools (make, etc.)

Dependencies are managed through go.mod and will be downloaded automatically.

For manpage building, users need pandoc or go-md2man (optional).