swift-style

द्वारा contentstack

इस रिपॉजिटरी में सभी Swift के लिए SwiftLint, Sources लेआउट, Kanna/libxml2, प्लेटफॉर्म, नामकरण, एक्सेस कंट्रोल।

npx skills add https://github.com/contentstack/contentstack-utils-swift --skill swift-style

Swift style and repo layout – Contentstack Utils Swift

When to use

  • Editing any Swift under Sources/ or Tests/.
  • Adding files or changing platform/deployment assumptions.

Tooling

  • Run SwiftLint with .swiftlint.yml. Do not relax rules for new code without team agreement.
  • Sources/Kanna/ is excluded from SwiftLint—do not copy patterns into Sources/ContentstackUtils/ that would fail lint there.

Package layout

  • Library code: Sources/ContentstackUtils/.
  • Vendored Kanna: Sources/Kanna/—treat as third-party unless you are deliberately upgrading the vendored copy; prefer fixes in ContentstackUtils or documented Kanna upgrades.

Platforms and libxml2

  • Deployment targets: macOS 10.13+, iOS/tvOS 11+, watchOS 4+ (Package.swift). Avoid newer SDK-only APIs without availability checks or a deliberate target bump.
  • libxml2: Apple platforms use system libxml where applicable; Linux uses the libxml2 system target and pkg-config. Keep Modules/ and Package.swift conditionals in sync when changing platform support.

Naming and API surface

  • Swift conventions: types UpperCamelCase, members lowerCamelCase.
  • Preserve established public names even when imperfect (e.g. historical typos) unless doing a semver-major cleanup with maintainer agreement.

Imports and access control

  • import Foundation as needed; HTML parsing follows existing Kanna usage in this package.
  • Mark public / open intentionally; keep implementation internal or private unless tests use established @testable patterns.

References

  • skills/framework/SKILL.md (SPM, podspec, CI)
  • skills/testing/SKILL.md (lint exclusions in tests)

contentstack की और Skills

cms-assets
contentstack
डेवलपर्स को Contentstack में एसेट्स को व्यवस्थित करने, वितरित करने और बदलने के बारे में सलाह दें। फोल्डर संरचना, Image Delivery API ट्रांसफॉर्मेशन, प्रकाशन कवर करें...
cms-branches-aliases
contentstack
डेवलपर्स को Contentstack branches का उपयोग करके पृथक सामग्री विकास और aliases के लिए शून्य-डाउनटाइम सामग्री परिनियोजन पर सलाह दें। Branch रणनीति को कवर करें,…
cms-data-modeling-best-practices
contentstack
डेवलपर्स को Contentstack में कंटेंट मॉडल करने के लिए सबसे सरल पुन: प्रयोज्य संरचना का उपयोग करने का मार्गदर्शन करें। यह स्किल बताती है कि कंटेंट टाइप, रेफरेंस, ग्लोबल… का उपयोग कब करना चाहिए।
cms-live-preview-visual-builder-support-assistant
contentstack
Contentstack Live Preview और Visual Builder कार्यान्वयनों का निदान और मार्गदर्शन करें। पूर्वावलोकन संदर्भ का पता लगाएं, टूटे हुए अनुबंध की पहचान करें, और अनुशंसा करें…
cms-releases
contentstack
डेवलपर्स को समन्वित, परमाणु सामग्री परिनियोजन के लिए Contentstack Releases का उपयोग करने पर सलाह दें। रिलीज़ निर्माण, आइटम प्रबंधन, चरणबद्ध परिनियोजन को शामिल करें,…
cms-roles-permissions
contentstack
डेवलपर्स को Contentstack में भूमिकाओं, अनुमतियों, टीमों और टोकन एक्सेस डिज़ाइन करने पर सलाह दें। बिल्ट-इन भूमिकाओं, कस्टम भूमिकाओं, अनुमति विलय,… की व्याख्या करें।
cms-taxonomy
contentstack
डेवलपर्स को संरचित, श्रेणीबद्ध सामग्री वर्गीकरण और डिलीवरी-पक्ष फ़िल्टरिंग के लिए Contentstack Taxonomy का उपयोग करने पर सलाह दें। Taxonomy बनाम tags को कवर करता है,…
cms-tokens-authentication
contentstack
डेवलपर्स को फ्रंटएंड, बैकएंड, ऑटोमेशन और थर्ड-पार्टी ऐप उपयोग के मामलों के लिए सही Contentstack प्रमाणीकरण विधि और टोकन प्रकार चुनने पर सलाह दें।…