Files
FTStore/manager/CONTRIBUTING.md
T
Felitendo 0c38693f05 feat: merge ftstore-manager into the monorepo
the manager lands in manager/, next to ios/ and web/. it is a fork of
this repo's own app, not of feather, so scripts/apply-rebrand.sh
excludes it the same way it excludes web/ — the generic feather-to-
ftstore rule would rewrite its app.ftstore.manager identity and mangle
the lineage notes in its docs.

zsign and idevicekitten were vendored copies in the old repo. they are
registered as submodules here instead, pinned to the same commits ios/
uses and verified byte-identical to what was vendored. that keeps 71 MB
of duplicated source out of the tree and leaves the xcode project's
relative paths intact, so project.pbxproj needed no edits.

the server moves to ftstore.app in both apps: managerrepoclient, the
seeded default source and managerconfig's fallback. downloadmanager
keeps the old admin host in its user-agent allowlist — that check is permissive,
not identifying, and dropping it would stop sending the header to
installs whose stored override still names the old host.

the rest of the admin rename lands too: the client id, the base-url
environment variable, the info.plist key, and user-facing errors. the
userdefaults override key is renamed with a
one-time migration read, so an existing install keeps the address its
owner configured instead of falling back to the default.

tags gain a third namespace: manager-v* for releases, manager-dev for
the rolling prerelease. both repos published to a tag called `dev`
before; sharing it here would make each build overwrite the other's
release assets.
2026-08-03 13:21:48 +02:00

2.7 KiB

Contributing

FTStore is a sideloading app meant to be used on stock versions, to keep compatibility we have to utililize stock features to keep it working. As such, we have specific contribution rules in place to maintain this and FTStores integrity.

Any contributions should follow the Code of Conduct.

Rules

  • No usage of any exploits of any kind.
  • No contributions related to retrieving any signing certificates owned by companies.
  • Modifying any hardcoded links should be discussed before changing.
  • If you're planning on making a large contribution, please make an issue beforehand.
  • Your contributions should be licensed appropriately.
    • FTStore: GPLv3
    • AltSourceKit: MIT
    • NimbleKit: MIT
    • Zsign: MIT
  • Typo contributions are okay, just make sure they are appropriate.
    • This includes localizations
  • Code cleaning contributions are okay.

Contributing to FTStore

Compiling requirements

  • Xcode 16.0
  • Swift 6.0
  • iOS 16.0
  1. Clone repository

    git clone https://github.com/FTStuff/FTStore --recursive
    
    • Zsign is a submodule, recursive is required.
  2. Opening with Xcode

    cd FTStore/manager && open FTStore.xcworkspace
    

Localizations

  • For localizations, you will need Xcode 15 or higher to edit the FTStore/Resources/Localizable.xcstrings file, or some alternative software which allows you to edit an .xcstrings file.
  • We use a newer format for convenience, but at a cost of less accessibility when it comes to actually editing it.
    • Disclaimer: do NOT edit by hand.
  • Some localizations were imported from V1, if they don't make sense please feel free to change them.
  • After localizing, please have another person review your localizations (unless the owners have asked you personally to help translate).
    • We want high quality localizations and have them actually make sense when in the application.
    • They will not be merged unless the latter was done.

Making a pull request

  • Make sure your contributions stay isolated in their own branch, and not main.
  • When contributing don't be afraid of any reviewers requesting changes or judging how you wrote something, it's all to keep the project clean and tidy.

Contributing to Zsign

When contributing to Zsign, head over to khcrysalis/Zsign-Package and make your contributions.

Any contributions to here will be immediately updated to here, to keep things consistent.

Contributing to the wiki

  • If you want to add a page or suggest edits, make an issue with your proposed changes.