diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index efda47c7..7bb276eb 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -25,7 +25,6 @@
-
diff --git a/app/build.gradle b/app/build.gradle
index 4db4c74d..e6cbc668 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -83,8 +83,6 @@ dependencies {
implementation project(':shared:ui')
- implementation project(':shared:icon')
-
// Hilt (DI)
implementation libs.com.google.dagger.hilt.android
annotationProcessor libs.com.google.dagger.hilt.compiler
diff --git a/data/src/main/java/one/nem/lacerta/data/impl/DocumentImpl.java b/data/src/main/java/one/nem/lacerta/data/impl/DocumentImpl.java
index 69c98bc1..0cccce30 100644
--- a/data/src/main/java/one/nem/lacerta/data/impl/DocumentImpl.java
+++ b/data/src/main/java/one/nem/lacerta/data/impl/DocumentImpl.java
@@ -2,32 +2,27 @@ package one.nem.lacerta.data.impl;
import java.util.ArrayList;
import java.util.Date;
-import java.util.List;
import java.util.UUID;
+// Hilt
import javax.inject.Inject;
+// Lacerta/data
import one.nem.lacerta.data.Document;
+// Lacerta/model
import one.nem.lacerta.model.PublicPath;
import one.nem.lacerta.model.document.DocumentMeta;
import one.nem.lacerta.model.document.DocumentDetail;
-import one.nem.lacerta.model.document.path.DocumentPath;
-import one.nem.lacerta.model.document.tag.DocumentTag;
+// Lacerta/source
import one.nem.lacerta.source.database.LacertaDatabase;
-
import one.nem.lacerta.source.database.entity.DocumentEntity;
-import one.nem.lacerta.source.database.entity.LibraryEntity;
-import one.nem.lacerta.source.database.entity.TagEntity;
-import one.nem.lacerta.source.database.entity.VcsLogEntity;
-import one.nem.lacerta.vcs.ActionType;
-import one.nem.lacerta.source.file.factory.FileManagerFactory;
-import one.nem.lacerta.source.jgit.JGitRepository;
+// Lacerta/utils
import one.nem.lacerta.utils.LacertaLogger;
-import one.nem.lacerta.utils.XmlMetaParser;
-import one.nem.lacerta.utils.repository.DeviceInfoUtils;
+
+// Lacerta/vcs
import one.nem.lacerta.vcs.LacertaVcs;
diff --git a/feature/debug/src/main/AndroidManifest.xml b/feature/debug/src/main/AndroidManifest.xml
index 4ae26da0..a5918e68 100644
--- a/feature/debug/src/main/AndroidManifest.xml
+++ b/feature/debug/src/main/AndroidManifest.xml
@@ -1,10 +1,4 @@
-
-
-
-
\ No newline at end of file
diff --git a/processor/src/main/java/one/nem/lacerta/processor/impl/DocumentProcessorImpl.java b/processor/src/main/java/one/nem/lacerta/processor/impl/DocumentProcessorImpl.java
index 684a71af..90cc7cf7 100644
--- a/processor/src/main/java/one/nem/lacerta/processor/impl/DocumentProcessorImpl.java
+++ b/processor/src/main/java/one/nem/lacerta/processor/impl/DocumentProcessorImpl.java
@@ -3,27 +3,30 @@ package one.nem.lacerta.processor.impl;
import android.graphics.Bitmap;
import java.nio.file.Path;
-import java.util.ArrayList;
import java.util.UUID;
+// Hilt
import dagger.assisted.Assisted;
import dagger.assisted.AssistedInject;
-import one.nem.lacerta.model.document.internal.XmlMetaPageModel;
-import one.nem.lacerta.processor.DocumentProcessor;
+// Lacerta/model
import one.nem.lacerta.model.document.DocumentDetail;
-
import one.nem.lacerta.model.document.internal.XmlMetaModel;
-
import one.nem.lacerta.model.document.page.Page;
+// Lacerta/processor
+import one.nem.lacerta.processor.DocumentProcessor;
+
+// Lacerta/source
import one.nem.lacerta.source.file.FileManager;
import one.nem.lacerta.source.file.factory.FileManagerFactory;
+// Lacerta/utils
import one.nem.lacerta.utils.LacertaLogger;
-
import one.nem.lacerta.utils.XmlMetaParser;
import one.nem.lacerta.utils.repository.DeviceInfoUtils;
+
+// Lacerta/vcs
import one.nem.lacerta.vcs.LacertaVcs;
import one.nem.lacerta.vcs.factory.LacertaVcsFactory;
diff --git a/settings.gradle b/settings.gradle
index f5dea772..0cc88262 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -30,5 +30,4 @@ include ':source'
include ':model'
include ':processor'
include ':shared:ui'
-include ':shared:icon'
include ':vcs'
diff --git a/source/src/main/java/one/nem/lacerta/source/jgit/ActionRepo.java b/source/src/main/java/one/nem/lacerta/source/jgit/ActionRepo.java
deleted file mode 100644
index 6bb6f830..00000000
--- a/source/src/main/java/one/nem/lacerta/source/jgit/ActionRepo.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package one.nem.lacerta.source.jgit;
-
-import org.eclipse.jgit.lib.Repository;
-
-public interface ActionRepo {
-
- // リポジトリをインスタンス変数に格納
- void setRepository(Repository repository);
-
- // リポジトリ取得
- Repository getRepository();
-
- // リポジトリ名取得
- String getRepositoryName();
-
- // ステージングされていないファイルの一覧を取得
- String[] getUnstagedFiles();
-
- // ステージングされているファイルの一覧を取得
- String[] getStagedFiles();
-
- // ファイルをステージング
- void stageFile(String path);
-
- // ファイルをアンステージング
- void unstageFile(String path);
-
- // ステージングされているファイルをコミット
- void commit(String message);
-
-}
diff --git a/source/src/main/java/one/nem/lacerta/source/jgit/JGitRepository.java b/source/src/main/java/one/nem/lacerta/source/jgit/JGitRepository.java
deleted file mode 100644
index 09d04f17..00000000
--- a/source/src/main/java/one/nem/lacerta/source/jgit/JGitRepository.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package one.nem.lacerta.source.jgit;
-
-import org.eclipse.jgit.lib.Repository;
-
-public interface JGitRepository {
-
- // リポジトリ取得
- Repository getRepository(String id);
- // リポジトリ作成
- Repository createRepository(String id);
- // リポジトリ削除
- void deleteRepository(String id);
- // リポジトリ存在確認
- boolean repositoryExists(String id);
-
-
-}
diff --git a/source/src/main/java/one/nem/lacerta/source/jgit/impl/ActionRepoImpl.java b/source/src/main/java/one/nem/lacerta/source/jgit/impl/ActionRepoImpl.java
deleted file mode 100644
index ac94b96f..00000000
--- a/source/src/main/java/one/nem/lacerta/source/jgit/impl/ActionRepoImpl.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package one.nem.lacerta.source.jgit.impl;
-
-import org.eclipse.jgit.api.Git;
-import org.eclipse.jgit.lib.Repository;
-
-import javax.inject.Inject;
-
-import one.nem.lacerta.source.jgit.ActionRepo;
-import one.nem.lacerta.utils.LacertaLogger;
-
-public class ActionRepoImpl implements ActionRepo{
-
- @Inject // Inject logger
- LacertaLogger logger;
-
- private final String TAG = "ActionRepoImpl";
-
- Repository repository;
-
- Git git;
-
- // Internal method
- private Git getGit() {
- if (this.git == null) {
- logger.debug(TAG, "getGit: git is null. Creating new Git instance");
- this.git = new Git(repository);
- }
- return this.git;
- }
-
- @Override
- public void setRepository(Repository repository) {
- this.repository = repository;
- }
-
- @Override
- public Repository getRepository() {
- if (repository == null) {
- logger.warn(TAG, "getRepository: repository is null. Throwing RuntimeException");
- throw new RuntimeException("リポジトリが設定されていません");
- }
- return repository;
- }
-
- @Override
- public String getRepositoryName() {
- return repository.getDirectory().getParentFile().getName();
- }
-
- @Override
- public String[] getUnstagedFiles() {
- Git git = getGit();
- try {
- return git.status().call().getUntracked().toArray(new String[0]);
- } catch (Exception e) { // TODO-rca: エラーハンドリング
- logger.error(TAG, "getUnstagedFiles: " + e.getMessage());
- return new String[0];
- }
- }
-
- @Override
- public String[] getStagedFiles() {
- Git git = getGit();
- try {
- return git.status().call().getAdded().toArray(new String[0]);
- } catch (Exception e) { // TODO-rca: エラーハンドリング
- logger.error(TAG, "getStagedFiles: " + e.getMessage());
- return new String[0];
- }
- }
-
- @Override
- public void stageFile(String path) {
- Git git = getGit();
- try {
- git.add().addFilepattern(path).call();
- } catch (Exception e) { // TODO-rca: エラーハンドリング
- logger.error(TAG, "stageFile: " + e.getMessage());
- }
- }
-
- @Override
- public void unstageFile(String path) {
- Git git = getGit();
- try {
- git.reset().addPath(path).call();
- } catch (Exception e) { // TODO-rca: エラーハンドリング
- logger.error(TAG, "unstageFile: " + e.getMessage());
- }
- }
-
- @Override
- public void commit(String message) {
- Git git = getGit();
- try {
- git.commit().setMessage(message).call();
- } catch (Exception e) { // TODO-rca: エラーハンドリング
- logger.error(TAG, "commit: " + e.getMessage());
- }
- }
-}
diff --git a/source/src/main/java/one/nem/lacerta/source/jgit/impl/JGitRepositoryImpl.java b/source/src/main/java/one/nem/lacerta/source/jgit/impl/JGitRepositoryImpl.java
deleted file mode 100644
index fabcb0bb..00000000
--- a/source/src/main/java/one/nem/lacerta/source/jgit/impl/JGitRepositoryImpl.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package one.nem.lacerta.source.jgit.impl;
-
-import one.nem.lacerta.source.jgit.JGitRepository;
-
-import javax.inject.Inject;
-
-import one.nem.lacerta.utils.repository.DeviceInfoUtils;
-
-import org.eclipse.jgit.lib.Repository;
-
-import org.eclipse.jgit.lib.RepositoryBuilder;
-
-public class JGitRepositoryImpl implements JGitRepository {
-
- private final DeviceInfoUtils deviceInfoUtils;
-
- @Inject
- public JGitRepositoryImpl(DeviceInfoUtils deviceInfoUtils) {
- this.deviceInfoUtils = deviceInfoUtils;
- }
-
- @Override
- public Repository getRepository(String id) {
- RepositoryBuilder repositoryBuilder = new RepositoryBuilder();
- repositoryBuilder.setGitDir(deviceInfoUtils.getExternalStorageDirectory().resolve(id).resolve(".git").toFile());
- repositoryBuilder.setMustExist(true);
- try {
- return repositoryBuilder.build();
- } catch (Exception e) {
- return null;
- }
- }
-
- @Override
- public Repository createRepository(String id) {
- RepositoryBuilder repositoryBuilder = new RepositoryBuilder();
- repositoryBuilder.setGitDir(deviceInfoUtils.getExternalStorageDirectory().resolve(id).resolve(".git").toFile());
- repositoryBuilder.setMustExist(false);
- try {
- return repositoryBuilder.build();
- } catch (Exception e) {
- return null;
- }
- }
-
- @Override
- public void deleteRepository(String id) {
- // TODO-rca: 未実装
- }
-
- @Override
- public boolean repositoryExists(String id) {
- return false; // TODO-rca: 未実装
- }
-}
diff --git a/source/src/main/java/one/nem/lacerta/source/jgit/impl/placeholder b/source/src/main/java/one/nem/lacerta/source/jgit/impl/placeholder
deleted file mode 100644
index e69de29b..00000000
diff --git a/source/src/main/java/one/nem/lacerta/source/jgit/module/JGitRepositoryModule.java b/source/src/main/java/one/nem/lacerta/source/jgit/module/JGitRepositoryModule.java
deleted file mode 100644
index 4c9b8fde..00000000
--- a/source/src/main/java/one/nem/lacerta/source/jgit/module/JGitRepositoryModule.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package one.nem.lacerta.source.jgit.module;
-
-import dagger.Binds;
-import dagger.Module;
-import dagger.hilt.InstallIn;
-import dagger.hilt.components.SingletonComponent;
-import one.nem.lacerta.source.jgit.JGitRepository;
-
-@Module
-@InstallIn(SingletonComponent.class)
-abstract public class JGitRepositoryModule {
-
- @Binds
- public abstract JGitRepository bindManageRepo(one.nem.lacerta.source.jgit.impl.JGitRepositoryImpl manageRepoImpl);
-}
diff --git a/source/src/main/java/one/nem/lacerta/source/jgit/module/placeholder b/source/src/main/java/one/nem/lacerta/source/jgit/module/placeholder
deleted file mode 100644
index e69de29b..00000000