Use positional source arg for company import
Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
parent
e204e03fa6
commit
5a73556871
5 changed files with 9 additions and 12 deletions
|
|
@ -390,7 +390,6 @@ describe("paperclipai company import/export e2e", () => {
|
||||||
[
|
[
|
||||||
"company",
|
"company",
|
||||||
"import",
|
"import",
|
||||||
"--from",
|
|
||||||
exportDir,
|
exportDir,
|
||||||
"--target",
|
"--target",
|
||||||
"new",
|
"new",
|
||||||
|
|
@ -435,7 +434,6 @@ describe("paperclipai company import/export e2e", () => {
|
||||||
[
|
[
|
||||||
"company",
|
"company",
|
||||||
"import",
|
"import",
|
||||||
"--from",
|
|
||||||
exportDir,
|
exportDir,
|
||||||
"--target",
|
"--target",
|
||||||
"existing",
|
"existing",
|
||||||
|
|
@ -463,7 +461,6 @@ describe("paperclipai company import/export e2e", () => {
|
||||||
[
|
[
|
||||||
"company",
|
"company",
|
||||||
"import",
|
"import",
|
||||||
"--from",
|
|
||||||
exportDir,
|
exportDir,
|
||||||
"--target",
|
"--target",
|
||||||
"existing",
|
"existing",
|
||||||
|
|
|
||||||
|
|
@ -390,7 +390,7 @@ export function registerCompanyCommands(program: Command): void {
|
||||||
company
|
company
|
||||||
.command("import")
|
.command("import")
|
||||||
.description("Import a portable markdown company package from local path, URL, or GitHub")
|
.description("Import a portable markdown company package from local path, URL, or GitHub")
|
||||||
.requiredOption("--from <pathOrUrl>", "Source path or URL")
|
.argument("<fromPathOrUrl>", "Source path or URL")
|
||||||
.option("--include <values>", "Comma-separated include set: company,agents,projects,issues,tasks,skills", "company,agents")
|
.option("--include <values>", "Comma-separated include set: company,agents,projects,issues,tasks,skills", "company,agents")
|
||||||
.option("--target <mode>", "Target mode: new | existing")
|
.option("--target <mode>", "Target mode: new | existing")
|
||||||
.option("-C, --company-id <id>", "Existing target company ID")
|
.option("-C, --company-id <id>", "Existing target company ID")
|
||||||
|
|
@ -398,12 +398,12 @@ export function registerCompanyCommands(program: Command): void {
|
||||||
.option("--agents <list>", "Comma-separated agent slugs to import, or all", "all")
|
.option("--agents <list>", "Comma-separated agent slugs to import, or all", "all")
|
||||||
.option("--collision <mode>", "Collision strategy: rename | skip | replace", "rename")
|
.option("--collision <mode>", "Collision strategy: rename | skip | replace", "rename")
|
||||||
.option("--dry-run", "Run preview only without applying", false)
|
.option("--dry-run", "Run preview only without applying", false)
|
||||||
.action(async (opts: CompanyImportOptions) => {
|
.action(async (fromPathOrUrl: string, opts: CompanyImportOptions) => {
|
||||||
try {
|
try {
|
||||||
const ctx = resolveCommandContext(opts);
|
const ctx = resolveCommandContext(opts);
|
||||||
const from = (opts.from ?? "").trim();
|
const from = fromPathOrUrl.trim();
|
||||||
if (!from) {
|
if (!from) {
|
||||||
throw new Error("--from is required");
|
throw new Error("Source path or URL is required.");
|
||||||
}
|
}
|
||||||
|
|
||||||
const include = parseInclude(opts.include);
|
const include = parseInclude(opts.include);
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ Route registration lives in `server/src/app.ts` via `companyRoutes(db, storage)`
|
||||||
|
|
||||||
| File | Commands |
|
| File | Commands |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `cli/src/commands/client/company.ts` | `company export` — exports a company package to disk (flags: `--out`, `--include`, `--projects`, `--issues`, `--projectIssues`).<br>`company import` — imports a company package from a file or folder (flags: `--from`, `--include`, `--target`, `--companyId`, `--newCompanyName`, `--agents`, `--collision`, `--dryRun`).<br>Reads/writes portable file entries and handles `.paperclip.yaml` filtering. |
|
| `cli/src/commands/client/company.ts` | `company export` — exports a company package to disk (flags: `--out`, `--include`, `--projects`, `--issues`, `--projectIssues`).<br>`company import <fromPathOrUrl>` — imports a company package from a file or folder (flags: positional source path/URL, `--include`, `--target`, `--companyId`, `--newCompanyName`, `--agents`, `--collision`, `--dryRun`).<br>Reads/writes portable file entries and handles `.paperclip.yaml` filtering. |
|
||||||
|
|
||||||
## 7. UI — Pages
|
## 7. UI — Pages
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -484,8 +484,8 @@ The CLI should continue to support direct import/export without a registry.
|
||||||
Target commands:
|
Target commands:
|
||||||
|
|
||||||
- `paperclipai company export <company-id> --out <path>`
|
- `paperclipai company export <company-id> --out <path>`
|
||||||
- `paperclipai company import --from <path-or-url> --dry-run`
|
- `paperclipai company import <path-or-url> --dry-run`
|
||||||
- `paperclipai company import --from <path-or-url> --target existing -C <company-id>`
|
- `paperclipai company import <path-or-url> --target existing -C <company-id>`
|
||||||
|
|
||||||
Planned additions:
|
Planned additions:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ pnpm paperclipai company export <company-id> --out ./exports/acme --include comp
|
||||||
|
|
||||||
# Preview import (no writes)
|
# Preview import (no writes)
|
||||||
pnpm paperclipai company import \
|
pnpm paperclipai company import \
|
||||||
--from https://github.com/<owner>/<repo>/tree/main/<path> \
|
https://github.com/<owner>/<repo>/tree/main/<path> \
|
||||||
--target existing \
|
--target existing \
|
||||||
--company-id <company-id> \
|
--company-id <company-id> \
|
||||||
--collision rename \
|
--collision rename \
|
||||||
|
|
@ -49,7 +49,7 @@ pnpm paperclipai company import \
|
||||||
|
|
||||||
# Apply import
|
# Apply import
|
||||||
pnpm paperclipai company import \
|
pnpm paperclipai company import \
|
||||||
--from ./exports/acme \
|
./exports/acme \
|
||||||
--target new \
|
--target new \
|
||||||
--new-company-name "Acme Imported" \
|
--new-company-name "Acme Imported" \
|
||||||
--include company,agents
|
--include company,agents
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue