@cassiomc1/forgeloop 1.11.1 → 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 (71) 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/flutter-development-eng.md +2106 -0
  10. package/ENG/go-development-eng.md +103 -0
  11. package/ENG/java-development-eng.md +125 -0
  12. package/ENG/nodejs-backend-development-eng.md +605 -0
  13. package/ENG/php-development-eng.md +104 -0
  14. package/ENG/rust-development-eng.md +422 -0
  15. package/ENG/sql-development-eng.md +108 -0
  16. package/ENG/swift-development-eng.md +111 -0
  17. package/ENG/typescript-development-eng.md +108 -0
  18. package/GUIDE_ROUTER.md +455 -4
  19. package/LOOP_SYSTEM_DESIGN.md +10 -6
  20. package/QUALITY_SCORECARD.md +2 -0
  21. package/README.md +50 -38
  22. package/THIRD_PARTY_NOTICES.md +19 -7
  23. package/completions/_forgeloop +3 -3
  24. package/completions/forgeloop.bash +3 -3
  25. package/completions/forgeloop.fish +7 -0
  26. package/docs/AGENT_PROTOCOL_SUMMARY.md +55 -2
  27. package/docs/CLI_REFERENCE.md +28 -6
  28. package/docs/DOCUMENTATION_GUIDE.md +2 -1
  29. package/docs/GETTING_STARTED.md +59 -0
  30. package/docs/MCP.md +1 -1
  31. package/docs/PACKAGE_CONTENTS.md +29 -8
  32. package/docs/RECIPES.md +23 -0
  33. package/docs/RELEASE_CHECKLIST.md +51 -9
  34. package/docs/TROUBLESHOOTING.md +100 -2
  35. package/docs/assets/diagrams/forgeloop-engineering-flow.html +19 -6
  36. package/docs/assets/diagrams/forgeloop-engineering-flow.receipt.json +6 -6
  37. package/docs/assets/diagrams/forgeloop-engineering-flow.svg +5 -5
  38. package/docs/diagrams/forgeloop-engineering-flow.workflow.json +12 -2
  39. package/docs/diagrams/reviews/forgeloop-engineering-flow.review.json +3 -3
  40. package/docs/documentation-manifest.json +652 -0
  41. package/docs/protocol-requirements.json +77 -0
  42. package/package.json +19 -4
  43. package/schemas/routing-input.schema.json +14 -1
  44. package/scripts/CI_VALIDATORS.md +84 -11
  45. package/scripts/generate-agent-protocol-summary.mjs +36 -0
  46. package/src/commands/next.js +19 -7
  47. package/src/commands/route.js +5 -0
  48. package/src/commands/task-create.js +84 -25
  49. package/src/commands/task-list.js +22 -2
  50. package/src/config/guides.json +48 -0
  51. package/src/core/build-script.js +151 -0
  52. package/src/core/c-cpp-project.js +143 -0
  53. package/src/core/cli-command-definitions.js +8 -1
  54. package/src/core/command-executors.js +5 -3
  55. package/src/core/command-input.js +140 -102
  56. package/src/core/contract-presets.js +82 -0
  57. package/src/core/error-codes.js +3 -3
  58. package/src/core/filesystem.js +1 -10
  59. package/src/core/go-project.js +206 -0
  60. package/src/core/java-project.js +403 -0
  61. package/src/core/multi-language-project.js +117 -0
  62. package/src/core/next-explanation.js +63 -0
  63. package/src/core/php-project.js +85 -0
  64. package/src/core/project-detection.js +2227 -0
  65. package/src/core/reconcile-closure.js +4 -1
  66. package/src/core/router.js +233 -7
  67. package/src/core/rust-project.js +400 -0
  68. package/src/core/sql-project.js +141 -0
  69. package/src/core/swift-project.js +200 -0
  70. package/src/core/typescript-project.js +349 -0
  71. package/src/core/xml-structure.js +123 -0
