@cassiomc1/forgeloop 1.12.0 → 1.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/copilot-instructions.md +1 -1
- package/AGENTS.md +1 -1
- package/CLAUDE.md +1 -1
- package/CONTRIBUTING.md +90 -0
- package/DOCS_INDEX.md +13 -11
- package/ENG/c-development-eng.md +112 -0
- package/ENG/cpp-development-eng.md +109 -0
- package/ENG/dotnet-aspnetcore-development-eng.md +401 -0
- package/ENG/go-development-eng.md +103 -0
- package/ENG/java-development-eng.md +125 -0
- package/ENG/nodejs-backend-development-eng.md +605 -0
- package/ENG/php-development-eng.md +104 -0
- package/ENG/rust-development-eng.md +422 -0
- package/ENG/sql-development-eng.md +108 -0
- package/ENG/swift-development-eng.md +111 -0
- package/ENG/typescript-development-eng.md +108 -0
- package/GUIDE_ROUTER.md +418 -9
- package/QUALITY_SCORECARD.md +1 -0
- package/README.md +44 -33
- package/THIRD_PARTY_NOTICES.md +19 -7
- package/completions/_forgeloop +3 -3
- package/completions/forgeloop.bash +3 -3
- package/completions/forgeloop.fish +7 -0
- package/docs/AGENT_PROTOCOL_SUMMARY.md +55 -2
- package/docs/CLI_REFERENCE.md +28 -6
- package/docs/DOCUMENTATION_GUIDE.md +2 -1
- package/docs/GETTING_STARTED.md +59 -0
- package/docs/PACKAGE_CONTENTS.md +28 -14
- package/docs/RECIPES.md +23 -0
- package/docs/RELEASE_CHECKLIST.md +30 -2
- package/docs/TROUBLESHOOTING.md +100 -2
- package/docs/documentation-manifest.json +652 -0
- package/docs/protocol-requirements.json +77 -0
- package/package.json +19 -4
- package/schemas/routing-input.schema.json +1 -1
- package/scripts/CI_VALIDATORS.md +84 -11
- package/scripts/generate-agent-protocol-summary.mjs +36 -0
- package/src/commands/next.js +19 -7
- package/src/commands/task-create.js +84 -25
- package/src/commands/task-list.js +22 -2
- package/src/config/guides.json +44 -0
- package/src/core/build-script.js +151 -0
- package/src/core/c-cpp-project.js +143 -0
- package/src/core/cli-command-definitions.js +8 -1
- package/src/core/command-executors.js +5 -3
- package/src/core/command-input.js +140 -102
- package/src/core/contract-presets.js +82 -0
- package/src/core/error-codes.js +3 -3
- package/src/core/filesystem.js +1 -10
- package/src/core/go-project.js +206 -0
- package/src/core/java-project.js +403 -0
- package/src/core/multi-language-project.js +117 -0
- package/src/core/next-explanation.js +63 -0
- package/src/core/php-project.js +85 -0
- package/src/core/project-detection.js +1760 -52
- package/src/core/reconcile-closure.js +4 -1
- package/src/core/router.js +156 -3
- package/src/core/rust-project.js +400 -0
- package/src/core/sql-project.js +141 -0
- package/src/core/swift-project.js +200 -0
- package/src/core/typescript-project.js +349 -0
- package/src/core/xml-structure.js +123 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: swift-development-eng
|
|
3
|
+
language: en
|
|
4
|
+
description: "Specialist guidance for production Swift applications, packages, services, and Apple-platform components."
|
|
5
|
+
version: "2026.09"
|
|
6
|
+
last-reviewed: "2026-09-12"
|
|
7
|
+
guide-id: swift
|
|
8
|
+
requires-gates:
|
|
9
|
+
- threat-boundary
|
|
10
|
+
completion-evidence:
|
|
11
|
+
- swift-validation
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Swift Development Engineering Guide
|
|
15
|
+
|
|
16
|
+
## Mission and activation
|
|
17
|
+
|
|
18
|
+
Use this guide for Swift applications, packages, services, workers, Apple
|
|
19
|
+
platform components, and command-line tools. A valid `Package.swift` is
|
|
20
|
+
SwiftPM topology; it does not by itself prove that a Swift target exists. The
|
|
21
|
+
specialist is confirmed by owned `.swift` source, explicit Swift in CMake or
|
|
22
|
+
Meson, bounded Xcode Swift markers, or a direct claim to Swift source. A direct
|
|
23
|
+
claim to `Package.swift` selects Swift guidance because the manifest itself is
|
|
24
|
+
Swift/PackageDescription code, including a native-only package. A C-only or
|
|
25
|
+
C++-only package remains native-only for unrelated source claims.
|
|
26
|
+
|
|
27
|
+
`Package.resolved`, package names, an Xcode image, Docker/CI setup, generated
|
|
28
|
+
or vendored source, and package-manager metadata alone are not Swift runtime
|
|
29
|
+
identity. Detection reads bounded text and never runs SwiftPM, Xcode, macros,
|
|
30
|
+
plugins, build scripts, tests, or network resolution.
|
|
31
|
+
|
|
32
|
+
## Authority and precedence
|
|
33
|
+
|
|
34
|
+
Repository package manifest, toolchain, deployment target, SDK, target triple,
|
|
35
|
+
entitlements, signing policy, ABI, and platform support win over generic
|
|
36
|
+
advice. Use version-matched Swift language, SwiftPM, Apple SDK, and Xcode
|
|
37
|
+
documentation after repository evidence. Swift 6.3 is the stable reference in
|
|
38
|
+
the 2026-09 plan snapshot; the online language book's 6.4 beta material is not
|
|
39
|
+
an automatic target.
|
|
40
|
+
|
|
41
|
+
Keep Swift language mode, compiler/toolchain, SDK, deployment target, runtime
|
|
42
|
+
OS, architecture, signing, entitlements, and package/platform compatibility
|
|
43
|
+
separate. Do not migrate an existing target because a newer toolchain is
|
|
44
|
+
available.
|
|
45
|
+
|
|
46
|
+
## Package, project, and target discovery
|
|
47
|
+
|
|
48
|
+
`Package.swift` must have a tools-version header and conservative
|
|
49
|
+
`PackageDescription`/`Package(` structure. The manifest is executable code, so
|
|
50
|
+
dynamic target declarations may remain unresolved. Use default SwiftPM source
|
|
51
|
+
conventions and already discovered files without evaluating the manifest.
|
|
52
|
+
Invalid `Package.swift` contributes no SwiftPM-derived Swift/C/C++ evidence;
|
|
53
|
+
independently confirmed native build roots remain eligible. Swift `mobile-ui`
|
|
54
|
+
work is executable language work for routing purposes.
|
|
55
|
+
`project.pbxproj` and CMake/Meson declarations are static context; an
|
|
56
|
+
`.xcworkspace` or package resolution file is aggregation/dependency context.
|
|
57
|
+
|
|
58
|
+
SwiftPM may contain separate Swift, C, and C++ targets. Preserve same-root
|
|
59
|
+
composition and nested package ownership; do not make languages mutually
|
|
60
|
+
exclusive or claim a native target as Swift without evidence.
|
|
61
|
+
|
|
62
|
+
## Architecture and language semantics
|
|
63
|
+
|
|
64
|
+
Keep UI, domain, persistence, networking, platform services, and package
|
|
65
|
+
targets separate where the repository does. Review value/reference semantics,
|
|
66
|
+
optionals, protocols, generics, associated types, error enums, `Codable`,
|
|
67
|
+
actors, structured concurrency, isolation, `Sendable`, ownership/lifetime,
|
|
68
|
+
ARC, retain cycles, unsafe pointers, existentials, and ABI/public API
|
|
69
|
+
compatibility.
|
|
70
|
+
|
|
71
|
+
Make async cancellation, task ownership, actor boundaries, executor use,
|
|
72
|
+
timeouts, back pressure, and shutdown observable. Do not hide mutable shared
|
|
73
|
+
state behind global actors or introduce `@unchecked Sendable` without a
|
|
74
|
+
proven invariant.
|
|
75
|
+
|
|
76
|
+
## I/O, security, and performance
|
|
77
|
+
|
|
78
|
+
Validate URL, file, IPC, decoded, keychain, network, and platform-service data
|
|
79
|
+
before use. Bound downloads, image/data decoding, queues, retries, tasks,
|
|
80
|
+
database resources, and logging. Protect credentials, entitlements, signing
|
|
81
|
+
material, user data, deep links, and IPC boundaries. Measure startup, memory,
|
|
82
|
+
allocation, rendering, battery, network, and concurrency behavior before
|
|
83
|
+
optimizing.
|
|
84
|
+
|
|
85
|
+
## Build, interop, and portability
|
|
86
|
+
|
|
87
|
+
Keep SwiftPM/Xcode build settings, SDKs, generated sources, macros, package
|
|
88
|
+
versions, platform deployment targets, and reproducible archives under review.
|
|
89
|
+
At C/C++/Objective-C/FFI boundaries specify layout, ownership, nullability,
|
|
90
|
+
error translation, thread/actor rules, and lifetime. Keep Apple-platform
|
|
91
|
+
conditional code and cross-platform abstractions explicit.
|
|
92
|
+
|
|
93
|
+
## Verification and Definition of Done
|
|
94
|
+
|
|
95
|
+
Run focused SwiftPM/Xcode compilation, unit/UI/integration tests, concurrency
|
|
96
|
+
checks, static analysis, package resolution/lockfile checks, signing and
|
|
97
|
+
entitlement checks, and platform matrix validation for the exact SDK and
|
|
98
|
+
target. Record command, toolchain, platform, and unavailable tools as
|
|
99
|
+
`NOT_VERIFIED`. Completion requires tested cancellation, failure, resource,
|
|
100
|
+
security, compatibility, and packaging behavior. ForgeLoop performs bounded
|
|
101
|
+
structural Swift package/project analysis, not full SwiftPM resolution, build
|
|
102
|
+
setting evaluation, macro execution, or Xcode build execution.
|
|
103
|
+
|
|
104
|
+
## Official sources
|
|
105
|
+
|
|
106
|
+
- [The Swift Programming Language](https://docs.swift.org/swift-book/documentation/the-swift-programming-language/)
|
|
107
|
+
- [Swift.org documentation](https://www.swift.org/documentation/)
|
|
108
|
+
- [Swift Package Manager](https://github.com/swiftlang/swift-package-manager)
|
|
109
|
+
- [Swift Package Manager package description](https://docs.swift.org/package-manager/PackageDescription/PackageDescription.html)
|
|
110
|
+
- [CMake project languages](https://cmake.org/cmake/help/latest/command/project.html)
|
|
111
|
+
- [Apple developer documentation](https://developer.apple.com/documentation/)
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: typescript-development-eng
|
|
3
|
+
language: en
|
|
4
|
+
description: "Specialist guidance for TypeScript applications, libraries, build configurations, and typed JavaScript boundaries."
|
|
5
|
+
version: "2026.09"
|
|
6
|
+
last-reviewed: "2026-09-12"
|
|
7
|
+
guide-id: typescript
|
|
8
|
+
requires-gates:
|
|
9
|
+
- threat-boundary
|
|
10
|
+
completion-evidence:
|
|
11
|
+
- typescript-validation
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# TypeScript Development Engineering Guide
|
|
15
|
+
|
|
16
|
+
## Mission and activation
|
|
17
|
+
|
|
18
|
+
Use this runtime-neutral guide for TypeScript applications, libraries, tools,
|
|
19
|
+
and typed JavaScript boundaries. A valid bounded `tsconfig.json` is primary
|
|
20
|
+
evidence. A custom `tsconfig.*.json` is primary only when directly claimed or
|
|
21
|
+
referenced by a confirmed local config. `jsconfig.json`, `.ts` snippets,
|
|
22
|
+
`.d.ts` declarations, a TypeScript dependency, CI compiler setup, generated
|
|
23
|
+
declarations, and build/test configuration alone do not establish a TypeScript
|
|
24
|
+
project. A TypeScript config may coexist with Node.js at the same root; the
|
|
25
|
+
two specialists describe different concerns.
|
|
26
|
+
|
|
27
|
+
The detector uses a small JSONC recognizer for comments and trailing commas,
|
|
28
|
+
keeps references bounded to discovered configs, and never executes a config,
|
|
29
|
+
compiler, package script, or project code.
|
|
30
|
+
|
|
31
|
+
## Authority and precedence
|
|
32
|
+
|
|
33
|
+
Repository compiler/configuration, emitted module contract, runtime support,
|
|
34
|
+
public type compatibility, and build policy win over generic advice. Use the
|
|
35
|
+
matching repository TypeScript version/config first, then official TypeScript
|
|
36
|
+
documentation and release notes, then runtime/framework documentation. The
|
|
37
|
+
2026-09 plan snapshot records TypeScript 7.0 as the current reference. TS 7.0
|
|
38
|
+
uses the native Go-based toolset and does not provide a stable programmatic
|
|
39
|
+
compiler API; TS 6 compatibility can remain necessary for tooling. Do not
|
|
40
|
+
auto-migrate TS 6 projects or compiler integrations to TS 7.
|
|
41
|
+
|
|
42
|
+
## Configuration and project discovery
|
|
43
|
+
|
|
44
|
+
Treat a confirmed application `tsconfig.json` as a project root even when it
|
|
45
|
+
has no source. Preserve solution configs with `files: []` and local
|
|
46
|
+
`references`; a reference may name a directory containing `tsconfig.json` or a
|
|
47
|
+
specific discovered config. Local `extends` is shared configuration context,
|
|
48
|
+
not permission to execute or walk arbitrary packages. External package
|
|
49
|
+
resolution and cyclic/unbounded config graphs fail closed or remain
|
|
50
|
+
unresolved. `extends` may be a string or an array. A claimed shared base,
|
|
51
|
+
including one literally named `tsconfig.json`, maps to its own confirmed
|
|
52
|
+
project (when independently evidenced) plus discovered direct and transitive
|
|
53
|
+
consumers; a shared config is not promoted to an independent project solely by
|
|
54
|
+
its basename.
|
|
55
|
+
|
|
56
|
+
Keep `include`/`exclude`, project references, `composite`, incremental state,
|
|
57
|
+
path mapping, module resolution, `module`/`target`, `lib`, JSX, decorators,
|
|
58
|
+
declaration emit, source maps, and `noEmit` as separate decisions. Build,
|
|
59
|
+
test, Vite, Webpack, and Node configuration is not backend identity.
|
|
60
|
+
|
|
61
|
+
## Architecture and type semantics
|
|
62
|
+
|
|
63
|
+
Keep runtime contracts distinct from type-level intent. Review inference and
|
|
64
|
+
narrowing, `unknown` versus `any`, `never`, unions/intersections,
|
|
65
|
+
discriminated unions, generics, conditional/mapped/template-literal types,
|
|
66
|
+
variance where relevant, assertions, `satisfies`, declaration merging, and
|
|
67
|
+
public declaration compatibility. Do not enable `strict`,
|
|
68
|
+
`noUncheckedIndexedAccess`, `exactOptionalPropertyTypes`, or a module-mode
|
|
69
|
+
migration as incidental cleanup.
|
|
70
|
+
|
|
71
|
+
Type erasure means TypeScript type correctness is not runtime input
|
|
72
|
+
validation. Validate JSON, network, environment, database, IPC, and persisted
|
|
73
|
+
data at runtime with an intentional boundary contract.
|
|
74
|
+
|
|
75
|
+
## Modules, async behavior, and security
|
|
76
|
+
|
|
77
|
+
Preserve the repository's ESM/CJS, package `exports`/`imports`, interop,
|
|
78
|
+
source-map, and loader behavior. Make promises, cancellation, timeouts,
|
|
79
|
+
back-pressure, worker ownership, and shutdown observable. Treat DOM/runtime
|
|
80
|
+
values, serialized data, file paths, environment variables, dynamic imports,
|
|
81
|
+
templates, and credentials as untrusted. Avoid leaking source maps, secrets,
|
|
82
|
+
or internal errors across public boundaries.
|
|
83
|
+
|
|
84
|
+
## Performance, build, and portability
|
|
85
|
+
|
|
86
|
+
Measure compiler graph size, incremental performance, emitted bundle size,
|
|
87
|
+
startup, memory, and runtime latency before optimizing. Keep generated output,
|
|
88
|
+
declaration emit, package manager lockfiles, platform APIs, browser/Node
|
|
89
|
+
globals, and target compatibility explicit. Do not infer runtime support from
|
|
90
|
+
the compiler target or from a build tool's Node process.
|
|
91
|
+
|
|
92
|
+
## Verification and Definition of Done
|
|
93
|
+
|
|
94
|
+
Run the affected config's type-check, project-reference build, tests, lint,
|
|
95
|
+
runtime validation, bundle/package checks, and security checks, then the
|
|
96
|
+
repository suite. Record compiler version, config path, module mode, target,
|
|
97
|
+
runtime, generated artifacts, and exact commands. Verify public library types
|
|
98
|
+
and clean-install behavior. Missing tooling is `NOT_VERIFIED`. ForgeLoop
|
|
99
|
+
performs bounded structural TypeScript analysis; it does not implement the
|
|
100
|
+
compiler, module resolver, path mapper, or build graph.
|
|
101
|
+
|
|
102
|
+
## Official sources
|
|
103
|
+
|
|
104
|
+
- [TypeScript handbook](https://www.typescriptlang.org/docs/)
|
|
105
|
+
- [What is a tsconfig.json?](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html)
|
|
106
|
+
- [TypeScript TSConfig reference](https://www.typescriptlang.org/tsconfig/)
|
|
107
|
+
- [TypeScript 7.0 release announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-7-0/)
|
|
108
|
+
- [TypeScript GitHub repository](https://github.com/microsoft/TypeScript)
|