-
Notifications
You must be signed in to change notification settings - Fork 0
Adopt centralized package agent guidelines #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
716fe30
Merge commit '846d331be095f5d79256560a06abb13718f574ea' as 'AgentGuid…
backslash-f 846d331
Squashed 'AgentGuidelines/' content from commit f5e7da0
backslash-f c992b27
Add package agent instructions
backslash-f fe7f978
Merge commit '4eaa09667548aff9fe0e9dfe308c9b89b7dbd498' into codex/ce…
backslash-f 4eaa096
Squashed 'AgentGuidelines/' changes from f5e7da0..2bf029e
backslash-f 3245d9e
Merge commit '89480f481f47b385f24acae66f17c8860d7e96f4' into codex/ce…
backslash-f 89480f4
Squashed 'AgentGuidelines/' changes from 2bf029e..112ac8e
backslash-f 94201b0
Reference Git and pull request guidelines
backslash-f 67fc50a
Squashed 'AgentGuidelines/' changes from 112ac8e..2958ce1
backslash-f b459148
Merge commit '67fc50adde7efdcdad8f8317ec14a02e7ef5c12a' into codex/ce…
backslash-f File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,41 @@ | ||
| # ProgressionKit | ||
|
|
||
| ## Context | ||
|
|
||
| ProgressionKit is a pure Swift package for deterministic XP, player levels, track mastery, and tier unlocks. Read [README.md](README.md) and the DocC catalog before changing public behavior. | ||
|
|
||
| The package is content-, storage-, UI-, and application-architecture agnostic. Host applications decide what content, tracks, tiers, persistence, and presentation mean. | ||
|
|
||
| ## Shared guidelines | ||
|
|
||
| Read only the guides relevant to the task: | ||
|
|
||
| - [Swift](AgentGuidelines/Guidelines/Swift/Swift.md) | ||
| - [Swift style](AgentGuidelines/Guidelines/Swift/SwiftStyle.md) | ||
| - [SwiftLint](AgentGuidelines/Guidelines/Swift/SwiftLint.md) | ||
| - [Unit and integration testing](AgentGuidelines/Guidelines/Testing/UnitTesting.md) | ||
| - [Documentation](AgentGuidelines/Guidelines/Documentation.md) | ||
| - [Packages](AgentGuidelines/Guidelines/Packages.md) | ||
| - [CI/CD](AgentGuidelines/Guidelines/CICD.md) | ||
| - [Git repositories and SSH-first cloning](AgentGuidelines/Guidelines/Git/Repositories.md) | ||
| - [GitHub pull requests](AgentGuidelines/Guidelines/GitHub/PullRequests.md) | ||
| - [Xcode MCP](AgentGuidelines/Guidelines/Xcode/MCP.md) | ||
| - [Xcode security audits](AgentGuidelines/Guidelines/Xcode/Security.md) | ||
|
|
||
| Redux, SwiftUI, and application-localization guidance do not apply to the package target. | ||
|
|
||
| ## Physical folder map | ||
|
|
||
| | Role | Physical folder | | ||
| |---|---| | ||
| | Package sources | `Sources/ProgressionKit/` | | ||
| | DocC catalog | `Sources/ProgressionKit/ProgressionKit.docc/` | | ||
| | Unit tests | `Tests/ProgressionKitTests/` | | ||
|
|
||
| ## Package specialization | ||
|
|
||
| - Keep progression updates deterministic for the same profile, event, and configuration. | ||
| - Do not add storage, network, UI, Redux, or game-content dependencies. | ||
| - Host applications own mapping from their domain identifiers and outcomes into `PKEvent`. | ||
| - Preserve compiler-synthesized value semantics and serialization when evolving public models. | ||
| - Update tests, DocC, README examples, and release notes when public behavior changes. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| name: CI | ||
|
|
||
| on: | ||
| pull_request: | ||
| push: | ||
| branches: | ||
| - main | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| jobs: | ||
| validate: | ||
| name: Validate guidelines | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v7 | ||
|
|
||
| - name: Validate | ||
| run: | | ||
| python3 -m unittest discover -s Tests | ||
| python3 Scripts/validate_guidelines.py | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,44 @@ | ||
| name: Release | ||
|
|
||
| on: | ||
| push: | ||
| tags: | ||
| - "*.*.*" | ||
|
|
||
| permissions: | ||
| contents: write | ||
|
|
||
| jobs: | ||
| release: | ||
| name: Create GitHub release | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v7 | ||
|
|
||
| - name: Validate guidelines | ||
| run: python3 Scripts/validate_guidelines.py | ||
|
|
||
| - name: Validate tag | ||
| run: | | ||
| version="$(tr -d '[:space:]' < VERSION)" | ||
| test "$GITHUB_REF_NAME" = "$version" | ||
|
|
||
| - name: Prepare release notes | ||
| run: | | ||
| version="$(tr -d '[:space:]' < VERSION)" | ||
| awk -v version="$version" ' | ||
| index($0, "## [" version "]") == 1 { capture = 1; next } | ||
| capture && /^## \[/ { exit } | ||
| capture { print } | ||
| ' CHANGELOG.md > release-notes.md | ||
| test -s release-notes.md | ||
|
|
||
| - name: Create release | ||
| env: | ||
| GH_TOKEN: ${{ github.token }} | ||
| run: | | ||
| gh release create "$GITHUB_REF_NAME" \ | ||
| --verify-tag \ | ||
| --title "$GITHUB_REF_NAME" \ | ||
| --notes-file release-notes.md |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| .DS_Store | ||
| __pycache__/ | ||
| *.py[cod] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,38 @@ | ||
| # Agent Guidelines | ||
|
|
||
| ## Purpose | ||
|
|
||
| This public repository is the versioned source of truth for reusable ThatFactory agent guidance. Keep it generic enough to apply to multiple applications and Swift packages. Product decisions, concrete project paths, and exceptions belong in each consumer repository. | ||
|
|
||
| ## Sources of truth | ||
|
|
||
| - Use official Apple documentation for Apple APIs and Xcode behavior. | ||
| - Distill durable policy from Xcode-provided skills; do not copy exported Apple skills into this repository. | ||
| - Do not include private company information, credentials, personal absolute paths, or consumer-specific implementation details. | ||
| - When shared and consumer guidance differ, the consumer's nearest applicable `AGENTS.md` is the explicit specialization. | ||
|
|
||
| ## Documentation changes | ||
|
|
||
| - Keep each rule in the narrowest relevant guide and link to it rather than duplicating it. | ||
| - Use physical folder terminology for Xcode projects. Do not call filesystem folders Xcode groups. | ||
| - Keep examples generic and concise. | ||
| - Use relative Markdown links inside this repository. | ||
| - Update `README.md` when adding, moving, or removing a guide. | ||
| - Update `CHANGELOG.md` and `VERSION` for a release. | ||
|
|
||
| ## Validation | ||
|
|
||
| Run: | ||
|
|
||
| ```sh | ||
| python3 Scripts/validate_guidelines.py | ||
| ``` | ||
|
|
||
| Fix every validation failure before releasing a version. | ||
|
|
||
| ## Releases | ||
|
|
||
| - Use semantic versioning. | ||
| - Create a Git tag and GitHub release matching `VERSION`. | ||
| - Consumer repositories adopt releases deliberately through Git subtree updates. | ||
| - Follow [the pull-request review workflow](Guidelines/GitHub/PullRequests.md) before merging any release change. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| # Changelog | ||
|
|
||
| All notable changes to this project are documented in this file. | ||
|
|
||
| ## [0.0.3] - 2026-07-21 | ||
|
|
||
| ### Added | ||
|
|
||
| - A Codex review-monitoring workflow covering paginated processing reactions and review threads, clean reviews, inline feedback, replies, thread resolution, and CI checks. | ||
|
|
||
| ## [0.0.2] - 2026-07-21 | ||
|
|
||
| ### Added | ||
|
|
||
| - Standard README badge conventions for ThatFactory projects and packages. | ||
| - Git repository guidance that defaults push-capable clones to SSH remotes. | ||
| - GitHub pull-request review and merge-gate guidance. | ||
| - Updated and Revision badges to the repository README. | ||
|
|
||
| ### Changed | ||
|
|
||
| - Updated GitHub workflows to `actions/checkout@v7` and documented using current stable action versions in new workflows. | ||
| - Clarified the Redux side-effect loop and the canonical view-projection test path. | ||
| - Expanded and tested semantic-version validation to support prerelease plus build metadata and reject invalid numeric identifiers. | ||
| - Removed the redundant README license section while retaining the MIT license badge and root license file. | ||
|
|
||
| ## [0.0.1] - 2026-07-21 | ||
|
|
||
| ### Added | ||
|
|
||
| - Initial shared guidelines for Redux, Swift, SwiftUI, SwiftLint, localization, testing, documentation, package maintenance, CI/CD, Xcode MCP, and Xcode security audits. | ||
| - A consumer `AGENTS.md` template and Git subtree installation workflow. | ||
| - Structural validation for links, the documentation catalog, version metadata, subtree instructions, and public-repository safety. | ||
| - A tag-driven GitHub release workflow that validates the tag against `VERSION` and publishes changelog notes. |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.