@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.
Files changed (62) hide show
  1. package/.github/copilot-instructions.md +1 -1
  2. package/AGENTS.md +1 -1
  3. package/CLAUDE.md +1 -1
  4. package/CONTRIBUTING.md +90 -0
  5. package/DOCS_INDEX.md +13 -11
  6. package/ENG/c-development-eng.md +112 -0
  7. package/ENG/cpp-development-eng.md +109 -0
  8. package/ENG/dotnet-aspnetcore-development-eng.md +401 -0
  9. package/ENG/go-development-eng.md +103 -0
  10. package/ENG/java-development-eng.md +125 -0
  11. package/ENG/nodejs-backend-development-eng.md +605 -0
  12. package/ENG/php-development-eng.md +104 -0
  13. package/ENG/rust-development-eng.md +422 -0
  14. package/ENG/sql-development-eng.md +108 -0
  15. package/ENG/swift-development-eng.md +111 -0
  16. package/ENG/typescript-development-eng.md +108 -0
  17. package/GUIDE_ROUTER.md +418 -9
  18. package/QUALITY_SCORECARD.md +1 -0
  19. package/README.md +44 -33
  20. package/THIRD_PARTY_NOTICES.md +19 -7
  21. package/completions/_forgeloop +3 -3
  22. package/completions/forgeloop.bash +3 -3
  23. package/completions/forgeloop.fish +7 -0
  24. package/docs/AGENT_PROTOCOL_SUMMARY.md +55 -2
  25. package/docs/CLI_REFERENCE.md +28 -6
  26. package/docs/DOCUMENTATION_GUIDE.md +2 -1
  27. package/docs/GETTING_STARTED.md +59 -0
  28. package/docs/PACKAGE_CONTENTS.md +28 -14
  29. package/docs/RECIPES.md +23 -0
  30. package/docs/RELEASE_CHECKLIST.md +30 -2
  31. package/docs/TROUBLESHOOTING.md +100 -2
  32. package/docs/documentation-manifest.json +652 -0
  33. package/docs/protocol-requirements.json +77 -0
  34. package/package.json +19 -4
  35. package/schemas/routing-input.schema.json +1 -1
  36. package/scripts/CI_VALIDATORS.md +84 -11
  37. package/scripts/generate-agent-protocol-summary.mjs +36 -0
  38. package/src/commands/next.js +19 -7
  39. package/src/commands/task-create.js +84 -25
  40. package/src/commands/task-list.js +22 -2
  41. package/src/config/guides.json +44 -0
  42. package/src/core/build-script.js +151 -0
  43. package/src/core/c-cpp-project.js +143 -0
  44. package/src/core/cli-command-definitions.js +8 -1
  45. package/src/core/command-executors.js +5 -3
  46. package/src/core/command-input.js +140 -102
  47. package/src/core/contract-presets.js +82 -0
  48. package/src/core/error-codes.js +3 -3
  49. package/src/core/filesystem.js +1 -10
  50. package/src/core/go-project.js +206 -0
  51. package/src/core/java-project.js +403 -0
  52. package/src/core/multi-language-project.js +117 -0
  53. package/src/core/next-explanation.js +63 -0
  54. package/src/core/php-project.js +85 -0
  55. package/src/core/project-detection.js +1760 -52
  56. package/src/core/reconcile-closure.js +4 -1
  57. package/src/core/router.js +156 -3
  58. package/src/core/rust-project.js +400 -0
  59. package/src/core/sql-project.js +141 -0
  60. package/src/core/swift-project.js +200 -0
  61. package/src/core/typescript-project.js +349 -0
  62. 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)