Skip to content

Latest commit

 

History

History
366 lines (281 loc) · 7.27 KB

File metadata and controls

366 lines (281 loc) · 7.27 KB

Open Source Preparation Checklist

This checklist helps ensure your project is ready for open source release.

✅ Documentation

  • README.md - Comprehensive project overview

    • Project description
    • Features list
    • Installation instructions
    • Quick start guide
    • Configuration details
    • Development setup
    • Bilingual (English/Chinese)
  • LICENSE - AGPL-3.0 License

  • CONTRIBUTING.md - Contribution guidelines

    • Code of conduct reference
    • Development setup
    • Coding guidelines
    • Commit message format
    • Pull request process
  • CODE_OF_CONDUCT.md - Community standards

  • SECURITY.md - Security policy

    • Vulnerability reporting
    • Security best practices
    • Supported versions
  • CHANGELOG.md - Version history

  • PRIVACY.md - Privacy policy

  • DEVELOPMENT.md - Developer guide

    • Architecture overview
    • Core concepts
    • Adding features
    • Debugging tips

✅ Repository Setup

  • .gitignore - Ignore unnecessary files

    • Build outputs
    • Dependencies
    • IDE files
    • Environment files
    • Logs
  • GitHub Issue Templates

    • Bug report template
    • Feature request template
  • Pull Request Template

  • GitHub Actions Workflows

    • CI workflow (build, lint, test)
    • Release workflow (automated releases)

📋 Pre-Release Tasks

Code Quality

  • Remove sensitive data

    • API keys
    • Passwords
    • Personal information
    • Internal URLs
  • Code review

    • Remove debug code
    • Remove commented code
    • Fix TODOs
    • Update comments
  • Dependencies audit

    npm audit
    npm audit fix
  • Update dependencies

    npm update
    npm outdated

Testing

  • Manual testing

    • Test all features
    • Test in Chrome
    • Test in Edge
    • Test on different OS
  • Build verification

    npm run build:all
    npm run pack
  • Extension loading

    • Load unpacked extension
    • Verify no errors
    • Test basic functionality

Documentation

  • Update README.md

    • Add actual GitHub repository URL
    • Add project signals and usage/distribution notes
    • Add demo workflow visual
  • Update package.json

    • Set correct version
    • Add repository URL
    • Add homepage URL
    • Add bug tracker URL
    • Update author information
  • Update manifest.config.ts

    • Verify version matches package.json
    • Check permissions
    • Verify URLs
  • Update PRIVACY.md

    • Replace placeholder GitHub URL
    • Update contact information
  • Update SECURITY.md

    • Add private security advisory link
    • Update GitHub username and supported versions

Legal

  • License verification

    • Confirm AGPL-3.0 license is documented consistently
    • Check third-party licenses
    • Add license headers if needed
  • Attribution

    • Credit third-party code
    • List dependencies
    • Acknowledge contributors

🚀 GitHub Repository Setup

Initial Setup

  • Create GitHub repository

    # On GitHub: Create new repository
    # Name: PacificOceanAI
    # Description: AI-Powered Writing Assistant for Overleaf LaTeX Editor
    # Public repository
  • Initialize repository

    git init
    git add .
    git commit -m "Initial commit"
    git branch -M main
    git remote add origin https://github.com/BigCatNotFat/PacificOceanAI.git
    git push -u origin main

Repository Settings

  • General settings

    • Add description
    • Add website URL
    • Add topics/tags: browser-extension, ai, latex, overleaf, typescript, react
    • Enable Issues
    • Enable Discussions (optional)
    • Enable Wiki (optional)
  • Branch protection

    • Protect main branch
    • Require pull request reviews
    • Require status checks
    • Enable branch deletion protection
  • Secrets (for GitHub Actions)

    • Add GITHUB_TOKEN (automatic)
    • Add any other required secrets

Repository Features

  • About section

    • Add description
    • Add website
    • Add topics
  • README badges

    • License badge
    • Version badge
    • Build status badge
    • Download count (after release)
  • Social preview

    • Upload repository image (1280x640px)

📦 First Release

Pre-release

  • Version bump

    # Update version in:
    # - package.json
    # - manifest.config.ts
    # - CHANGELOG.md
  • Build release

    npm run build:all
    npm run pack
  • Test release build

    • Load extension from zip
    • Verify all features work
    • Check for errors

Release

  • Create Git tag

    git tag -a v3.3.7 -m "Release v3.3.7"
    git push origin v3.3.7
  • GitHub Release

    • Create release from tag
    • Add release notes from CHANGELOG
    • Upload .zip file
    • Mark as latest release
  • Announcement

    • Post in Discussions
    • Share on social media (optional)
    • Update project website (if any)

🎯 Post-Release

Monitoring

  • Watch for issues

    • Respond to bug reports
    • Answer questions
    • Review pull requests
  • Analytics (optional)

    • Monitor GitHub stars
    • Track downloads
    • Review feedback

Maintenance

  • Regular updates

    • Security patches
    • Dependency updates
    • Bug fixes
    • New features
  • Community engagement

    • Respond to issues
    • Review pull requests
    • Update documentation
    • Thank contributors

📝 Quick Start Commands

# 1. Clean repository
git clean -fdx
npm install

# 2. Build and test
npm run build:all
npm run pack

# 3. Create release
git add .
git commit -m "chore: prepare for release v3.3.7"
git tag -a v3.3.7 -m "Release v3.3.7"
git push origin main
git push origin v3.3.7

# 4. GitHub will automatically create release via Actions

🔗 Important URLs to Update

Before going public, replace these placeholders:

  1. README.md

    • BigCatNotFat → your GitHub username
    • Ensure project links point to BigCatNotFat/PacificOceanAI
  2. PRIVACY.md

    • Ensure project links point to BigCatNotFat/PacificOceanAI
  3. SECURITY.md

    • Use the private security advisory link
    • @BigCatNotFat → your GitHub username
  4. package.json

    {
      "repository": {
        "type": "git",
        "url": "https://github.com/BigCatNotFat/PacificOceanAI.git"
      },
      "bugs": {
        "url": "https://github.com/BigCatNotFat/PacificOceanAI/issues"
      },
      "homepage": "https://github.com/BigCatNotFat/PacificOceanAI#readme",
      "author": "BigCatNotFat"
    }

✨ Optional Enhancements

  • Project website

    • GitHub Pages
    • Custom domain
    • Documentation site
  • Chrome Web Store

    • Create developer account
    • Submit extension
    • Add store listing
  • Edge Add-ons

    • Submit to Microsoft Edge Add-ons
  • Continuous Integration

    • Automated testing
    • Code coverage
    • Automated releases
  • Community

    • Discord server
    • Slack workspace
    • Forum

🎉 You're Ready!

Once you've completed this checklist, your project is ready for open source!

Final steps:

  1. Double-check all placeholders are replaced
  2. Test the extension one more time
  3. Push to GitHub
  4. Create first release
  5. Share with the world! 🚀

Need help? Open an issue or discussion on GitHub.

Good luck with your open source project! 🌟