Spark is the Leboncoin's Design System.
This repository is for iOS only, supporting both SwiftUI and UIKit.
It is composed of a theming solution, components, and resources (iconography).
Note: Instructions below are for using SPM without the Xcode UI. It's the easiest to go to your Project Settings -> Swift Packages and add SparkComponentButton from there.
To integrate using Apple's Swift package manager, without Xcode integration, add the following as a dependency to your Package.swift:
.package(url: "https://github.com/leboncoin/spark-ios.git", .upToNextMajor(from: "2.0.0"))and then specify Spark as a dependency of the Target in which you wish to use the SparkComponentButton.
Here's an example Package.swift:
// swift-tools-version:5.9
import PackageDescription
let package = Package(
name: "MyPackage",
platforms: [
.iOS(.v17)
],
products: [
.library(
name: "MyPackage",
targets: ["MyPackage"]),
],
dependencies: [
.package(
url: "https://github.com/leboncoin/spark-ios.git",
.upToNextMajor(from: "2.0.0")
)
],
targets: [
.target(
name: "MyPackage",
dependencies: [
.product(
name: "Spark",
package: "spark-ios"
)
]
)
]
)More Package.swift examples are available in the SPM Integration documentation.
To launch the demo app, launch the command line :
$ xcodegen
Then open the generated file : Spark.xcodeproj.
A prebuilt demo app (simulator build) from the latest nightly run is also available: download SparkMainDemo.app (see the Nightly Demo App workflow).
To install it on a simulator:
- Download and unzip
SparkMainDemo.app.zip. - Launch a simulator (from Xcode, or with
open -a Simulator). - Drag and drop
SparkMainDemo.apponto the simulator window. - The app is installed and appears on the simulator home screen.
Technical API documentation in DocC format is available on our dedicated website.
Spark MCP Documentation - Use the Spark iOS documentation in Claude, Cursor or VS Code through the Context7 MCP server
Build, test, and development commands are documented in the Makefile documentation.
Workflows Documentation - Continuous integration and deployment workflows
Scripts Documentation - Utility scripts for code generation and asset management
Release Documentation - How to release a new version
Spark Tokens Bridge Setup - Setup and configuration for the Spark tokens bridge
Claude Skills Documentation - Comprehensive guide to all available Claude Code skills for component development
Please take a look at the contribution guide to setup your dev environment and get a list of common tasks used in this project, as well as the Code of conduct.
MIT License
Copyright (c) 2026 Leboncoin
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.