feat(FN-002): complete Step 1 — Root Monorepo Tooling and Repository Hygiene

This commit is contained in:
Fusion
2026-05-14 01:14:36 +02:00
commit d74f77fd33
10 changed files with 274 additions and 0 deletions
+15
View File
@@ -0,0 +1,15 @@
root = true
[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true
[*.py]
indent_size = 4
[Makefile]
indent_style = tab
+132
View File
@@ -0,0 +1,132 @@
{
"settings": {
"globalPause": false,
"enginePaused": false,
"maxConcurrent": 2,
"maxTriageConcurrent": 2,
"globalMaxConcurrent": 4,
"maxWorktrees": 4,
"pollIntervalMs": 15000,
"heartbeatMultiplier": 1,
"groupOverlappingFiles": true,
"overlapIgnorePaths": [],
"autoMerge": true,
"mergeStrategy": "direct",
"directMergeCommitStrategy": "auto",
"requirePrApproval": false,
"pushAfterMerge": false,
"pushRemote": "origin",
"unavailableNodePolicy": "block",
"recycleWorktrees": false,
"executorAllowSiblingBranchRename": false,
"worktreeNaming": "random",
"taskPrefix": "FN",
"includeTaskIdInCommit": true,
"commitAuthorEnabled": true,
"commitAuthorName": "Fusion",
"commitAuthorEmail": "noreply@runfusion.ai",
"modelPresets": [],
"autoSelectModelPreset": false,
"completionDocumentationMode": "off",
"defaultPresetBySize": {},
"autoResolveConflicts": true,
"smartConflictResolution": true,
"mergerAutostashMaxAgeHours": 24,
"worktreeRebaseBeforeMerge": true,
"worktreeRebaseRemote": "",
"worktreeRebaseLocalBase": true,
"mergeConflictStrategy": "smart-prefer-main",
"mergeStrategyOverlapBehavior": "flip-to-prefer-branch",
"workflowStepTimeoutMs": 360000,
"workflowRevisionForkOnScopeMismatch": true,
"strictScopeEnforcement": false,
"buildRetryCount": 0,
"verificationFixRetries": 3,
"buildTimeoutMs": 300000,
"requirePlanApproval": false,
"agentProvisioning": {},
"specStalenessEnabled": false,
"specStalenessMaxAgeMs": 21600000,
"taskStuckTimeoutMs": 600000,
"staleHighFanoutBlockerAgeThresholdMs": 7200000,
"aiSessionTtlMs": 604800000,
"aiSessionCleanupIntervalMs": 3600000,
"autoUnpauseEnabled": true,
"autoUnpauseBaseDelayMs": 300000,
"autoUnpauseMaxDelayMs": 3600000,
"maxStuckKills": 6,
"preserveProgressOnStuckRequeue": true,
"maxPostReviewFixes": 1,
"maxSpawnedAgentsPerParent": 5,
"maxSpawnedAgentsGlobal": 20,
"maintenanceIntervalMs": 300000,
"autoArchiveDoneTasksEnabled": true,
"autoArchiveDoneAfterMs": 172800000,
"archiveAgentLogMode": "compact",
"autoUpdatePrStatus": false,
"githubCommentOnDone": false,
"githubTrackingEnabledByDefault": false,
"githubAuthMode": "gh-cli",
"autoBackupEnabled": false,
"autoBackupSchedule": "0 2 * * *",
"autoBackupRetention": 7,
"autoBackupDir": ".fusion/backups",
"memoryBackupEnabled": false,
"memoryBackupSchedule": "0 3 * * *",
"memoryBackupRetention": 14,
"memoryBackupDir": ".fusion/backups/memory",
"memoryBackupScope": "all",
"autoSummarizeTitles": false,
"useAiMergeCommitSummary": true,
"insightExtractionEnabled": false,
"insightExtractionSchedule": "0 2 * * *",
"insightExtractionMinIntervalMs": 86400000,
"taskEvaluationEnabled": false,
"taskEvaluationSchedule": "0 5 * * *",
"taskEvaluationFollowUpPolicy": "off",
"memoryEnabled": true,
"memoryBackendType": "qmd",
"memoryAutoSummarizeEnabled": false,
"memoryAutoSummarizeThresholdChars": 50000,
"memoryAutoSummarizeSchedule": "0 3 * * *",
"memoryDreamsEnabled": false,
"memoryDreamsSchedule": "0 4 * * *",
"runStepsInNewSessions": false,
"maxParallelSteps": 2,
"missionStaleThresholdMs": 600000,
"missionMaxTaskRetries": 3,
"missionHealthCheckIntervalMs": 300000,
"reflectionEnabled": false,
"reflectionIntervalMs": 3600000,
"reflectionAfterTask": true,
"reviewHandoffPolicy": "disabled",
"showQuickChatFAB": false,
"researchSettings": {
"enabled": true,
"enabledSources": {
"webSearch": true,
"pageFetch": true,
"github": false,
"localDocs": true,
"llmSynthesis": true
},
"limits": {
"maxConcurrentRuns": 3,
"maxSourcesPerRun": 20,
"maxDurationMs": 300000,
"requestTimeoutMs": 30000
}
},
"evalSettings": {
"enabled": false,
"intervalMs": 86400000,
"followUpPolicy": "suggest-only",
"retentionDays": 30
},
"researchEnabled": true,
"researchMaxConcurrentRuns": 3,
"researchDefaultTimeout": 300000,
"researchMaxSourcesPerRun": 20,
"researchMaxSynthesisRounds": 2
}
}
BIN
View File
Binary file not shown.
+3
View File
@@ -0,0 +1,3 @@
# Daily Memory 2026-05-13
<!-- Append running observations, open loops, and day-to-day notes here. Promote evergreen facts to MEMORY.md. -->
+3
View File
@@ -0,0 +1,3 @@
# Memory Dreams
<!-- Periodic synthesized patterns from daily notes. Promote durable lessons to MEMORY.md. -->
+19
View File
@@ -0,0 +1,19 @@
# Project Memory
<!-- This file stores durable project learnings. Agents consult and update it during triage and execution. -->
## Architecture
<!-- Key architectural patterns, module boundaries, and design decisions -->
## Conventions
<!-- Project-specific coding standards, naming patterns, file organization -->
## Pitfalls
<!-- Known issues, common mistakes, and things to avoid -->
## Context
<!-- Important background information, dependency constraints, deployment notes -->
+50
View File
@@ -0,0 +1,50 @@
# Dependencies
node_modules/
.pnpm-store/
# Build outputs
dist/
build/
*.tsbuildinfo
# Environment
.env
.env.local
.env.*.local
# IDE
.idea/
.vscode/
*.swp
*.swo
# OS
.DS_Store
Thumbs.db
# Logs
*.log
logs/
# Testing
coverage/
# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.venv/
venv/
ENV/
env/
.egg-info/
dist/
# Docker volumes
docker-volumes/
# Misc
.cache/
.temp/
tmp/
+29
View File
@@ -0,0 +1,29 @@
.PHONY: install lint test typecheck build dev compose-up compose-down clean
install:
pnpm install
cd apps/api && python3 -m venv .venv && .venv/bin/pip install -e ".[dev]"
lint:
pnpm lint
test:
pnpm test
typecheck:
pnpm typecheck
build:
pnpm build
dev:
pnpm dev
compose-up:
docker compose up --build -d
compose-down:
docker compose down
clean:
rm -rf node_modules apps/web/node_modules apps/api/.venv
+20
View File
@@ -0,0 +1,20 @@
{
"name": "headquarter",
"version": "0.0.1",
"private": true,
"description": "Hosted workspace and tool-orchestration platform",
"scripts": {
"lint": "pnpm --filter @headquarter/web lint && pnpm --filter @headquarter/api lint",
"test": "pnpm --filter @headquarter/web test && pnpm --filter @headquarter/api test",
"typecheck": "pnpm --filter @headquarter/web typecheck && pnpm --filter @headquarter/api typecheck",
"build": "pnpm --filter @headquarter/web build && pnpm --filter @headquarter/api build",
"dev": "pnpm --parallel --filter @headquarter/web --filter @headquarter/api dev",
"compose:up": "docker compose up --build -d",
"compose:down": "docker compose down"
},
"packageManager": "pnpm@11.1.1",
"engines": {
"node": ">=20",
"pnpm": ">=9"
}
}
+3
View File
@@ -0,0 +1,3 @@
packages:
- 'apps/*'
- 'packages/*'