diff --git a/src/fp/set/index.d.ts b/src/fp/set/index.d.ts
new file mode 100644
index 0000000000..601f00b8d0
--- /dev/null
+++ b/src/fp/set/index.d.ts
@@ -0,0 +1,4 @@
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+import { set } from 'date-fns/fp'
+export default set
diff --git a/src/fp/set/index.js b/src/fp/set/index.js
new file mode 100644
index 0000000000..07edbec11f
--- /dev/null
+++ b/src/fp/set/index.js
@@ -0,0 +1,8 @@
+// This file is generated automatically by `scripts/build/fp.js`. Please, don't change it.
+
+import fn from '../../set/index.js'
+import convertToFP from '../_lib/convertToFP/index.js'
+
+var set = convertToFP(fn, 2)
+
+export default set
diff --git a/src/fp/set/index.js.flow b/src/fp/set/index.js.flow
new file mode 100644
index 0000000000..a74e1a6bf3
--- /dev/null
+++ b/src/fp/set/index.js.flow
@@ -0,0 +1,44 @@
+// @flow
+// This file is generated automatically by `scripts/build/typings.js`. Please, don't change it.
+
+type Interval = {
+ start: Date | number,
+ end: Date | number
+}
+
+type Locale = {
+ formatDistance: Function,
+ formatRelative: Function,
+ localize: {
+ ordinalNumber: Function,
+ era: Function,
+ quarter: Function,
+ month: Function,
+ day: Function,
+ dayPeriod: Function
+ },
+ formatLong: Object,
+ date: Function,
+ time: Function,
+ dateTime: Function,
+ match: {
+ ordinalNumber: Function,
+ era: Function,
+ quarter: Function,
+ month: Function,
+ day: Function,
+ dayPeriod: Function
+ },
+ options?: {
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6,
+ firstWeekContainsDate?: 1 | 2 | 3 | 4 | 5 | 6 | 7
+ }
+}
+
+type CurriedFn1 = (a: A) => R
+
+type CurriedFn2 = (
+ a: A
+) => CurriedFn1 | ((a: A, b: B) => R)
+
+declare module.exports: CurriedFn2