apple/swift
How to contribute
This section covers the day-to-day workflow for making changes to the Swift compiler, runtime, and standard library. The canonical, human-maintained guide is CONTRIBUTING.md. This wiki section gives a higher-level orientation and points to the relevant code paths.
Where to start
- Read Getting started and Architecture so you know what subsystem owns the change you have in mind.
- Browse
docs/HowToGuides/FirstPullRequest.mdfor the literal first-PR walkthrough. - Pick an issue tagged good first issue on the upstream tracker.
Workflow at a glance
| Step | Where |
|---|---|
| Find an area | This wiki, the Lexicon, docs/ |
| Set up the workspace | update-checkout, build-script. See Tooling. |
| Hack and test | See Development workflow and Testing |
| Debug | See Debugging and docs/DebuggingTheCompiler.md |
| Open the PR | CONTRIBUTING.md |
| Trigger CI | Comment @swift_ci please test on the PR |
Sub-pages in this section
- Development workflow -- branches, commit messages, PR review.
- Testing --
lit,run-test, the test directories, and how to write tests. - Debugging -- compiler debug flags, SIL dumps, runtime debug environment.
- Patterns and conventions -- coding style on both sides of the C++/Swift boundary.
- Tooling -- the build system, helper scripts, and editor integration.
What requires Swift Evolution
Anything user-visible in the language or in the public API of the standard library goes through the Swift Evolution process. Compiler internals, optimizer changes, diagnostic improvements, and bug fixes do not. If you're unsure, ask in the Swift forums.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.
Previous
Fun facts
Next
Development workflow