- 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
3.1 KiB
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
.gofiles (source code) go.modandgo.sum(dependency management)Makefile(build configuration)passage.1.md(manpage source)- All
.mddocumentation 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
-
Repository URLs are already configured:
- All documentation points to
https://git.fraggle.lol/fraggle/PassAGE - Update GitHub Actions workflow if using GitHub instead
- All documentation points to
-
Create GitHub repository:
- Create a new repository on GitHub
- Don't initialize with README (we already have one)
-
Push code:
git push -u origin main -
Set up releases:
- Create tags for versions:
git tag v0.1.0 - Push tags:
git push --tags - GitHub Actions will build release binaries
- Create tags for versions:
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).