@@ -0,0 +1,103 @@
1
+ ---
2
+ name: go-development-eng
3
+ language: en
4
+ description: "Specialist guidance for production Go services, workers, CLIs, modules, and concurrent systems."
5
+ version: "2026.09"
6
+ last-reviewed: "2026-09-12"
7
+ guide-id: go
8
+ requires-gates:
9
+ - threat-boundary
10
+ completion-evidence:
11
+ - go-validation
12
+ ---
13
+
14
+ # Go Development Engineering Guide
15
+
16
+ ## Mission and activation
17
+
18
+ Use this guide for confirmed Go modules and workspaces, services, workers,
19
+ libraries, CLIs, and concurrent systems. ForgeLoop recognizes a valid bounded
20
+ `go.mod`, or a `go.work` that connects to already discovered repository-local
21
+ modules. `.go` source, `go.sum`, vendor metadata, a Docker image, a README, a
22
+ toolchain name, or a `setup-go` CI step alone is insufficient.
23
+
24
+ Detection parses structure only. It does not invoke `go`, resolve/download
25
+ modules, evaluate build tags, run generators, or execute project code. Go
26
+ workspace and path metadata never trigger new filesystem traversal.
27
+
28
+ ## Authority and precedence
29
+
30
+ Repository module boundaries, supported Go versions, build tags, target
31
+ matrix, compatibility policy, and release process win over generic advice.
32
+ Use the matching Go specification, standard-library documentation, module and
33
+ workspace documentation, and official Go security guidance after repository
34
+ evidence. The 2026-09 plan snapshot uses Go 1.27/1.27.1 as a current reference;
35
+ that is not permission to upgrade a repository.
36
+
37
+ Keep the `go` language minimum directive distinct from `toolchain`, the build
38
+ tool's Go version, the release binary's runtime expectations, and the target
39
+ OS/architecture. A newer local toolchain does not change the supported module.
40
+
41
+ ## Modules and workspaces
42
+
43
+ Keep `module`, `go`, `toolchain`, `require`, `replace`, `exclude`, `retract`,
44
+ `godebug`, `ignore`, and `use` semantics distinct. The bounded `go.mod`
45
+ recognizer accepts valid single and block `ignore` directives as module
46
+ metadata; they do not establish a module by themselves. `go.work` membership
47
+ is accepted only when `use` paths resolve to known discovered local `go.mod`
48
+ files, and `ignore` is not a workspace directive. `replace` and dependency
49
+ metadata are context; ForgeLoop does not perform registry, VCS, version, or
50
+ feature resolution. Preserve nested modules and independent workspace
51
+ ownership in monorepos.
52
+
53
+ ## Architecture and language semantics
54
+
55
+ Make package ownership, interfaces, zero values, pointer/value choices,
56
+ generics, methods, error wrapping, `panic`/`recover`, `defer`, and resource
57
+ cleanup explicit. Use `errors.Is`/`errors.As` for wrapped errors rather than
58
+ comparing error strings. Keep transport, domain, storage, messaging, and
59
+ subprocess adapters separate where the repository does.
60
+
61
+ Specify goroutine ownership, cancellation, channel direction and closure,
62
+ bounded worker pools, back pressure, lock ordering, atomics, race behavior,
63
+ deadlines, and graceful shutdown. Avoid goroutine leaks, unbounded creation,
64
+ copying synchronization primitives, deadlocks, and ambiguous channel owners.
65
+
66
+ ## I/O, security, and performance
67
+
68
+ Bound request, file, decoding, compression, subprocess, queue, and database
69
+ resources. Treat network input, decoded data, module content, subprocess
70
+ output, environment values, and credentials as hostile. Validate before SQL,
71
+ filesystem, templates, deserialization, shell, or external-service calls.
72
+
73
+ Measure allocation, latency, throughput, queueing, startup, and memory before
74
+ optimizing. Review maps/slices and backing-array retention, pointer lifetimes,
75
+ HTTP timeouts, `net/http` shutdown, `database/sql` pool/transaction policy,
76
+ encoding, and cross-compilation/cgo assumptions.
77
+
78
+ ## Dependencies and build policy
79
+
80
+ Keep `go.mod`, `go.sum`, vendoring, build tags, cgo flags, generated code,
81
+ licenses, and reproducible build commands under review. Do not treat a module
82
+ download, `go generate`, or a generator's output as routing authority. Keep
83
+ public APIs, error behavior, module compatibility, and toolchain policy
84
+ intentional.
85
+
86
+ ## Verification and Definition of Done
87
+
88
+ Run focused package tests, table tests, fuzzing, benchmarks, `go vet`, the race
89
+ detector, and `govulncheck` where applicable, followed by repository checks.
90
+ Record exact Go version, module/workspace scope, tags, target, and commands.
91
+ Race-detector or fuzz success covers only exercised paths. Missing tools are
92
+ `NOT_VERIFIED`. ForgeLoop performs bounded structural Go topology analysis, not
93
+ complete module resolution, version solving, build-tag evaluation, or build
94
+ execution.
95
+
96
+ ## Official sources
97
+
98
+ - [Go language specification](https://go.dev/ref/spec)
99
+ - [Go release history](https://go.dev/doc/devel/release)
100
+ - [Go modules reference](https://go.dev/ref/mod)
101
+ - [Go workspaces](https://go.dev/doc/tutorial/workspaces)
102
+ - [Go standard library](https://pkg.go.dev/std)
103
+ - [Go security policy and tooling](https://go.dev/security/)
@@ -0,0 +1,125 @@
1
+ ---
2
+ name: java-development-eng
3
+ language: en
4
+ description: "Specialist guidance for production Java services, libraries, workers, and JVM build systems."
5
+ version: "2026.09"
6
+ last-reviewed: "2026-09-12"
7
+ guide-id: java
8
+ requires-gates:
9
+ - threat-boundary
10
+ completion-evidence:
11
+ - java-validation
12
+ ---
13
+
14
+ # Java Development Engineering Guide
15
+
16
+ ## Mission and activation
17
+
18
+ Use this guide for Java services, libraries, workers, command-line tools, and
19
+ JVM components. ForgeLoop uses owned `.java` source with structural Maven,
20
+ Gradle, or Bazel evidence, an unambiguous Java compiler/platform declaration,
21
+ or a direct `.java` claim. A `pom.xml`, Gradle wrapper/settings file, JDK
22
+ image, generic aggregator, dependency lock, plugin name, or `setup-java` CI
23
+ step alone is not a delivered Java project.
24
+
25
+ Detection is bounded and static. Maven, Gradle, Bazel, wrappers, plugins,
26
+ annotation processors, tests, Java code, and network resolution are never
27
+ executed. XML DTDs and external entities fail closed.
28
+
29
+ Gradle `settings.gradle` and `settings.gradle.kts` files contribute topology
30
+ only when top-level, unconditional, quoted `include` arguments connect to
31
+ already discovered Gradle builds. Conditional, interpolated, and dynamic
32
+ expressions remain unresolved. `java-gradle-plugin` is Java evidence because
33
+ it applies Gradle's Java Library plugin. `gradle.properties` is a shared
34
+ configuration surface, not an independent Java project; claims are scoped to
35
+ Gradle builds in its directory while nested independent Gradle settings
36
+ boundaries remain isolated.
37
+
38
+ ## Authority and precedence
39
+
40
+ Repository architecture, toolchain/build configuration, source/target policy,
41
+ ABI, and supported runtime win over generic advice. Then use the matching Java
42
+ Language Specification/API, official Maven/Gradle/Bazel documentation, and
43
+ version-matched framework documentation. The 2026-09 plan snapshot identifies
44
+ JDK 26 as the current Java SE release and JDK 25 as the latest Oracle LTS;
45
+ neither is an automatic migration target.
46
+
47
+ Keep separate the JDK running the build tool, Java source level, `--release`,
48
+ bytecode target, compiler toolchain, runtime JRE/JDK, framework minimum,
49
+ vendor distribution, preview features, and target platform.
50
+
51
+ ## Project and build discovery
52
+
53
+ `pom.xml` is parsed structurally. Owned Java source, compiler properties such
54
+ as `maven.compiler.release`/`source`/`target`, or the compiler plugin can
55
+ confirm Java. A `packaging` value of `pom` with modules is retained as
56
+ aggregator/topology context; the aggregator itself is not classified as a Java
57
+ application without Java evidence. A recognized Gradle `java`,
58
+ `java-library`, `java-platform`, `java-gradle-plugin`, `application`, or `war`
59
+ plugin is static Java build evidence. `java-platform` is intentionally
60
+ source-less Java ecosystem evidence. Literal Bazel `java_library`,
61
+ `java_binary`, `java_test`, `java_import`, and `java_plugin` rules are
62
+ supported. Generic wrappers, settings, and dependency metadata alone remain
63
+ insufficient.
64
+
65
+ Resolve only bounded, owned metadata. Do not run convention plugins, evaluate
66
+ profiles, follow arbitrary build logic, or recreate the dependency resolver.
67
+
68
+ ## Architecture and language semantics
69
+
70
+ Keep transport, application, domain, persistence, messaging, and platform
71
+ adapters separate where the repository does. Make thread safety, ownership,
72
+ cancellation, timeouts, resource closure, class loading, reflection, and
73
+ serialization boundaries explicit. Review nullability, generics, variance,
74
+ records, sealed types, pattern matching, immutability, equality/hash contracts,
75
+ exception causes, class initialization, and API/binary compatibility.
76
+
77
+ Use a deliberate error model: preserve causes, distinguish retryable from
78
+ terminal failures, and avoid exposing credentials, SQL, stack traces, or
79
+ internal paths. Do not make checked/unchecked exception changes incidental.
80
+
81
+ ## Concurrency, I/O, and security
82
+
83
+ Specify executor ownership, bounded queues, interruption, cancellation,
84
+ deadlines, back pressure, lock ordering, atomics, and shutdown. Avoid blocking
85
+ unknown work on shared pools. Bound request, file, decompression, serialization,
86
+ and database resources. Validate input before reflection, templates, SQL,
87
+ filesystem, process, deserialization, or network use; keep secrets out of
88
+ logs and error responses.
89
+
90
+ ## Performance and portability
91
+
92
+ Measure allocation, garbage collection, startup, heap, thread, queue, I/O,
93
+ latency, and throughput changes with representative profiles or benchmarks.
94
+ Keep locale, charset, timezone, filesystem, native library, container, CPU, and
95
+ JVM assumptions explicit. Do not use a newer JDK's availability to silently
96
+ change source, bytecode, or runtime requirements.
97
+
98
+ ## Dependencies, frameworks, and interop
99
+
100
+ Keep Maven/Gradle/Bazel files, lock/dependency policy, generated sources, and
101
+ reproducible build metadata under review. Spring, Quarkus, Micronaut, Jakarta,
102
+ Kotlin, SQL, JNI, and deployment platforms are contextual overlays, not public
103
+ ForgeLoop framework IDs. At JNI/FFI boundaries specify ownership, layout,
104
+ encoding, exceptions, thread attachment, and lifetime. Treat generated and
105
+ vendored code as dependency boundaries.
106
+
107
+ ## Verification and Definition of Done
108
+
109
+ Run focused module compilation, unit/integration tests, static analysis,
110
+ dependency/security checks, and packaging for the exact JDK, profile, module,
111
+ and target. Check cancellation, timeout, malformed input, resource cleanup,
112
+ compatibility, and observability. Record unavailable tools as `NOT_VERIFIED`.
113
+ ForgeLoop performs bounded structural JVM project analysis, not complete
114
+ Maven/Gradle/Bazel resolution, profile evaluation, dependency solving, or build
115
+ execution.
116
+
117
+ ## Official sources
118
+
119
+ - [Java SE and JDK documentation](https://docs.oracle.com/en/java/)
120
+ - [Java Language Specification](https://docs.oracle.com/javase/specs/)
121
+ - [Maven POM reference](https://maven.apache.org/pom.html)
122
+ - [Maven compiler plugin](https://maven.apache.org/plugins/maven-compiler-plugin/)
123
+ - [Gradle Java plugin](https://docs.gradle.org/current/userguide/java_plugin.html)
124
+ - [Gradle Java Platform plugin](https://docs.gradle.org/current/userguide/java_platform_plugin.html)
125
+ - [Bazel Java rules](https://bazel.build/reference/be/java)