Automic VaultAutomic Vault

brew

Install xcp with Homebrew, Nix

Fast & lightweight command-line tool for managing Xcode projects, built in Swift. Version 1.2.1 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install xcp

local Homebrew formula metadata

Linux

Nixverified · 92%
nix profile install nixpkgs#xcp

nixpkgs package indexes · pkgs/by-name/xc/xcp/package.nix · source: api.github.com

overview

Package summary

Fast & lightweight command-line tool for managing Xcode projects, built in Swift

Commands and aliases

  • xcp

history

Project history and usage

XcodeProjectCLI, installed as xcp, is a Swift command-line and library wrapper for making targeted edits to Xcode project files. It focuses on direct project maintenance tasks such as listing targets, moving groups and files, changing build settings, and managing asset catalog entries.

Project history

The GitHub repository was created on 2025-10-28, with the first public release, v0.9.1, published on 2025-10-30 and v1.0.0 following on 2025-11-14. The README describes the project as a fast, lightweight CLI for managing Xcode projects, built entirely in Swift and powered by Tuist's XcodeProj library.

The author announced the tool on the Swift Forums in November 2025, explaining that it was initially built for the xcodebuild.nvim Neovim plugin but could be used generally to automate Xcode project-file work. The v1.0.0 release added support for relative .xcodeproj paths and build-setting get/set commands, moving the tool from basic structure manipulation toward broader project automation.

Adoption history

Because xcp is newer and narrower than XcodeGen or xcodes, its adoption history is still early. Its visible niche is automation around existing .xcodeproj files, especially editor and scripting workflows where opening Xcode just to add a file, move a group, or tweak a build setting is unnecessary.

How it is used

Typical CLI usage calls xcp with subcommands for targets, groups, files, build settings, and assets. The same code can also be used as a Swift library, allowing macOS automation tools to open a project, manipulate groups or files, and save the pbxproj programmatically.

Compared with generators, xcp does not replace the .xcodeproj with a declarative spec. Its niche is smaller: script one operation against an existing project file, which is useful for editor integrations, refactoring scripts, and generated-file workflows.

Why package nerds care

xcp is significant as a small composable Unix-style tool for an otherwise GUI-heavy file format. For package catalogues it sits between low-level pbxproj libraries and high-level project generators: one executable, a focused command set, and an automation-friendly Swift library underneath.

Timeline

  • 2025-10-28: Repository created on GitHub.
  • 2025-10-30: v0.9.1 first public release.
  • 2025-11-14: v1.0.0 release added relative project paths and build-setting commands.
  • 2025-11-19: Author presented XcodeProjectCLI in the Swift Forums Community Showcase.
  • 2025-11-22: v1.2.1 release published.

Related projects

  • XcodeProj from Tuist is the underlying library named by the README as the foundation for XcodeProjectCLI.
  • xcodebuild.nvim is related because the author said xcp was initially built for that Neovim-based iOS/macOS development workflow.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 4 platform targets.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
xcpcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version1.2.1
manager updated
local dataok
upstreamcurrent
latest detectedv1.2.1

https://github.com/wojciech-kulik/XcodeProjectCLI

  • infoNo package-manager update timestamp was available.low confidence

install metadata

Package metadata

Package keybrew:xcp
Version1.2.1
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/xcp
Homepagehttps://github.com/wojciech-kulik/XcodeProjectCLI
Repositoryhttps://github.com/wojciech-kulik/XcodeProjectCLI
Upstream docshttps://github.com/wojciech-kulik/XcodeProjectCLI#readme
LicenseMIT
Source archivehttps://github.com/wojciech-kulik/XcodeProjectCLI/archive/refs/tags/v1.2.1.tar.gz
Bottleavailable (on arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namexcp
Version Scheme0
Revision0
Requirements
  • macos
  • xcode
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

xcp

nix profile install nixpkgs#xcp
  • normalized package name match
  • Matched by: Xcp
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/xc/xcp/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment