@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.
- 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/flutter-development-eng.md +2106 -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 +455 -4
- package/LOOP_SYSTEM_DESIGN.md +10 -6
- package/QUALITY_SCORECARD.md +2 -0
- package/README.md +50 -38
- 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/MCP.md +1 -1
- package/docs/PACKAGE_CONTENTS.md +29 -8
- package/docs/RECIPES.md +23 -0
- package/docs/RELEASE_CHECKLIST.md +51 -9
- package/docs/TROUBLESHOOTING.md +100 -2
- package/docs/assets/diagrams/forgeloop-engineering-flow.html +19 -6
- package/docs/assets/diagrams/forgeloop-engineering-flow.receipt.json +6 -6
- package/docs/assets/diagrams/forgeloop-engineering-flow.svg +5 -5
- package/docs/diagrams/forgeloop-engineering-flow.workflow.json +12 -2
- package/docs/diagrams/reviews/forgeloop-engineering-flow.review.json +3 -3
- 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 +14 -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/route.js +5 -0
- package/src/commands/task-create.js +84 -25
- package/src/commands/task-list.js +22 -2
- package/src/config/guides.json +48 -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 +2227 -0
- package/src/core/reconcile-closure.js +4 -1
- package/src/core/router.js +233 -7
- 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,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)
|