mirror of
https://github.com/actualbudget/actual.git
synced 2026-07-16 15:14:02 -05:00
* [AI] Run agent hooks and skills in Codex-based harnesses (ChatGPT desktop app) The ChatGPT desktop app (and Codex CLI/IDE) never picked up the repo's agent skills or lifecycle hooks: - Skills: Codex surfaces scan .agents/skills, not .claude/skills. Add a symlink mirror so both harness families load the same skill files. - Hooks: Codex lifecycle hooks are feature-flagged; enable them in the project .codex/config.toml and document the trust steps (project .codex layer trust + one-time /hooks trust) required for them to run. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FMdDFdaErx9dqieTGh8ETg * [AI] Drop .agents/skills/README.md; document the mirror in AGENTS.md instead Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FMdDFdaErx9dqieTGh8ETg * [AI] Ignore .agents/** in knip like .claude/** The .agents/skills symlink mirror exposes skill reference files under a path knip scanned, flagging highlight-element.js as an unused file. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FMdDFdaErx9dqieTGh8ETg --------- Co-authored-by: Claude <noreply@anthropic.com>
108 lines
2.8 KiB
JSON
108 lines
2.8 KiB
JSON
{
|
|
"$schema": "https://unpkg.com/knip@6/schema.json",
|
|
"rules": {
|
|
"exports": "off",
|
|
"types": "off",
|
|
"nsExports": "off",
|
|
"nsTypes": "off",
|
|
"duplicates": "off"
|
|
},
|
|
"ignoreBinaries": ["electron-rebuild"],
|
|
"workspaces": {
|
|
".": {
|
|
"entry": ["bin/*.mts"],
|
|
"ignore": ["lage.config.js", ".claude/**", ".agents/**"]
|
|
},
|
|
"packages/api": {
|
|
"entry": ["index.browser.ts", "browser-worker.ts", "e2e/**/*.{ts,mjs}"],
|
|
"ignore": ["typings.ts"],
|
|
"ignoreDependencies": [
|
|
"@actual-app/crdt",
|
|
"better-sqlite3",
|
|
"uuid",
|
|
"@jlongster/sql.js"
|
|
]
|
|
},
|
|
"packages/ci-actions": {
|
|
"entry": ["bin/*.ts"],
|
|
"ignoreBinaries": ["bin/tsx"],
|
|
"ignoreDependencies": ["extensionless"]
|
|
},
|
|
"packages/component-library": {
|
|
"entry": ["src/icons/index-template.ts", "src/icons/template.ts"],
|
|
"ignore": ["src/icons/.svgrrc.js", "src/icons/add-attribute.ts"],
|
|
"ignoreDependencies": ["@svgr/babel-plugin-add-jsx-attribute"]
|
|
},
|
|
"packages/crdt": {
|
|
"ignore": ["src/proto/**"],
|
|
"ignoreDependencies": ["@bufbuild/protoc-gen-es"]
|
|
},
|
|
"packages/desktop-client": {
|
|
"entry": [
|
|
"bin/*.mjs",
|
|
"globals.ts",
|
|
"src/globals.ts",
|
|
"src/build-shims.js"
|
|
],
|
|
"ignore": ["playwright.config.d.ts"],
|
|
"ignoreDependencies": ["plugins-service"]
|
|
},
|
|
"packages/desktop-electron": {
|
|
"entry": [
|
|
"preload.ts",
|
|
"server.ts",
|
|
"afterSignHook.ts",
|
|
"beforePackHook.ts"
|
|
],
|
|
"ignoreBinaries": ["bin/update-client"],
|
|
"ignoreDependencies": ["better-sqlite3"]
|
|
},
|
|
"packages/docs": {
|
|
"entry": [
|
|
"src/theme/**/*.{ts,tsx,js,jsx}",
|
|
"src/components/**/*.{ts,tsx,js,jsx}",
|
|
"docs/**/*.{js,jsx}"
|
|
],
|
|
"ignore": ["docusaurus.netlify-config.js"]
|
|
},
|
|
"packages/loot-core": {
|
|
"entry": ["src/**/index-types.ts", "src/mocks/**"],
|
|
"ignoreDependencies": [
|
|
"assert",
|
|
"browserify-zlib",
|
|
"buffer",
|
|
"crypto-browserify",
|
|
"path-browserify",
|
|
"stream-browserify",
|
|
"timers-browserify",
|
|
"util"
|
|
]
|
|
},
|
|
"packages/mobile-client": {
|
|
"entry": ["bin/*"],
|
|
"ignore": [
|
|
"android/app/src/main/assets/**",
|
|
"ios/App/App/public/**",
|
|
"ios/DerivedData/**"
|
|
],
|
|
"ignoreDependencies": [
|
|
"@capacitor/splash-screen",
|
|
"@capgo/capacitor-updater",
|
|
"@capgo/cli"
|
|
]
|
|
},
|
|
"packages/plugins-service": {
|
|
"entry": ["src/plugin-service-worker.ts"]
|
|
},
|
|
"packages/sync-server": {
|
|
"entry": [
|
|
"app.ts",
|
|
"src/app.ts",
|
|
"bin/**/*.js",
|
|
"src/scripts/**/*.js",
|
|
"src/app-*/app-*.{ts,js}"
|
|
]
|
|
}
|
|
}
|
|
}
|