Appearance
Generated File Contract
Archora Forge v1 generates framework-neutral TypeScript modules. The default layout is stable for v1.
Default Layout
For a users resource, the default output is:
text
src/features/users/api/index.ts
src/features/users/api/useCreateUserMutation.ts
src/features/users/api/useDeleteUserMutation.ts
src/features/users/api/useUpdateUserMutation.ts
src/features/users/api/useUserQuery.ts
src/features/users/api/useUsersQuery.ts
src/features/users/model/index.ts
src/features/users/model/users.config.ts
src/features/users/model/users.i18n.ts
src/features/users/model/users.permissions.ts
src/shared/api/generated/components.types.ts
src/shared/api/generated/users/index.ts
src/shared/api/generated/users/users.client.ts
src/shared/api/generated/users/users.query-keys.ts
src/shared/api/generated/users/users.types.ts
src/shared/mocks/users/index.ts
src/shared/mocks/users/users.fixtures.ts
src/shared/mocks/users/users.handlers.ts
src/shared/mocks/users/users.scenarios.tscomponents.types.ts contains shared component schemas. Resource folders contain operation aliases, clients and query keys. Feature folders contain framework-neutral resource metadata and operation helper modules.
Configurable Roots
The roots remain configurable:
ts
import { defineForgeConfig } from '@archora/forge-cli'
export default defineForgeConfig({
input: './openapi.yaml',
output: {
generatedDir: './src/shared/api/generated',
featuresDir: './src/features',
mocksDir: './src/shared/mocks',
},
})Changing output roots changes where files are written, but not the resource-level naming contract under each root.
Protected Files
Generated files are safe to overwrite. Custom files are protected unless overwrite.custom or --force is used.
Use archora-forge diff or archora-forge check --json in CI before applying generated changes in a repository with local edits.
Compatibility Policy
Within v1, Forge may add new generated files for new opt-in capabilities. Existing default file names, barrel locations and stable runtime imports should remain compatible.