swift-style

SwiftLint, layout de Sources, Kanna/libxml2, plataformas, nomenclatura, controle de acesso para todo Swift neste repositório.

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)

Mais skills de contentstack

cms-assets
contentstack
Aconselhe desenvolvedores sobre organização, entrega e transformação de ativos no Contentstack. Aborde estrutura de pastas, transformações da Image Delivery API, publicação…
cms-branches-aliases
contentstack
Aconselhe desenvolvedores sobre o uso de branches do Contentstack para desenvolvimento isolado de conteúdo e aliases para implantações de conteúdo sem tempo de inatividade. Cubra estratégia de branches,…
cms-data-modeling-best-practices
contentstack
Orientar desenvolvedores a modelar conteúdo no Contentstack usando a estrutura reutilizável mais simples. A skill explica quando usar content types, references, global…
cms-live-preview-visual-builder-support-assistant
contentstack
Diagnostique e oriente implementações do Contentstack Live Preview e Visual Builder. Rastreie o contexto de preview, identifique o contrato quebrado e recomende a…
cms-releases
contentstack
Orientar desenvolvedores no uso de Contentstack Releases para implantação coordenada e atômica de conteúdo. Abordar criação de releases, gerenciamento de itens, implantação em estágios,…
cms-roles-permissions
contentstack
Aconselhe desenvolvedores sobre o design de funções, permissões, equipes e acesso por token no Contentstack. Explique funções integradas, funções personalizadas, mesclagem de permissões,…
cms-taxonomy
contentstack
Aconselhe desenvolvedores sobre o uso do Contentstack Taxonomy para classificação de conteúdo estruturada e hierárquica e filtragem no lado da entrega. Aborda taxonomy vs tags,…
cms-tokens-authentication
contentstack
Orientar desenvolvedores na escolha do método de autenticação e tipo de token adequados do Contentstack para casos de uso de frontend, backend, automação e aplicativos de terceiros.…