Skip to content

Comments

feat: migrate to v1.0.0 for package manager compliance (atomic Go module migration)#59

Closed
vxfemboy wants to merge 270 commits intovmfunc:mainfrom
vxfemboy:migration/v1.0.0
Closed

feat: migrate to v1.0.0 for package manager compliance (atomic Go module migration)#59
vxfemboy wants to merge 270 commits intovmfunc:mainfrom
vxfemboy:migration/v1.0.0

Conversation

@vxfemboy
Copy link

@vxfemboy vxfemboy commented Jan 6, 2026

⚠️ Why This PR Exceeds the 5-File Limit

I understand the preference for PRs with ≤5 files modified. However, this Go module path migration must be atomic to prevent CI failures and build breakage.

Technical Constraint: Go Module Migration Must Be Atomic

When changing a Go module path in go.mod, all import statements across the entire codebase must be updated simultaneously in the same commit/PR. Here's why:

// In go.mod
module github.com/vmfunc/sif  // ← If we change this...

// Then ALL of these break immediately:
import "github.com/dropalldatabases/sif/internal/config"  // ❌ Won't compile
import "github.com/dropalldatabases/sif/internal/scan"    // ❌ Won't compile

If split into multiple PRs:

  1. PR Base scanning doesn't occur even when --noscan is present #1 changes go.modAll subsequent PRs fail CI (can't import old path)
  2. PR 🎀 feat: Shodan Integration #2 tries to fix imports → Can't merge until PR Base scanning doesn't occur even when --noscan is present #1 merges (circular dependency)
  3. Main branch is broken between merges
  4. All CI checks fail until every PR merges

The only working approach: Change go.mod + all imports in a single atomic PR.

What We're Doing About the File Count

To minimize impact, we're splitting independent changes into separate PRs:

  • Can be separate PR: Domain fixes (remove references to lunchcat domain #50) - Makefile, .all-contributorsrc, README.md contributor links
  • Can be separate PR: Discord link standardization - CONTRIBUTING.md, docs/README.md
  • ⚠️ MUST be atomic: Module path migration - 36+ files (this PR)

This PR only contains the atomic Go module migration that cannot be split without breaking the build.

- Update clone URLs in docs/ to vmfunc/sif
- Update CONTRIBUTING.md repository references and Discord link
- Update API mode flag description (remove lunchcat reference)

Part 7/8 of v1.0.0 migration.
Related: vmfunc#57, vmfunc#50
@vxfemboy vxfemboy changed the title migration feat: migrate to v1.0.0 for package manager compliance (atomic Go module migration) Jan 7, 2026
- Update README.md contributor links (lunchcat → vmfunc)
- Update Makefile repo URL, remove lunchcat.dev
- Update .all-contributorsrc projectOwner
- Add comprehensive CHANGELOG.md
- Standardize Discord links to discord.com/invite/sifcli

Enables package manager compliance for Void Linux, Debian, Fedora, Arch.

Part 8/8 of v1.0.0 migration - COMPLETE.

Closes vmfunc#57
Related: vmfunc#50
@vxfemboy vxfemboy marked this pull request as ready for review January 7, 2026 00:04
@vxfemboy
Copy link
Author

vxfemboy commented Jan 7, 2026

image

0x4bs3nt and others added 8 commits January 7, 2026 12:56
Infrastructure preparation for builtin complex Go module registration.
Converted nuclei scan to be able to run as module.
Fixed nil pointer dereference issues in the nuclei scan running as a
module
Set the HostErrorsCache executor option, cache is created but not passed
as option.
Headless initialization is required even without browser templates.
Nuclei expects project file to be set
Fixed Nuclei giving off exception for missing Colorizer on the executor
options.
Renamed the nuclei module file to differentiate from the nuclei legacy
scan file.
feat(modules): builtin nuclei scan as module
@vmfunc vmfunc added the blocked label Jan 12, 2026
@vmfunc
Copy link
Owner

vmfunc commented Jan 12, 2026

blocked by #63, #64 and #62

@vxfemboy
Copy link
Author

@vmfunc resolved

Copy link
Owner

@vmfunc vmfunc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Owner

@vmfunc vmfunc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hey, thanks for pushing on this - the module path migration is needed and the approach is right (atomic, single PR). couple things though:

build-breaking issues:

  • sif.go removes the internal/scan/builtin import but still calls builtin.Register() on two lines - that won't compile
  • the entire internal/scan/builtin/ package (5 files) still has dropalldatabases imports and isn't touched by this PR at all - register.go, shodan_module.go, whois_module.go, frameworks_module.go, nuclei_module.go all need the import swap

missed files:

  • .github/workflows/release.yml - has go install github.com/dropalldatabases/sif/cmd/sif@v...
  • .golangci.yml - has github.com/dropalldatabases/sif/internal/logger.Write in the errcheck exclude

also needs a rebase - main has diverged significantly (new lint config, dependency bumps, CI changes). that's probably why CI is failing on top of the missing files.

the CHANGELOG is nice but pretty heavy for this project's style - we haven't maintained one before and i'd rather not start now. the release notes on the tag are enough. would prefer to drop that file from this PR.

once the builtin package + those config files are updated and it's rebased, this should be good to go.

@vmfunc vmfunc added go Pull requests that update go code docs documentation changes ci changes to CI/workflow files config configuration changes scan changes to scan engine modules changes to scan modules and removed blocked labels Feb 13, 2026
@vmfunc vmfunc closed this Feb 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci changes to CI/workflow files config configuration changes docs documentation changes go Pull requests that update go code modules changes to scan modules scan changes to scan engine

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants