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

124 lines
3.1 KiB
Markdown

# 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](INSTALL.md).
## Initial Git Setup
```bash
# 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:
```bash
# 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:**
```bash
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).