pkg.soopen package index

brew / rank 6338

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. Also installable with nix: nix profile install nixpkgs#xcp.

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 bottle metadata was recorded.

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
xcpexecutableindexed executableDiscovered from the local executable index.

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-08-03
manager version1.2.1
manager updated
local dataunknown
upstreamnot available
latest detectednot detected
  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:xcp
Version1.2.1
Package managerHomebrew
Homepagehttps://github.com/wojciech-kulik/XcodeProjectCLI
Repositoryhttps://github.com/wojciech-kulik/XcodeProjectCLI
Bottlenot recorded
Servicenone declared

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
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • pkg.so package database
  • pkgdb category and tag curation