Skip to content

Commit a806775

Browse files
committed
chore: modernize project tooling
1 parent 0bffe8f commit a806775

68 files changed

Lines changed: 5140 additions & 21983 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.ai-rulez/.generated-manifest.json

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
{
2+
"version": "1",
3+
"files": [
4+
".agents/agents/code-reviewer.md",
5+
".agents/agents/devops-engineer.md",
6+
".agents/agents/docs-writer.md",
7+
".agents/agents/ffi-engineer.md",
8+
".agents/agents/performance-engineer.md",
9+
".agents/agents/polyglot-architect.md",
10+
".agents/agents/release-engineer.md",
11+
".agents/agents/rust-core-engineer.md",
12+
".agents/agents/security-auditor.md",
13+
".agents/agents/test-writer.md",
14+
".agents/skills/common-task-commands/SKILL.md",
15+
".agents/skills/quick-start/SKILL.md",
16+
".claude/agents/code-reviewer.md",
17+
".claude/agents/devops-engineer.md",
18+
".claude/agents/docs-writer.md",
19+
".claude/agents/ffi-engineer.md",
20+
".claude/agents/performance-engineer.md",
21+
".claude/agents/polyglot-architect.md",
22+
".claude/agents/release-engineer.md",
23+
".claude/agents/rust-core-engineer.md",
24+
".claude/agents/security-auditor.md",
25+
".claude/agents/test-writer.md",
26+
".claude/settings.json",
27+
".claude/skills/common-task-commands/SKILL.md",
28+
".claude/skills/iterate/SKILL.md",
29+
".claude/skills/parallelize/SKILL.md",
30+
".claude/skills/quick-start/SKILL.md",
31+
".codex/agents/code-reviewer.toml",
32+
".codex/agents/devops-engineer.toml",
33+
".codex/agents/docs-writer.toml",
34+
".codex/agents/ffi-engineer.toml",
35+
".codex/agents/performance-engineer.toml",
36+
".codex/agents/polyglot-architect.toml",
37+
".codex/agents/release-engineer.toml",
38+
".codex/agents/rust-core-engineer.toml",
39+
".codex/agents/security-auditor.toml",
40+
".codex/agents/test-writer.toml",
41+
".codex/commands/iterate.md",
42+
".codex/commands/parallelize.md",
43+
".codex/skills/common-task-commands/SKILL.md",
44+
".codex/skills/quick-start/SKILL.md",
45+
".cursor/commands/iterate.md",
46+
".cursor/commands/parallelize.md",
47+
".cursor/rules/agent-workflow.mdc",
48+
".cursor/rules/alef-workflow.mdc",
49+
".cursor/rules/anti-patterns.mdc",
50+
".cursor/rules/atomic-commits.mdc",
51+
".cursor/rules/avoid-duplication.mdc",
52+
".cursor/rules/batch-operations.mdc",
53+
".cursor/rules/bindings.mdc",
54+
".cursor/rules/branch-hygiene.mdc",
55+
".cursor/rules/cicd-pipeline-standards.mdc",
56+
".cursor/rules/commit-messages.mdc",
57+
".cursor/rules/communication-style.mdc",
58+
".cursor/rules/complexity-limits.mdc",
59+
".cursor/rules/context-architecture.mdc",
60+
".cursor/rules/context-browser-compatibility.mdc",
61+
".cursor/rules/context-development-commands.mdc",
62+
".cursor/rules/context-kreuzberg-brand-and-docs.mdc",
63+
".cursor/rules/context-owasp-quick-reference.mdc",
64+
".cursor/rules/context-polyrepo-structure.mdc",
65+
".cursor/rules/context-pre-commit-tooling.mdc",
66+
".cursor/rules/context-prek.mdc",
67+
".cursor/rules/context-preservation.mdc",
68+
".cursor/rules/context-taskfile-structure.mdc",
69+
".cursor/rules/dead-code.mdc",
70+
".cursor/rules/dependency-awareness.mdc",
71+
".cursor/rules/error-handling.mdc",
72+
".cursor/rules/explain-reasoning.mdc",
73+
".cursor/rules/ffi-and-language-interop.mdc",
74+
".cursor/rules/gh-workflows.mdc",
75+
".cursor/rules/incremental-approach.mdc",
76+
".cursor/rules/input-validation.mdc",
77+
".cursor/rules/interface-forge-patterns.mdc",
78+
".cursor/rules/least-privilege.mdc",
79+
".cursor/rules/meaningful-assertions.mdc",
80+
".cursor/rules/minimal-changes.mdc",
81+
".cursor/rules/no-ai-signatures.mdc",
82+
".cursor/rules/output-awareness.mdc",
83+
".cursor/rules/read-before-write.mdc",
84+
".cursor/rules/readability-first.mdc",
85+
".cursor/rules/rust-polyglot-conventions.mdc",
86+
".cursor/rules/safe-git-operations.mdc",
87+
".cursor/rules/secrets-handling.mdc",
88+
".cursor/rules/systematic-debugging.mdc",
89+
".cursor/rules/task-automation-build.mdc",
90+
".cursor/rules/task-runner.mdc",
91+
".cursor/rules/tdd-workflow.mdc",
92+
".cursor/rules/test-alongside-code.mdc",
93+
".cursor/rules/test-independence.mdc",
94+
".cursor/rules/test-naming.mdc",
95+
".cursor/rules/testing-anti-patterns.mdc",
96+
".cursor/rules/typescript-conventions.mdc",
97+
".cursor/rules/verification-before-completion.mdc",
98+
".cursor/rules/verify-before-acting.mdc",
99+
".cursor/rules/zod-integration.mdc",
100+
".gemini/settings.json",
101+
".github/agents/code-reviewer.agent.md",
102+
".github/agents/devops-engineer.agent.md",
103+
".github/agents/docs-writer.agent.md",
104+
".github/agents/ffi-engineer.agent.md",
105+
".github/agents/performance-engineer.agent.md",
106+
".github/agents/polyglot-architect.agent.md",
107+
".github/agents/release-engineer.agent.md",
108+
".github/agents/rust-core-engineer.agent.md",
109+
".github/agents/security-auditor.agent.md",
110+
".github/agents/test-writer.agent.md",
111+
".github/commands/iterate.md",
112+
".github/commands/parallelize.md",
113+
".github/copilot-instructions.md",
114+
".github/skills/common-task-commands/SKILL.md",
115+
".github/skills/quick-start/SKILL.md",
116+
".mcp.json",
117+
"AGENTS.md",
118+
"CLAUDE.md",
119+
"GEMINI.md"
120+
]
121+
}

