feat: update profile path resolution and enhance scripts for improved project adaptability

This commit is contained in:
2026-05-21 10:43:44 -06:00
parent f0d3cd4ce9
commit 7cbb49134a
18 changed files with 98 additions and 32 deletions

View File

@@ -8,6 +8,7 @@ instead of hardcoding root-level project paths.
from __future__ import annotations
import json
import argparse
from pathlib import Path
from typing import Any
@@ -70,3 +71,37 @@ def relative_to_root(path: Path, root: Path | None = None) -> str:
return str(path.relative_to(base))
except ValueError:
return str(path)
def main() -> None:
parser = argparse.ArgumentParser(description=__doc__)
subparsers = parser.add_subparsers(dest="command", required=True)
path_parser = subparsers.add_parser("path", help="Print a resolved profile path.")
path_parser.add_argument("kind", choices=["knowledge", "inbox", "index"])
path_parser.add_argument("--profile", default="fidelity")
config_parser = subparsers.add_parser("config", help="Print resolved workspace configuration as JSON.")
config_parser.add_argument("--profile", default="fidelity")
args = parser.parse_args()
if args.command == "path":
if args.kind == "knowledge":
print(knowledge_dir(args.profile))
elif args.kind == "inbox":
print(inbox_dir(args.profile))
else:
print(index_dir(args.profile))
return
config = load_workspace_config(args.profile)
config["resolved"] = {
"knowledge_dir": str(knowledge_dir(args.profile)),
"inbox_dir": str(inbox_dir(args.profile)),
"index_dir": str(index_dir(args.profile)),
}
print(json.dumps(config, ensure_ascii=False, indent=2, sort_keys=True))
if __name__ == "__main__":
main()