- Split the monolith into package/provider/fetch/merge/cache modules with the Resolver deciding install/adopt/update/merge/conflict outcomes - Three-way merges via git merge-file/diff3 against a content-addressed merge-base cache; conflicts go to a .picopackage-merge sibling - Tests for package, provider, resolver, merge, and cache - notes.md: update UX and signing design — diff-by-default, SSH signature identity pinning (TOFU), key changes as a hard stop, exit-code contract - Add CLAUDE.md; remove the pre-refactor exe/pppkg monolith and scratch files Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EiyJC73Mz8xZyCTvCEY8qn
21 lines
511 B
Ruby
21 lines
511 B
Ruby
# frozen_string_literal: true
|
|
|
|
require_relative "picopackage/version"
|
|
require_relative "picopackage/package"
|
|
require_relative "picopackage/cache"
|
|
require_relative "picopackage/merge"
|
|
require_relative "picopackage/fetch"
|
|
require_relative "picopackage/provider"
|
|
require_relative "picopackage/scanner"
|
|
require_relative "picopackage/cli"
|
|
|
|
module Picopackage
|
|
class Error < StandardError; end
|
|
|
|
class FileTooLargeError < Error; end
|
|
|
|
class FetchError < Error; end
|
|
|
|
class LocalModificationError < Error; end
|
|
end
|