.ai-rulez/config.toml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
version = "4.0"
2+
name = "interface-forge"
3+
description = "TypeScript library for creating strongly typed mock data factories using Faker.js and optional Zod schema integration"
4+
gitignore = true
5+
6+
presets = ["claude", "gemini", "codex", "copilot", "cursor"]
7+
8+
builtins = [
9+
"typescript",
10+
"testing",
11+
"security",
12+
"code-quality",
13+
"git-workflow",
14+
"default-commands",
15+
]
16+
17+
[header]
18+
style = "minimal"
19+
20+
[[includes]]
21+
name = "kreuzberg-core"
22+
source = "https://github.com/kreuzberg-dev/ai-rulez.git"
23+
path = "modules/core"
24+
merge_strategy = "local-override"
25+
26+
[[includes]]
27+
name = "kreuzberg-cicd"
28+
source = "https://github.com/kreuzberg-dev/ai-rulez.git"
29+
path = "modules/cicd"
30+
merge_strategy = "local-override"
31+
32+
[[mcp_servers]]
33+
name = "ai-rulez"
34+
description = "AI-Rulez MCP server for configuration management"
35+
command = "npx"
36+
args = ["-y", "ai-rulez@latest", "mcp"]
37+
38+
[defaults]
39+
effort = "medium"

.ai-rulez/context/architecture.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Architecture
2+
3+
Interface Forge is a TypeScript library for creating strongly typed mock data factories.
4+
5+
- `src/index.ts` contains the core `Factory` class and related types.
6+
- `src/zod.ts` provides the optional `interface-forge/zod` entry point.
7+
- `src/errors.ts` defines custom error types.
8+
- `src/generators.ts` contains generator utilities such as `CycleGenerator` and `SampleGenerator`.
9+
- `src/utils.ts` contains shared helpers and `Ref`.
10+
- Tests live next to source files using the `.spec.ts` suffix.
11+
- Examples in `examples/` demonstrate usage patterns and integration scenarios.
12+
13+
The build emits CommonJS, ES modules, and TypeScript declarations. Zod is an optional peer dependency.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Browser Compatibility
2+
3+
Core factory functionality must work in both Node.js and browser environments.
4+
5+
Fixture generation with `buildFixture()` and `buildFixtureAsync()` is Node-only because it depends on Node.js file system and crypto modules. In browser environments, fixture methods must throw a `FixtureError` explaining that fixture functionality is unavailable.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Development Commands
2+
3+
Use pnpm from the repository root.
4+
5+
```bash
6+
pnpm install
7+
pnpm build
8+
pnpm test
9+
pnpm test:coverage
10+
pnpm test src/index.spec.ts
11+
pnpm lint
12+
pnpm typecheck
13+
pnpm format
14+
pnpm clean
15+
pnpm docs:build
16+
```
17+
18+
The repository uses `prek` for git hooks. Install hooks with:
19+
20+
```bash
21+
prek install
22+
prek install --hook-type commit-msg
23+
```
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Interface Forge Patterns
2+
3+
- Add tests for new behavior in the corresponding `.spec.ts` file.
4+
- Keep strict TypeScript compatibility and avoid `any` in production code.
5+
- Use `@tool-belt/type-predicates` for safe runtime type checks when useful.
6+
- Use separate entry points for optional features such as `interface-forge/zod`.
7+
- Keep optional integrations as peer dependencies with `peerDependenciesMeta` marking them optional.
8+
- Do not assume object key order in tests.
9+
- Numeric enum generation must account for TypeScript reverse mappings.
10+
- String and array generators must respect both minimum and maximum constraints.
11+
- The universal default max depth is `DEFAULT_MAX_DEPTH` in `src/constants.ts`.

.ai-rulez/rules/zod-integration.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Zod Integration
2+
3+
- Zod v4 is imported from `zod/v4`.
4+
- Zod v4 internals use `_zod.def`; do not use v3 `_def` for v4 logic.
5+
- Access core Zod v4 types from `zod/v4/core`.
6+
- ZodFactory validates generated data with `schema.parse()` and handles promises/functions with custom handlers.
7+
- When extending `Factory`, override public methods such as `build()` and `batch()` because private base methods cannot be overridden.
8+
- `z.function()` and `z.promise()` schemas require custom type handlers.
9+
- Recursive schemas should be designed with optional children or natural depth limits so max-depth behavior can produce valid output.
10+
- Depth counting is zero-indexed and uses a `>=` comparison for limits.

.commitlintrc

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)