remem-ai 0.5.199

Local-first coding agent memory for Claude Code and OpenAI Codex
Documentation
use super::{
    procedure_types::ProcedureExportFormatArg,
    types::{Cli, Commands, ProcedureAction},
};
use clap::Parser;

#[test]
fn cli_parses_procedures_list_filters() {
    let cli = Cli::parse_from([
        "remem",
        "procedures",
        "list",
        "--project",
        "/tmp/remem",
        "--limit",
        "5",
        "--offset",
        "10",
        "--json",
    ]);

    match cli.command {
        Commands::Procedures {
            action:
                ProcedureAction::List {
                    project,
                    limit,
                    offset,
                    json,
                },
        } => {
            assert_eq!(project.as_deref(), Some("/tmp/remem"));
            assert_eq!(limit, 5);
            assert_eq!(offset, 10);
            assert!(json);
        }
        _ => panic!("expected procedures list command"),
    }
}

#[test]
fn cli_parses_procedures_export_guard_flags() {
    let cli = Cli::parse_from([
        "remem",
        "procedures",
        "export",
        "42",
        "--format",
        "claude-skill",
        "--out",
        "/tmp/remem-drafts",
        "--overwrite-generated",
    ]);

    match cli.command {
        Commands::Procedures {
            action:
                ProcedureAction::Export {
                    memory_id,
                    format,
                    out,
                    overwrite_generated,
                },
        } => {
            assert_eq!(memory_id, 42);
            assert_eq!(format, ProcedureExportFormatArg::ClaudeSkill);
            assert_eq!(
                out.as_deref(),
                Some(std::path::Path::new("/tmp/remem-drafts"))
            );
            assert!(overwrite_generated);
        }
        _ => panic!("expected procedures export command"),
    }
}