Context-aware routing to code generation workflows including SwiftGen, Sourcery, Feature Flags, and Protobuf. Use when running make generate, adding feature flags, or working with generated files.
Context-aware routing to code generation workflows: SwiftGen, Sourcery, Feature Flags, and Protobuf. Helps you navigate when and how to run generators.
make generate// Generated using Sourcery/SwiftGen are auto-generatedmake generate after changes - When updating templates, flags, assets, or localizationmake generate # Run all generators (SwiftGen, Sourcery, assets, localization)
make generate-middle # Regenerate middleware and protobuf (when dependencies change)
make setup-middle # Initial middleware setup
File: /Modules/AnytypeCore/AnytypeCore/Utils/FeatureFlags/FeatureDescription+Flags.swift
extension FeatureDescription {
static let newChatInterface = FeatureDescription(
title: "New Chat Interface",
type: .feature(author: "Your Name", releaseVersion: "0.42.0"),
defaultValue: false, // Off in production
debugValue: true // On in debug builds for testing
)
}
make generate
This creates: Modules/AnytypeCore/AnytypeCore/Generated/FeatureFlags.swift
import AnytypeCore
if FeatureFlags.newChatInterface {
NewChatView()
} else {
LegacyChatView()
}
.debug: Debug-only (not available in production).feature(author:releaseVersion:): Production feature with metadatadefaultValue: false for unreleased featuresdebugValue: true for easier developer testingmake generate| You Did This | Run This | Why |
|--------------|----------|-----|
| Added/updated .xcstrings | make generate | Regenerate Loc constants |
| Added feature flag | make generate | Generate FeatureFlags enum |
| Added icon to Assets.xcassets | make generate | Generate Image asset constants |
| Modified Sourcery template | make generate | Regenerate code from templates |
| Updated middleware version | make generate-middle | Regenerate protobuf bindings |
QRCode.svg)/Modules/Assets/.../Assets.xcassets/DesignSystem/x32/QRCode.imageset/make generateImage(asset: .X32.qrCode)Icon Sizes: x18, x24, x32, x40 (pt)
SwiftGen generates Loc constants from .xcstrings files.
See localization-developer skill for complete workflow.
Sourcery generates Swift code from templates based on source file annotations.
Common uses:
Workflow:
// sourcery: AutoEquatablemake generateDependencies/Middleware/Lib.xcframework missing binariesmake setup-middle # Initial setup
make generate-middle # Regenerate middleware + protobuf
// In FeatureFlags.swift (GENERATED)
static let myFlag: Bool = true // ❌ DON'T DO THIS
// Your changes will be overwritten
✅ Correct: Edit FeatureDescription+Flags.swift, then make generate
// Added FeatureDescription but didn't generate
if FeatureFlags.myNewFlag { // ❌ Error: unresolved identifier
...
}
✅ Correct: Run make generate first
Symptoms: "Lib.xcframework missing binaries"
Solution: make setup-middle or make generate
Full Guide: Modules/AnytypeCore/CODE_GENERATION_GUIDE.md
For comprehensive coverage of:
make generate if you added/updated:
LOCALIZATION_GUIDE.md - Localization keys generated by SwiftGenIOS_DEVELOPMENT_GUIDE.md - Never edit generated filesNavigation: This is a smart router. For deep technical details, always refer to CODE_GENERATION_GUIDE.md.
npx skills add anyproto/code-generation-developer下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer