diff --git a/test/docgen/view/__snapshots__/documentation.test.ts.snap b/test/docgen/view/__snapshots__/documentation.test.ts.snap
index 7b372290..6548a2ee 100644
--- a/test/docgen/view/__snapshots__/documentation.test.ts.snap
+++ b/test/docgen/view/__snapshots__/documentation.test.ts.snap
@@ -102641,6 +102641,206 @@ first call to addToResourcePolicy(s).
+"
+`;
+
+exports[`package installation uses --force when EBADPLATFORM is encountered 1`] = `
+"# API Reference
+
+## Constructs
+
+### NetworkFirewallDistributedConstruct
+
+#### Initializers
+
+\`\`\`typescript
+import { NetworkFirewallDistributedConstruct } from '@richkang/cdk-construct-network-firewall-textfile-rules'
+
+new NetworkFirewallDistributedConstruct(scope: Construct, id: string, props: INetworkFirewallDistributedConstructProps)
+\`\`\`
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| scope
| constructs.Construct
| *No description.* |
+| id
| string
| *No description.* |
+| props
| INetworkFirewallDistributedConstructProps
| *No description.* |
+
+---
+
+##### \`scope\`Required
+
+- *Type:* constructs.Construct
+
+---
+
+##### \`id\`Required
+
+- *Type:* string
+
+---
+
+##### \`props\`Required
+
+- *Type:* INetworkFirewallDistributedConstructProps
+
+---
+
+#### Methods
+
+| **Name** | **Description** |
+| --- | --- |
+| toString
| Returns a string representation of this construct. |
+| buildRulesSourcePropertyFromFile
| *No description.* |
+
+---
+
+##### \`toString\`
+
+\`\`\`typescript
+public toString(): string
+\`\`\`
+
+Returns a string representation of this construct.
+
+##### \`buildRulesSourcePropertyFromFile\`
+
+\`\`\`typescript
+public buildRulesSourcePropertyFromFile(filenameList: string[], rulesVariable: RuleVariablesProperty): CfnRuleGroup[]
+\`\`\`
+
+###### \`filenameList\`Required
+
+- *Type:* string[]
+
+---
+
+###### \`rulesVariable\`Required
+
+- *Type:* aws-cdk-lib.aws_networkfirewall.CfnRuleGroup.RuleVariablesProperty
+
+---
+
+#### Static Functions
+
+| **Name** | **Description** |
+| --- | --- |
+| isConstruct
| Checks if \`x\` is a construct. |
+
+---
+
+##### \`isConstruct\`
+
+\`\`\`typescript
+import { NetworkFirewallDistributedConstruct } from '@richkang/cdk-construct-network-firewall-textfile-rules'
+
+NetworkFirewallDistributedConstruct.isConstruct(x: any)
+\`\`\`
+
+Checks if \`x\` is a construct.
+
+Use this method instead of \`instanceof\` to properly detect \`Construct\`
+instances, even when the construct library is symlinked.
+
+Explanation: in JavaScript, multiple copies of the \`constructs\` library on
+disk are seen as independent, completely different libraries. As a
+consequence, the class \`Construct\` in each copy of the \`constructs\` library
+is seen as a different class, and an instance of one class will not test as
+\`instanceof\` the other class. \`npm install\` will not create installations
+like this, but users may manually symlink construct libraries together or
+use a monorepo tool: in those cases, multiple copies of the \`constructs\`
+library can be accidentally installed, and \`instanceof\` will behave
+unpredictably. It is safest to avoid using \`instanceof\`, and using
+this type-testing method instead.
+
+###### \`x\`Required
+
+- *Type:* any
+
+Any object.
+
+---
+
+#### Properties
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| node
| constructs.Node
| The tree node. |
+| firewall
| aws-cdk-lib.aws_networkfirewall.CfnFirewall
| *No description.* |
+
+---
+
+##### \`node\`Required
+
+\`\`\`typescript
+public readonly node: Node;
+\`\`\`
+
+- *Type:* constructs.Node
+
+The tree node.
+
+---
+
+##### \`firewall\`Required
+
+\`\`\`typescript
+public readonly firewall: CfnFirewall;
+\`\`\`
+
+- *Type:* aws-cdk-lib.aws_networkfirewall.CfnFirewall
+
+---
+
+
+
+
+## Protocols
+
+### INetworkFirewallDistributedConstructProps
+
+- *Implemented By:* INetworkFirewallDistributedConstructProps
+
+
+#### Properties
+
+| **Name** | **Type** | **Description** |
+| --- | --- | --- |
+| subnetList
| aws-cdk-lib.aws_ec2.ISubnet[]
| *No description.* |
+| vpc
| aws-cdk-lib.aws_ec2.IVpc
| *No description.* |
+| rulesFile
| string[]
| *No description.* |
+
+---
+
+##### \`subnetList\`Required
+
+\`\`\`typescript
+public readonly subnetList: ISubnet[];
+\`\`\`
+
+- *Type:* aws-cdk-lib.aws_ec2.ISubnet[]
+
+---
+
+##### \`vpc\`Required
+
+\`\`\`typescript
+public readonly vpc: IVpc;
+\`\`\`
+
+- *Type:* aws-cdk-lib.aws_ec2.IVpc
+
+---
+
+##### \`rulesFile\`Optional
+
+\`\`\`typescript
+public readonly rulesFile: string[];
+\`\`\`
+
+- *Type:* string[]
+
+---
+
"
`;