Important
๐จ This current version of Bones is still in development. It is not yet ready for production use.
Design System libraries for iOS applications
Bones Design System is the framework that helps our ecosystem design and develop consistent, high-quality experiences. It consists of rules, principles, and guidelines likes used to design.
To help developers avoid any design mistakes, we prefix all our design system elements with the bones
keyword. We also prefer to scope any type into a bones
namespace enum.
-
Append Bones to your package's dependency array
dependencies: [ .package( url: "https://github.com/phoenisis/bones-swiftui", .upToNextMajor(from: "0.0.0") ), // Any other dependencies... ],
-
Subsequently, integrate Bones to any target's dependency array requiring it
.target(
name: "YourSwiftTarget",
dependencies: [
.product(
name: "Bones",
package: "bones-swiftui"
),
// Any other dependencies...
]
),
To ensure consistent code quality and adherence to best practices, we've integrated tools to help automate the process. Please follow the steps below to set up your development environment
- SwiftLint This is a tool to enforce Swift style and conventions
brew install swiftlint
- pre-commit This tool is used to manage and maintain pre-commit hooks
brew install pre-commit
After installing the necessary tools, set up the pre-commit hook by running the following command
echo '#!/usr/bin/env bash
./Scripts/process.sh --fail-on-errors
failed=$?
exit $failed' > .git/hooks/pre-commit-test && chmod +x .git/hooks/pre-commit-test
This command creates a hook in your .git directory, which will be executed before each commit. If the script encounters any errors, the commit will be aborted
Note
Ensure you're in your project's root directory when setting up the pre-commit hook. If you encounter any issues or have questions, please consult the project's maintainer or review our troubleshooting guide.