summaryrefslogtreecommitdiff
path: root/Omni
diff options
context:
space:
mode:
authorBen Sima <ben@bensima.com>2025-11-26 08:00:48 -0500
committerBen Sima <ben@bensima.com>2025-11-26 08:00:48 -0500
commit852697390bff12101f87602da16797d893d4f962 (patch)
tree70ff6a296e9f65479259334a7264a0efb5ac5a10 /Omni
parent60c97ba9fac9eb9298b1b448ed5494765a33be39 (diff)
Remove task sync command and git-tracked tasks
Tasks are now stored in SQLite at ~/.cache/omni/tasks/tasks.db. No need to sync to git anymore. Deleted 51 test cruft tasks.
Diffstat (limited to 'Omni')
-rw-r--r--Omni/Task.hs26
-rw-r--r--Omni/Task/README.md1
2 files changed, 0 insertions, 27 deletions
diff --git a/Omni/Task.hs b/Omni/Task.hs
index 7ad0548..74e1e8a 100644
--- a/Omni/Task.hs
+++ b/Omni/Task.hs
@@ -21,7 +21,6 @@ import qualified Omni.Test as Test
import qualified System.Console.Docopt as Docopt
import System.Directory (doesFileExist, removeFile)
import System.Environment (setEnv)
-import System.Process (readProcess)
import qualified Test.Tasty as Tasty
import Prelude (read)
@@ -56,7 +55,6 @@ Usage:
task stats [--epic=<id>] [--json]
task export [-o <file>]
task import -i <file>
- task sync
task test
task (-h | --help)
@@ -74,7 +72,6 @@ Commands:
stats Show task statistics
export Export tasks to JSONL
import Import tasks from JSONL file
- sync Export and commit task changes locally
test Run tests
Options:
@@ -377,7 +374,6 @@ move' args
Just f -> pure (T.pack f)
importTasks (T.unpack file)
putText <| "Imported tasks from " <> file
- | args `Cli.has` Cli.command "sync" = syncTasks
| otherwise = putText (T.pack <| Cli.usage help)
where
getArgText :: Cli.Arguments -> String -> IO Text
@@ -387,23 +383,6 @@ move' args
Nothing -> panic (T.pack name <> " required")
Just val -> pure (T.pack val)
-syncTasks :: IO ()
-syncTasks = do
- let jsonlPath = ".tasks/tasks.jsonl"
- exportTasks (Just jsonlPath)
- hasChanges <- checkGitChanges jsonlPath
- if hasChanges
- then do
- _ <- readProcess "git" ["add", jsonlPath] ""
- _ <- readProcess "git" ["commit", "-m", "task: sync task database"] ""
- putText "Task changes committed locally."
- else putText "No task changes to sync."
- where
- checkGitChanges :: FilePath -> IO Bool
- checkGitChanges path = do
- status <- readProcess "git" ["status", "--porcelain", path] ""
- pure (not (null status))
-
test :: Test.Tree
test =
Test.group
@@ -815,11 +794,6 @@ cliTests =
Right args -> do
args `Cli.has` Cli.command "stats" Test.@?= True
Cli.getArg args (Cli.longOption "epic") Test.@?= Just "t-abc123",
- Test.unit "sync command" <| do
- let result = Docopt.parseArgs help ["sync"]
- case result of
- Left err -> Test.assertFailure <| "Failed to parse 'sync': " <> show err
- Right args -> args `Cli.has` Cli.command "sync" Test.@?= True,
Test.unit "create with flags in different order" <| do
let result = Docopt.parseArgs help ["create", "Test", "--json", "--priority=1", "--namespace=Omni/Task"]
case result of
diff --git a/Omni/Task/README.md b/Omni/Task/README.md
index d52efba..21cf889 100644
--- a/Omni/Task/README.md
+++ b/Omni/Task/README.md
@@ -405,7 +405,6 @@ Remember these non-negotiable rules:
- ✅ File bugs IMMEDIATELY when you discover unexpected behavior
- ✅ Check `task ready --json` before asking "what should I work on?"
- ✅ Store AI planning docs in `_/llm` directory
-- ✅ Run `task sync` at end of every session (commits locally, does NOT push)
- ❌ NEVER use `todo_write` tool
- ❌ NEVER create markdown TODO lists or task checklists
- ❌ NEVER put TODOs or FIXMEs in code comments